setTitleField(field: ServerModel::TITLE); } private function getPartFormOption(string $field, array $viewDatas): array { $options = ["" => lang("{$viewDatas['class_path']}.label.{$field}") . " 선택"]; foreach ($viewDatas['control']['filter_optons'][$field] as $key => $entity) { $options[$key] = $entity->getTitle(); } // foreach ($viewDatas['control']['filter_optons'][$field] as $key => $entity) { // if (!array_key_exists($entity->getType(), $options)) { // $options[$entity->getType()] = []; // } // $options[$entity->getType()][$key] = $entity->getTitle(); // } return $options; } public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string { switch ($field) { case 'manufactur_at': case 'format_at': $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' calender' : 'calender'; $form = form_input($field, $value ?? "", $extras); break; case 'partinfo_uid': $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; $form = form_dropdown($field, $this->getPartFormOption($field, $viewDatas), $value, $extras); $form .= " 갯수 " . form_dropdown("{$field}_cnt", $viewDatas['partinfo_cnt_range'], $value ?? 1); $form .= " 옵션 " . form_dropdown("{$field}_extra", $viewDatas['partinfo_extra_options'], $value ?? 1); break; case 'ipinfo_uid': case 'csinfo_uid': $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; $form = $this->form_dropdown_disabled($field, $value, $viewDatas, $extras); break; default: $form = parent::getFieldForm($field, $value, $viewDatas, $extras); break; } return $form; } public function getListFilter(string $field, mixed $value, array $viewDatas, array $extras = []): string { switch ($field) { case 'cs_uid': case 'ipinfo_uid': $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; $form = parent::getListFilter($field, $value, $viewDatas, $extras); break; case 'partinfo_uid': $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; $form = form_dropdown($field, $this->getPartFormOption($field, $viewDatas), $value, $extras); break; default: $form = parent::getListFilter($field, $value, $viewDatas, $extras); break; } return $form; } }