params) && $this->params['data']) { foreach ($this->params['data'] as &$item) { $item = [ 'name' => $item, 'id' => $item ]; } unset($item); } } protected function mapOptions(array $options): array { $wildcard_allowed = false; if (array_key_exists('wildcard_allowed', $options) && $options['wildcard_allowed']) { $wildcard_allowed = true; unset($options['wildcard_allowed']); } $options = parent::mapOptions($options); $options['popup']['parameters']['patternselect'] = '1'; if ($wildcard_allowed) { $options['objectOptions']['wildcard_allowed'] = true; } return $options; } public function setEnabled($enabled) { $this->params['disabled'] = !$enabled; $this->setAttribute('aria-disabled', $enabled ? null : 'true'); return $this; } public function toString($destroy = true) { $this->setAttribute('data-params', $this->params); return parent::toString($destroy); } }