* Code for dtable.

This commit is contained in:
sunguangming
2023-06-13 14:36:04 +08:00
parent ef41f3bb33
commit e93db7764e
2 changed files with 49 additions and 32 deletions
+1
View File
@@ -81,6 +81,7 @@ class datatable extends control
$rawModule = zget($this->config->datatable->moduleAlias, "$module-$method", $module);
$fieldList = $this->datatable->getFieldList($rawModule);
$fieldList = $this->datatable->formatFields($fieldList, false);
$fields = json_decode($this->post->fields);
foreach($fields as $index => $field)
{
+48 -32
View File
@@ -87,38 +87,7 @@ class datatableModel extends model
$fieldList = $this->getFieldList($module);
if(empty($setting))
{
$order = 1;
foreach($fieldList as $key => $value)
{
if(empty($value['required']) && empty($value['show'])) continue;
$set = array();
$set['order'] = $order++;
$set['id'] = $key;
$set['show'] = true;
$set['width'] = $value['width'];
$set['type'] = $value['type'];
$set['fixed'] = isset($value['fixed']) ? $value['fixed'] : '';
$set['title'] = isset($value['title']) ? $value['title'] : $this->lang->$module->{$key};
$set['name'] = isset($value['name']) ? $value['name'] : $key;
$set['sortType'] = isset($value['sortType']) ? $value['sortType'] : false;
$set['group'] = isset($value['group']) ? $value['group'] : '';
$set['link'] = isset($value['link']) ? $value['link'] : '';
if(isset($value['minWidth'])) $set['minWidth'] = $value['minWidth'];
if(isset($value['maxWidth'])) $set['maxWidth'] = $value['maxWidth'];
if(isset($value['pri'])) $set['pri'] = $value['pri'];
if(isset($value['statusMap'])) $set['statusMap'] = $value['statusMap'];
if(isset($value['actionsMap'])) $set['actionsMap'] = $value['actionsMap'];
if(isset($value['checkbox'])) $set['checkbox'] = $value['checkbox'];
if(isset($value['map'])) $set['map'] = $value['map'];
if(isset($value['flex'])) $set['flex'] = $value['flex'];
if(isset($value['nestedToggle'])) $set['nestedToggle'] = $value['nestedToggle'];
if(isset($value['list'])) $set['list'] = $value['list'];
if(isset($value['menu'])) $set['menu'] = $value['menu'];
$setting[$key] = $set;
}
$setting = $this->formatFields($fieldList);
}
else
{
@@ -155,6 +124,53 @@ class datatableModel extends model
return $setting;
}
/**
* Format fields by config.
*
* @param array $fieldList
* @param bool $onlyshow
* @access public
* @return void
*/
public function formatFields($fieldList, $onlyshow = true)
{
$setting = array();
$order = 1;
foreach($fieldList as $key => $value)
{
if(empty($value['required']) && empty($value['show']) && $onlyshow) continue;
$set = array();
$set['order'] = $order++;
$set['id'] = $key;
$set['show'] = true;
$set['width'] = $value['width'];
$set['type'] = $value['type'];
$set['fixed'] = isset($value['fixed']) ? $value['fixed'] : '';
$set['title'] = isset($value['title']) ? $value['title'] : $this->lang->$module->{$key};
$set['name'] = isset($value['name']) ? $value['name'] : $key;
$set['sortType'] = isset($value['sortType']) ? $value['sortType'] : false;
$set['group'] = isset($value['group']) ? $value['group'] : '';
$set['link'] = isset($value['link']) ? $value['link'] : '';
if(isset($value['minWidth'])) $set['minWidth'] = $value['minWidth'];
if(isset($value['maxWidth'])) $set['maxWidth'] = $value['maxWidth'];
if(isset($value['pri'])) $set['pri'] = $value['pri'];
if(isset($value['statusMap'])) $set['statusMap'] = $value['statusMap'];
if(isset($value['actionsMap'])) $set['actionsMap'] = $value['actionsMap'];
if(isset($value['checkbox'])) $set['checkbox'] = $value['checkbox'];
if(isset($value['map'])) $set['map'] = $value['map'];
if(isset($value['flex'])) $set['flex'] = $value['flex'];
if(isset($value['nestedToggle'])) $set['nestedToggle'] = $value['nestedToggle'];
if(isset($value['list'])) $set['list'] = $value['list'];
if(isset($value['menu'])) $set['menu'] = $value['menu'];
$setting[$key] = $set;
}
return $setting;
}
/**
* Sort cols.
*