diff --git a/module/datatable/control.php b/module/datatable/control.php index 38ffc8c723..1ed9687533 100644 --- a/module/datatable/control.php +++ b/module/datatable/control.php @@ -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) { diff --git a/module/datatable/model.php b/module/datatable/model.php index eb2879cb2d..fe5b3dfafe 100644 --- a/module/datatable/model.php +++ b/module/datatable/model.php @@ -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. *