| | |
| | | { |
| | | foreach ($fields as $name => $config) { |
| | | $this->fields[$name] = match ($config['type']) { |
| | | 'upload', 'image', 'gallery' => new Upload($name, $config), |
| | | 'upload', 'image', 'gallery' => new UploadField($name, $config), |
| | | 'checkbox', 'radio', 'select', 'set' => new OptionsField($name, $config), |
| | | 'repeater', 'group', 'tagList' => new GroupedField($name, $config), |
| | | 'selector', 'taxonomy', 'user', 'post' => new TaxonomyField($name, $config), |
| | | 'repeater' => new RepeaterField($name, $config), |
| | | 'tagList' => new TagListField($name, $config), |
| | | 'group' => new GroupedField($name, $config), |
| | | 'selector', 'taxonomy', 'user', 'post' => new SelectorField($name, $config), |
| | | default => new Field($name, $config), |
| | | }; |
| | | } |
| | | } |
| | | public function getFields():array |
| | | { |
| | | return $this->fields; |
| | | } |
| | | } |