controller->user->user_id;
$cols = $this->app->setConf('view.'.$this->object_name.'.'.$finder_aliasname,implode(',',$_POST['col']));
if($_POST['allcol']){
$this->app->setConf('listorder.'.$this->object_name.'.'.$finder_aliasname,implode(',',$_POST['allcol']));
}
header('Content-Type:text/jcmd; charset=utf-8');
echo '{success:"'.app::get('desktop')->_('设置成功').'"}';
}else{
$in_use = array_flip($this->getColumns());
$all_columns = $this->all_columns();
$listorder = explode(',',$this->app->getConf('listorder.'.$this->object_name.'.'.$finder_aliasname.'.'.$this->controller->user->user_id));
if($listorder){
$ordered_columns = array();
foreach($listorder as $col){
if(isset($all_columns[$col])){
$ordered_columns[$col] = $all_columns[$col];
unset($all_columns[$col]);
}
}
$all_columns = array_merge((array)$ordered_columns,(array)$all_columns);
$ordered_columns = null;
}
$domid = $this->ui->new_dom_id();
$html = '
';
$html .= '
';
$html .= '
';
$html.=<<
(function(){
var scrollAuto = new Scroller($('{$domid}').getContainer());
var draggedElement = null;
// 提交表单函数
window.submitForm = function() {
var checkedBoxes = $('{$domid}').getElements('.column-checkbox').filter(function(checkbox) {
return checkbox.checked;
});
if (checkedBoxes.length === 0) {
MessageBox.error('请至少选择一个列!');
return false;
}
// 验证通过,使用fireEvent提交表单
$('{$domid}').fireEvent('submit', {stop: function(){}});
};
// 全选功能
$('select-all').addEvent('change', function() {
var isChecked = this.checked;
$('{$domid}').getElements('.column-checkbox').each(function(checkbox) {
checkbox.checked = isChecked;
});
});
// 单个复选框变化时更新全选状态
$('{$domid}').addEvent('change', function(e) {
if (e.target.hasClass('column-checkbox')) {
var allCheckboxes = $('{$domid}').getElements('.column-checkbox');
var checkedCount = allCheckboxes.filter(function(checkbox) {
return checkbox.checked;
}).length;
var selectAllCheckbox = $('select-all');
if (checkedCount === 0) {
selectAllCheckbox.checked = false;
selectAllCheckbox.indeterminate = false;
} else if (checkedCount === allCheckboxes.length) {
selectAllCheckbox.checked = true;
selectAllCheckbox.indeterminate = false;
} else {
selectAllCheckbox.checked = false;
selectAllCheckbox.indeterminate = true;
}
}
});
new Sortables($('{$domid}'),{
clone: false,
opacity: .5,
handle: '.move-handler',
onStart: function(element){
$('{$domid}').addClass('move-active');
scrollAuto.start();
draggedElement = element;
},
onComplete: function(){
scrollAuto.stop();
$('{$domid}').removeClass('move-active');
// 只高亮被拖动的元素
if (draggedElement) {
var span = draggedElement.getElement('span');
if (span) {
span.setStyle('background', '#ff6b6b');
span.setStyle('color', 'white');
span.setStyle('font-weight', 'bold');
}
draggedElement = null;
}
}
});
$('{$domid}').store('target',{onComplete:function(){
$('{$domid}').getParent('.dialog').retrieve('instance').close();
window.finderGroup['{$finder_id}'].refresh();
}});
})();
EOF;
echo $html;
}
}
}