setTitleField(field: ServiceItemModel::TITLE); } //ItemType에 따른 조건부 추가 Index Page public function getFieldFormByItemType(array $viewDatas): string { $form = ""; switch ($viewDatas['item_type']) { case 'DOMAIN': $form = ""; if (in_array($viewDatas['action'], ['create', 'create_form'])) { $form = form_label( '추가', 'domain_create_popup', [ "data-src" => '/admin/equipment/domain?', "data-bs-toggle" => "modal", "data-bs-target" => "#create_action_form", "class" => "btn btn-outline btn-primary btn-circle", "target" => "_self" ] ); } break; } return $form; } public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string { if (in_array($viewDatas['action'], ['create', 'modify'])) { $extras = (strpos($viewDatas['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras]; } switch ($field) { case 'item_uid': // echo $viewDatas['item_type'] . ':' . $viewDatas['action']; $form = parent::getFieldForm($field, $value, $viewDatas, $extras); $form .= $this->getFieldFormByItemType($viewDatas); break; default: $form = parent::getFieldForm($field, $value, $viewDatas, $extras); break; } return $form; } }