diff --git a/modules/core_search_facets/src/Plugin/facets/facet_source/CoreNodeSearchFacetSource.php b/modules/core_search_facets/src/Plugin/facets/facet_source/CoreNodeSearchFacetSource.php index c1e98c0..35d0baf 100644 --- a/modules/core_search_facets/src/Plugin/facets/facet_source/CoreNodeSearchFacetSource.php +++ b/modules/core_search_facets/src/Plugin/facets/facet_source/CoreNodeSearchFacetSource.php @@ -182,15 +182,8 @@ public function getQueryTypesForFacet(FacetInterface $facet) { */ protected function getQueryTypesForFieldType($field_type) { $query_types = []; + $query_types['string'] = 'core_node_search_string'; switch ($field_type) { - case 'type': - case 'uid': - case 'langcode': - case 'integer': - case 'entity_reference': - $query_types['string'] = 'core_node_search_string'; - break; - case 'created': case 'changed': $query_types['date'] = 'core_node_search_date'; diff --git a/src/Plugin/facets/query_type/SearchApiDate.php b/src/Plugin/facets/query_type/SearchApiDate.php index 21d64fd..64d9ecd 100644 --- a/src/Plugin/facets/query_type/SearchApiDate.php +++ b/src/Plugin/facets/query_type/SearchApiDate.php @@ -53,6 +53,22 @@ class SearchApiDate extends QueryTypeRangeBase { */ const FACETAPI_DATE_SECOND = 1; + /** + * {@inheritdoc} + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition) { + parent::__construct($configuration, $plugin_id, $plugin_definition); + $facet = $configuration['facet']; + $processors = $facet->getProcessors(); + $dateProcessorConfig = $processors['date_item']->getConfiguration(); + + $configuration = $this->getConfiguration(); + $configuration['granularity'] = $dateProcessorConfig['granularity']; + $configuration['display_relative'] = $dateProcessorConfig['display_relative']; + $configuration['date_display'] = $dateProcessorConfig['date_display']; + $this->setConfiguration($configuration); + } + /** * {@inheritdoc} */ diff --git a/src/QueryType/QueryTypePluginManager.php b/src/QueryType/QueryTypePluginManager.php index d37fbb4..4859c9d 100644 --- a/src/QueryType/QueryTypePluginManager.php +++ b/src/QueryType/QueryTypePluginManager.php @@ -18,24 +18,4 @@ public function __construct(\Traversable $namespaces, CacheBackendInterface $cac parent::__construct('Plugin/facets/query_type', $namespaces, $module_handler, 'Drupal\facets\QueryType\QueryTypeInterface', 'Drupal\facets\Annotation\FacetsQueryType'); } - /** - * {@inheritdoc} - */ - public function createInstance($plugin_id, array $configuration = []) { - /** @var \Drupal\facets\FacetInterface $facet */ - $facet = $configuration['facet']; - $processors = $facet->getProcessors(); - - if (!isset($processors['date_item'])) { - return parent::createInstance($plugin_id, $configuration); - } - - $dateProcessorConfig = $processors['date_item']->getConfiguration(); - $configuration['granularity'] = $dateProcessorConfig['granularity']; - $configuration['display_relative'] = $dateProcessorConfig['display_relative']; - $configuration['date_display'] = $dateProcessorConfig['date_display']; - - return parent::createInstance($plugin_id, $configuration); - } - }