/** * Handle the command. * * @param Container $container */ public function handle(Container $container) { $handler = array_get($this->fieldType->getConfig(), 'handler'); if (!class_exists($handler) && !str_contains($handler, '@')) { $handler = array_get($this->fieldType->getHandlers(), $handler); } if (is_string($handler) && !str_contains($handler, '@')) { $handler .= '@handle'; } $container->call($handler, ['fieldType' => $this->fieldType]); }
/** * Handle the select options. * * @param SelectFieldType $fieldType * @return array */ public function handle(SelectFieldType $fieldType) { $options = array_get($fieldType->getConfig(), 'options', []); if (is_string($options)) { $options = $this->dispatch(new ParseOptions($options)); } return array_filter([null => $fieldType->getPlaceholder()] + $options); }
/** * Handle the select options. * * @param SelectFieldType $fieldType * @return array */ public function handle(SelectFieldType $fieldType, Container $container) { $options = array_get($fieldType->getConfig(), 'options', []); if (is_string($options)) { $options = $this->dispatch(new ParseOptions($options)); } if ($options instanceof \Closure) { $options = $container->call($options); } $fieldType->setOptions($options); }