Loading src/Event/ActiveFiltersParsed.php +19 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,13 @@ final class ActiveFiltersParsed extends Event { */ private $queryParameters; /** * The facet parameter filter key. * * @var string */ private $filterKey; /** * QueryStringCreated constructor. * Loading @@ -44,10 +51,11 @@ final class ActiveFiltersParsed extends Event { * @param \Symfony\Component\HttpFoundation\ParameterBag $queryParameters * The get parameters to use. */ public function __construct($facetsource_id, array $activeFilters, ParameterBag $queryParameters) { public function __construct($facetsource_id, array $activeFilters, ParameterBag $queryParameters, $filter_key) { $this->facetsourceId = $facetsource_id; $this->queryParameters = $queryParameters; $this->activeFilters = $activeFilters; $this->filterKey = $filter_key; } /** Loading Loading @@ -93,4 +101,14 @@ final class ActiveFiltersParsed extends Event { return $this->queryParameters; } /** * Get the facet parameter filter key. * * @return string * The facet parameter filter key. */ public function getFilterKey() { return $this->filterKey; } } src/Plugin/facets/url_processor/QueryString.php +1 −1 Original line number Diff line number Diff line Loading @@ -354,7 +354,7 @@ class QueryString extends UrlProcessorPluginBase { } // Allow other modules to alter the parsed active filters. $event = new ActiveFiltersParsed($facet_source_id, $active_filters, $this->request->query); $event = new ActiveFiltersParsed($facet_source_id, $active_filters, $url_parameters, $this->filterKey); $this->eventDispatcher->dispatch($event); $this->activeFilters = $event->getActiveFilters(); } Loading src/Plugin/facets/widget/LinksWidget.php +0 −4 Original line number Diff line number Diff line Loading @@ -65,10 +65,6 @@ class LinksWidget extends WidgetPluginBase { $url_processor = $urlProcessorManager->createInstance($facet->getFacetSourceConfig()->getUrlProcessorName(), ['facet' => $facet]); $active_filters = $url_processor->getActiveFilters(); if (isset($active_filters[''])) { unset($active_filters['']); } unset($active_filters[$facet->id()]); // Only if there are still active filters, use url generator. Loading src/UrlProcessor/UrlProcessorInterface.php +9 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace Drupal\facets\UrlProcessor; use Drupal\facets\FacetInterface; use Symfony\Component\HttpFoundation\Request; /** * Interface UrlProcessorInterface. Loading Loading @@ -79,4 +80,12 @@ interface UrlProcessorInterface { */ public function setActiveFilters(array $active_filters); /** * Returns the request. * * @return \Symfony\Component\HttpFoundation\Request * The request. */ public function getRequest(): Request; } src/UrlProcessor/UrlProcessorPluginBase.php +7 −0 Original line number Diff line number Diff line Loading @@ -152,4 +152,11 @@ abstract class UrlProcessorPluginBase extends ProcessorPluginBase implements Url } } /** * {@inheritdoc} */ public function getRequest(): Request { return $this->request; } } Loading
src/Event/ActiveFiltersParsed.php +19 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,13 @@ final class ActiveFiltersParsed extends Event { */ private $queryParameters; /** * The facet parameter filter key. * * @var string */ private $filterKey; /** * QueryStringCreated constructor. * Loading @@ -44,10 +51,11 @@ final class ActiveFiltersParsed extends Event { * @param \Symfony\Component\HttpFoundation\ParameterBag $queryParameters * The get parameters to use. */ public function __construct($facetsource_id, array $activeFilters, ParameterBag $queryParameters) { public function __construct($facetsource_id, array $activeFilters, ParameterBag $queryParameters, $filter_key) { $this->facetsourceId = $facetsource_id; $this->queryParameters = $queryParameters; $this->activeFilters = $activeFilters; $this->filterKey = $filter_key; } /** Loading Loading @@ -93,4 +101,14 @@ final class ActiveFiltersParsed extends Event { return $this->queryParameters; } /** * Get the facet parameter filter key. * * @return string * The facet parameter filter key. */ public function getFilterKey() { return $this->filterKey; } }
src/Plugin/facets/url_processor/QueryString.php +1 −1 Original line number Diff line number Diff line Loading @@ -354,7 +354,7 @@ class QueryString extends UrlProcessorPluginBase { } // Allow other modules to alter the parsed active filters. $event = new ActiveFiltersParsed($facet_source_id, $active_filters, $this->request->query); $event = new ActiveFiltersParsed($facet_source_id, $active_filters, $url_parameters, $this->filterKey); $this->eventDispatcher->dispatch($event); $this->activeFilters = $event->getActiveFilters(); } Loading
src/Plugin/facets/widget/LinksWidget.php +0 −4 Original line number Diff line number Diff line Loading @@ -65,10 +65,6 @@ class LinksWidget extends WidgetPluginBase { $url_processor = $urlProcessorManager->createInstance($facet->getFacetSourceConfig()->getUrlProcessorName(), ['facet' => $facet]); $active_filters = $url_processor->getActiveFilters(); if (isset($active_filters[''])) { unset($active_filters['']); } unset($active_filters[$facet->id()]); // Only if there are still active filters, use url generator. Loading
src/UrlProcessor/UrlProcessorInterface.php +9 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace Drupal\facets\UrlProcessor; use Drupal\facets\FacetInterface; use Symfony\Component\HttpFoundation\Request; /** * Interface UrlProcessorInterface. Loading Loading @@ -79,4 +80,12 @@ interface UrlProcessorInterface { */ public function setActiveFilters(array $active_filters); /** * Returns the request. * * @return \Symfony\Component\HttpFoundation\Request * The request. */ public function getRequest(): Request; }
src/UrlProcessor/UrlProcessorPluginBase.php +7 −0 Original line number Diff line number Diff line Loading @@ -152,4 +152,11 @@ abstract class UrlProcessorPluginBase extends ProcessorPluginBase implements Url } } /** * {@inheritdoc} */ public function getRequest(): Request { return $this->request; } }