| | |
| | | public string $name; |
| | | public string $label; |
| | | public string $type; |
| | | public string $hint; |
| | | public bool $required; |
| | | public string|Closure|bool $permission; |
| | | protected array $options; |
| | | protected mixed $default; |
| | | protected string $subtype; |
| | | protected bool $hidden = false; |
| | | |
| | | public function __construct(string $name, string $label, string $type, callable|string|bool $permission) |
| | | { |
| | |
| | | { |
| | | $this->options = $options; |
| | | } |
| | | public function setDefault(mixed $default):void |
| | | { |
| | | $this->default = $default; |
| | | } |
| | | |
| | | public function setHint(string $hint):void |
| | | { |
| | | $this->hint = $hint; |
| | | } |
| | | public function setHidden(bool $hidden = true):void |
| | | { |
| | | $this->hidden = $hidden; |
| | | } |
| | | |
| | | public function setSubType(string $type):void |
| | | { |
| | | $this->subType = $type; |
| | | } |
| | | |
| | | public function getConfig():array |
| | | { |
| | |
| | | 'label' => $this->label, |
| | | 'type' => $this->type, |
| | | ]; |
| | | if ($this->required) { |
| | | if (isset($this->required)) { |
| | | $conf['required'] = true; |
| | | } |
| | | if ($this->options) { |
| | | if (isset($this->options)) { |
| | | $conf['options'] = $this->options; |
| | | } |
| | | if (isset($this->default)) { |
| | | $conf['default'] = $this->default; |
| | | } |
| | | if (isset($this->hint)) { |
| | | $conf['hint'] = $this->hint; |
| | | } |
| | | if (isset($this->subType)) { |
| | | $conf['subtype'] = $this->subType; |
| | | } |
| | | if ($this->hidden) { |
| | | $conf['hidden'] = true; |
| | | } |
| | | return $conf; |
| | | } |
| | | } |