diff --git a/search_api_autocomplete.libraries.yml b/search_api_autocomplete.libraries.yml index 7883d15..dcc3093 100644 --- a/search_api_autocomplete.libraries.yml +++ b/search_api_autocomplete.libraries.yml @@ -4,3 +4,5 @@ search_api_autocomplete: css: theme: css/search_api_autocomplete.css: {} + dependencies: + - core/drupal.autocomplete diff --git a/search_api_autocomplete.services.yml b/search_api_autocomplete.services.yml index f2b8d12..cee5413 100644 --- a/search_api_autocomplete.services.yml +++ b/search_api_autocomplete.services.yml @@ -1,7 +1,7 @@ services: plugin_manager.search_api_autocomplete_type: - class: \Drupal\search_api_autocomplete\Type\AutocompleteTypeManager + class: \Drupal\search_api_autocomplete\Type\TypeManager parent: default_plugin_manager plugin_manager.search_api_autocomplete_suggester: - class: \Drupal\search_api_autocomplete\Suggester\AutocompleteSuggesterManager + class: \Drupal\search_api_autocomplete\Suggester\SuggesterManager parent: default_plugin_manager diff --git a/src/Annotation/AutocompleteSuggester.php b/src/Annotation/SearchApiAutocompleteSuggester.php similarity index 57% rename from src/Annotation/AutocompleteSuggester.php rename to src/Annotation/SearchApiAutocompleteSuggester.php index 46ae084..bf2d88f 100644 --- a/src/Annotation/AutocompleteSuggester.php +++ b/src/Annotation/SearchApiAutocompleteSuggester.php @@ -8,8 +8,12 @@ use Drupal\Component\Annotation\Plugin; * Defines a autocomplete suggester plugin. * * @Annotation + * + * @see \Drupal\search_api_autocomplete\Suggester\SuggesterInterface + * @see \Drupal\search_api_autocomplete\Suggester\SuggesterManager + * @see \Drupal\search_api_autocomplete\Plugin\search_api_autocomplete\AutocompleteSuggester\SuggesterPluginBase */ -class AutocompleteSuggester extends Plugin { +class SearchApiAutocompleteSuggester extends Plugin { /** * The plugin label. diff --git a/src/Annotation/AutocompleteType.php b/src/Annotation/SearchapiAutocompleteType.php similarity index 70% rename from src/Annotation/AutocompleteType.php rename to src/Annotation/SearchapiAutocompleteType.php index f4aea6c..5002ab2 100644 --- a/src/Annotation/AutocompleteType.php +++ b/src/Annotation/SearchapiAutocompleteType.php @@ -8,8 +8,11 @@ use Drupal\Component\Annotation\Plugin; * Defines an autocompletion type. * * @Annotation + * + * @see \Drupal\search_api_autocomplete\Type\TypeInterface + * @see \Drupal\search_api_autocomplete\Type\TypeManager */ -class AutocompleteType extends Plugin { +class SearchapiAutocompleteType extends Plugin { /** * The plugin label. diff --git a/src/Entity/SearchApiAutocompleteSearch.php b/src/Entity/SearchApiAutocompleteSearch.php index de0feca..33da3f7 100644 --- a/src/Entity/SearchApiAutocompleteSearch.php +++ b/src/Entity/SearchApiAutocompleteSearch.php @@ -111,7 +111,7 @@ class SearchApiAutocompleteSearch extends ConfigEntityBase implements SearchApiA /** * The suggester plugin this search uses. * - * @var \Drupal\search_api_autocomplete\Suggester\AutocompleteSuggesterInterface + * @var \Drupal\search_api_autocomplete\Suggester\SuggesterInterface */ protected $suggester; @@ -339,7 +339,7 @@ class SearchApiAutocompleteSearch extends ConfigEntityBase implements SearchApiA /** * Returns the autocomplete instance for this autocomplete search. * - * @return \Drupal\search_api_autocomplete\Type\AutocompleteTypeInterface + * @return \Drupal\search_api_autocomplete\Type\TypeInterface */ protected function getTypeInstance() { return \Drupal::service('plugin_manager.search_api_autocomplete_type')->createInstance($this->getType()); diff --git a/src/Form/AutocompleteSearchAdminOverview.php b/src/Form/AutocompleteSearchAdminOverview.php index 1b4b707..8d8b07e 100644 --- a/src/Form/AutocompleteSearchAdminOverview.php +++ b/src/Form/AutocompleteSearchAdminOverview.php @@ -11,7 +11,7 @@ use Drupal\Core\Routing\RedirectDestinationInterface; use Drupal\Core\Url; use Drupal\search_api\IndexInterface; use Drupal\search_api_autocomplete\Entity\SearchApiAutocompleteSearch; -use Drupal\search_api_autocomplete\Type\AutocompleteTypeManager; +use Drupal\search_api_autocomplete\Type\TypeManager; use Symfony\Component\DependencyInjection\ContainerInterface; /** @@ -34,7 +34,7 @@ class AutocompleteSearchAdminOverview extends FormBase { /** * The autocomplete type manager. * - * @var \Drupal\search_api_autocomplete\Type\AutocompleteTypeManager + * @var \Drupal\search_api_autocomplete\Type\TypeManager */ protected $typeManager; @@ -57,14 +57,14 @@ class AutocompleteSearchAdminOverview extends FormBase { * * @param \Drupal\Component\Plugin\PluginManagerInterface $suggester_manager * The suggester manager. - * @param \Drupal\search_api_autocomplete\Type\AutocompleteTypeManager $autocomplete_type_manager + * @param \Drupal\search_api_autocomplete\Type\TypeManager $autocomplete_type_manager * The autocomplete type manager. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity type manager. * @param \Drupal\Core\Routing\RedirectDestinationInterface $redirect_destination * The redirect destination. */ - public function __construct(PluginManagerInterface $suggester_manager, AutocompleteTypeManager $autocomplete_type_manager, EntityTypeManagerInterface $entity_type_manager, RedirectDestinationInterface $redirect_destination) { + public function __construct(PluginManagerInterface $suggester_manager, TypeManager $autocomplete_type_manager, EntityTypeManagerInterface $entity_type_manager, RedirectDestinationInterface $redirect_destination) { $this->suggesterManager = $suggester_manager; $this->typeManager = $autocomplete_type_manager; $this->entityTypeManager = $entity_type_manager; @@ -166,7 +166,7 @@ class AutocompleteSearchAdminOverview extends FormBase { return $this->typeManager->createInstance($definition['id']); }, $this->typeManager->getDefinitions()); $searches = $this->loadAutocompleteSearchByIndex($index_id); - /** @var \Drupal\search_api_autocomplete\Type\AutocompleteTypeInterface $autocomplete_type */ + /** @var \Drupal\search_api_autocomplete\Type\TypeInterface $autocomplete_type */ $searches_by_type = []; $unavailables_by_type = []; foreach ($types as $type => $autocomplete_type) { @@ -202,7 +202,7 @@ class AutocompleteSearchAdminOverview extends FormBase { $searches_by_type[$type][$id] = $search; $unavailables_by_type[$type][$id] = TRUE; } - /** @var \Drupal\search_api_autocomplete\Type\AutocompleteTypeInterface $autocomplete_type */ + /** @var \Drupal\search_api_autocomplete\Type\TypeInterface $autocomplete_type */ foreach ($types as $type => $autocomplete_type) { if (empty($searches_by_type[$type])) { diff --git a/src/Form/AutocompleteSearchEditForm.php b/src/Form/AutocompleteSearchEditForm.php index 756e7ac..4a096f8 100644 --- a/src/Form/AutocompleteSearchEditForm.php +++ b/src/Form/AutocompleteSearchEditForm.php @@ -8,7 +8,7 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\PluginFormInterface; use Drupal\search_api\Form\SubFormState; use Drupal\search_api\IndexInterface; -use Drupal\search_api_autocomplete\Type\AutocompleteTypeManager; +use Drupal\search_api_autocomplete\Type\TypeManager; use Symfony\Component\DependencyInjection\ContainerInterface; /** @@ -35,7 +35,7 @@ class AutocompleteSearchEditForm extends EntityForm { /** * The autocomplete type manager. * - * @var \Drupal\search_api_autocomplete\Type\AutocompleteTypeManager + * @var \Drupal\search_api_autocomplete\Type\TypeManager */ protected $typeManager; @@ -44,10 +44,10 @@ class AutocompleteSearchEditForm extends EntityForm { * * @param \Drupal\Component\Plugin\PluginManagerInterface $suggester_manager * The suggester manager. - * @param \Drupal\search_api_autocomplete\Type\AutocompleteTypeManager $autocomplete_type_manager + * @param \Drupal\search_api_autocomplete\Type\TypeManager $autocomplete_type_manager * The autocomplete type manager. */ - public function __construct(PluginManagerInterface $suggester_manager, AutocompleteTypeManager $autocomplete_type_manager) { + public function __construct(PluginManagerInterface $suggester_manager, TypeManager $autocomplete_type_manager) { $this->suggesterManager = $suggester_manager; $this->typeManager = $autocomplete_type_manager; } @@ -97,7 +97,7 @@ class AutocompleteSearchEditForm extends EntityForm { } } - /** @var \Drupal\search_api_autocomplete\Type\AutocompleteTypeInterface $type */ + /** @var \Drupal\search_api_autocomplete\Type\TypeInterface $type */ $type = $this->typeManager->createInstance($search->getType()); $form_state->set(['type'], $type); if (!$type) { @@ -247,7 +247,7 @@ class AutocompleteSearchEditForm extends EntityForm { $suggester->validateConfigurationForm($suggester_form, $suggester_form_state); } - /** @var \Drupal\search_api_autocomplete\Type\AutocompleteTypeInterface $type */ + /** @var \Drupal\search_api_autocomplete\Type\TypeInterface $type */ $type = $form_state->get('type'); if ($type instanceof PluginFormInterface) { $custom_form = empty($form['options']['custom']) ? [] : $form['options']['custom']; diff --git a/src/Plugin/search_api_autocomplete/AutocompleteType/Page.php b/src/Plugin/search_api_autocomplete/AutocompleteType/Page.php index f88d260..80d394f 100644 --- a/src/Plugin/search_api_autocomplete/AutocompleteType/Page.php +++ b/src/Plugin/search_api_autocomplete/AutocompleteType/Page.php @@ -1,6 +1,6 @@ Search pages module."), * provider = "search_api_page", * ) */ -class Page extends PluginBase implements AutocompleteTypeInterface, ContainerFactoryPluginInterface { +class Page extends PluginBase implements TypeInterface, ContainerFactoryPluginInterface { /** * The entity type manager. diff --git a/src/Plugin/search_api_autocomplete/AutocompleteType/Views.php b/src/Plugin/search_api_autocomplete/AutocompleteType/Views.php index 81e4edc..a42feb4 100644 --- a/src/Plugin/search_api_autocomplete/AutocompleteType/Views.php +++ b/src/Plugin/search_api_autocomplete/AutocompleteType/Views.php @@ -9,12 +9,12 @@ use Drupal\Core\Plugin\PluginFormInterface; use Drupal\Core\Url; use Drupal\search_api\IndexInterface; use Drupal\search_api\SearchApiException; -use Drupal\search_api_autocomplete\Type\AutocompleteTypeInterface; +use Drupal\search_api_autocomplete\Type\TypeInterface; use Drupal\search_api_autocomplete\SearchApiAutocompleteSearchInterface; use Drupal\views\Views as ViewsViews; /** - * @AutocompleteType( + * @SearchapiAutocompleteType( * id = "views", * label = @Translation("Search views"), * description = @Translation("Searches provided by views"), @@ -22,7 +22,7 @@ use Drupal\views\Views as ViewsViews; * deriver = "Drupal\search_api_autocomplete\Plugin\Derivative\ViewsAutocompleteType" * ) */ -class Views extends PluginBase implements AutocompleteTypeInterface, ConfigurablePluginInterface, PluginFormInterface { +class Views extends PluginBase implements TypeInterface, ConfigurablePluginInterface, PluginFormInterface { /** * {@inheritdoc} diff --git a/src/Plugin/search_api_autocomplete/AutocompleteSuggester/Server.php b/src/Plugin/search_api_autocomplete/suggester/Server.php similarity index 91% rename from src/Plugin/search_api_autocomplete/AutocompleteSuggester/Server.php rename to src/Plugin/search_api_autocomplete/suggester/Server.php index 7510561..ab4f884 100644 --- a/src/Plugin/search_api_autocomplete/AutocompleteSuggester/Server.php +++ b/src/Plugin/search_api_autocomplete/suggester/Server.php @@ -1,12 +1,13 @@ setCacheBackend($cache_backend, 'search_api_autocomplete_suggester'); $this->alterInfo('search_api_autocomplete_suggester'); diff --git a/src/Suggester/SuggesterPluginBase.php b/src/Suggester/SuggesterPluginBase.php index 44a188a..25d9c35 100644 --- a/src/Suggester/SuggesterPluginBase.php +++ b/src/Suggester/SuggesterPluginBase.php @@ -6,13 +6,17 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\PluginBase; use Drupal\search_api\IndexInterface; use Drupal\search_api\Plugin\ConfigurablePluginInterface; -use Drupal\search_api_autocomplete\Suggester\AutocompleteSuggesterInterface; +use Drupal\search_api_autocomplete\Suggester\SuggesterInterface; use Drupal\search_api_autocomplete\SearchApiAutocompleteSearchInterface; /** * Provides a base class for suggester plugins. + * + * @see \Drupal\search_api_autocomplete\Suggester\SuggesterInterface + * @see \Drupal\search_api_autocomplete\Suggester\SuggesterManager + * @see \Drupal\search_api_autocomplete\Annotation\SearchApiAutocompleteSuggester */ -abstract class SuggesterPluginBase extends PluginBase implements AutocompleteSuggesterInterface, ConfigurablePluginInterface { +abstract class SuggesterPluginBase extends PluginBase implements SuggesterInterface, ConfigurablePluginInterface { /** * The search this suggester is attached to. diff --git a/src/Type/AutocompleteTypeInterface.php b/src/Type/TypeInterface.php similarity index 81% rename from src/Type/AutocompleteTypeInterface.php rename to src/Type/TypeInterface.php index 3041e3e..0c2a610 100644 --- a/src/Type/AutocompleteTypeInterface.php +++ b/src/Type/TypeInterface.php @@ -7,8 +7,11 @@ use Drupal\search_api_autocomplete\SearchApiAutocompleteSearchInterface; /** * @todo + * + * @see \Drupal\search_api_autocomplete\Annotation\SearchapiAutocompleteType + * @see \Drupal\search_api_autocomplete\Type\TypeManager */ -interface AutocompleteTypeInterface { +interface TypeInterface { /** * diff --git a/src/Type/AutocompleteTypeManager.php b/src/Type/TypeManager.php similarity index 68% rename from src/Type/AutocompleteTypeManager.php rename to src/Type/TypeManager.php index fcbeab4..82e0329 100644 --- a/src/Type/AutocompleteTypeManager.php +++ b/src/Type/TypeManager.php @@ -5,13 +5,16 @@ namespace Drupal\search_api_autocomplete\Type; use Drupal\Core\Cache\CacheBackendInterface; use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Plugin\DefaultPluginManager; -use Drupal\search_api_autocomplete\Annotation\AutocompleteType; -use Drupal\search_api_autocomplete\Type\AutocompleteTypeInterface; +use Drupal\search_api_autocomplete\Annotation\SearchapiAutocompleteType; +use Drupal\search_api_autocomplete\Type\TypeInterface; /** * Provides a plugin manager for autocomplete type plugins. + * + * @see \Drupal\search_api_autocomplete\Annotation\SearchapiAutocompleteType + * @see \Drupal\search_api_autocomplete\Type\TypeInterface */ -class AutocompleteTypeManager extends DefaultPluginManager { +class TypeManager extends DefaultPluginManager { /** * Constructs a new AutocompleteTypeManagerr. @@ -25,7 +28,7 @@ class AutocompleteTypeManager extends DefaultPluginManager { * The module handler to invoke the alter hook with. */ public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) { - parent::__construct('Plugin/search_api_autocomplete/AutocompleteType', $namespaces, $module_handler, AutocompleteTypeInterface::class, AutocompleteType::class); + parent::__construct('Plugin/search_api_autocomplete/type', $namespaces, $module_handler, TypeInterface::class, SearchapiAutocompleteType::class); $this->setCacheBackend($cache_backend, 'search_api_autocomplete_type'); $this->alterInfo('search_api_autocomplete_type');