diff --git a/src/Plugin/facets/processor/TermWeightWidgetOrderProcessor.php b/src/Plugin/facets/processor/TermWeightWidgetOrderProcessor.php index 7732370..c69c03a 100644 --- a/src/Plugin/facets/processor/TermWeightWidgetOrderProcessor.php +++ b/src/Plugin/facets/processor/TermWeightWidgetOrderProcessor.php @@ -4,6 +4,7 @@ use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; +use Drupal\Core\TypedData\ComplexDataDefinitionInterface; use Drupal\Core\TypedData\DataReferenceDefinitionInterface; use Drupal\facets\FacetInterface; use Drupal\facets\Processor\SortProcessorPluginBase; @@ -92,6 +93,14 @@ public function sortResults(Result $a, Result $b) { * {@inheritdoc} */ public function supportsFacet(FacetInterface $facet) { + $data_definition = $facet->getDataDefinition(); + if ($data_definition->getDataType() === 'entity_reference') { + return TRUE; + } + if (!($data_definition instanceof ComplexDataDefinitionInterface)) { + return FALSE; + } + $data_definition = $facet->getDataDefinition(); $property_definitions = $data_definition->getPropertyDefinitions(); foreach ($property_definitions as $definition) { diff --git a/tests/src/Functional/ProcessorIntegrationTest.php b/tests/src/Functional/ProcessorIntegrationTest.php index 5e9df76..23dbc92 100644 --- a/tests/src/Functional/ProcessorIntegrationTest.php +++ b/tests/src/Functional/ProcessorIntegrationTest.php @@ -740,7 +740,12 @@ public function testProcessorConfig() { } // These processors are hidden by default, see also // ::testHiddenProcessors. - if (in_array($processor->getPluginId(), ['boolean_item', 'translate_entity', 'uid_to_username_callback'])) { + $hiddenProcessors = [ + 'boolean_item', + 'translate_entity', + 'uid_to_username_callback', + ]; + if (in_array($processor->getPluginId(), $hiddenProcessors)) { continue; }