1414 */
1515declare (strict_types=1 );
1616
17- namespace Amadeco \ SmileCustomEntityLayeredNavigation \ViewModel ;
17+ namespace Artbambou \ EntityDescription \ViewModel ;
1818
1919use Magento \Framework \View \Element \Block \ArgumentInterface ;
2020use Magento \Framework \App \RequestInterface ;
21- use Magento \Catalog \Model \Layer ;
22- use Magento \Catalog \Model \Layer \Resolver ;
21+ use Magento \Catalog \Model \Layer as CatalogLayer ;
22+ use Magento \Catalog \Model \Layer \Resolver as CatalogLayerResolver ;
2323use Amadeco \SmileCustomEntityLayeredNavigation \Block \SetList as EntitiesPager ;
2424use Amadeco \SmileCustomEntityLayeredNavigation \Model \Layer as EntitiesLayer ;
25+ use Amadeco \SmileCustomEntityLayeredNavigation \Model \Layer \Resolver as EntitiesLayerResolver ;
26+ use Amadeco \SmileCustomEntityLayeredNavigation \Model \Layer \FilterList as EntitiesFilterList ;
2527use Amadeco \SmileCustomEntityLayeredNavigation \Model \Set \SetList \Toolbar as ToolbarModel ;
2628use Magento \Theme \Block \Html \Pager as ProductsPager ;
2729
2830class IsEntityFiltered implements ArgumentInterface
2931{
30- private Layer $ catalogLayer ;
32+ private CatalogLayer $ catalogLayer ;
33+ private EntitiesLayer $ entitiesLayer ;
3134
3235 /**
33- * @param RequestInterface $request
34- * @param Resolver $layerResolver
35- * @param ProductsPager $productsPager
36- * @param EntitiesPager $entitiesPager
37- * @param EntitiesLayer $entitiesLayer
36+ * @param RequestInterface $request
37+ * @param CatalogLayerResolver $layerResolver
38+ * @param ProductsPager $productsPager
39+ * @param EntitiesPager $entitiesPager
40+ * @param EntitiesLayerResolver $entitiesLayerResolver
41+ * @param EntitiesFilterList $filterList
3842 */
3943 public function __construct (
4044 private RequestInterface $ request ,
41- private Resolver $ layerResolver ,
45+ private CatalogLayerResolver $ layerResolver ,
4246 private ProductsPager $ productsPager ,
4347 private EntitiesPager $ entitiesPager ,
44- private EntitiesLayer $ entitiesLayer
48+ private EntitiesLayerResolver $ entitiesLayerResolver ,
49+ private EntitiesFilterList $ filterList
4550 ) {
46- $ this ->request = $ request ;
47- $ this ->catalogLayer = $ layerResolver ->get ();
51+ $ this ->request = $ request ;
52+ $ this ->catalogLayer = $ layerResolver ->get ();
4853 $ this ->productsPager = $ productsPager ;
4954 $ this ->entitiesPager = $ entitiesPager ;
50- $ this ->entitiesLayer = $ entitiesLayer ;
55+ $ this ->entitiesLayer = $ entitiesLayerResolver ->get ();
56+ $ this ->filterList = $ filterList ;
5157 }
5258
5359 /**
@@ -68,10 +74,18 @@ public function isFiltered(): bool
6874 $ requestParams = array_keys ($ this ->request ->getParams ());
6975 $ found = array_intersect ($ params , $ requestParams );
7076
77+ $ entityFiltersApplied = false ;
78+ foreach ($ this ->filterList ->getFilters ($ this ->entitiesLayer ) as $ filter ) {
79+ if ($ this ->request ->getParam ($ filter ->getRequestVar ()) !== null ) {
80+ $ entityFiltersApplied = true ;
81+ break ;
82+ }
83+ }
84+
7185 return (
7286 count ($ found ) > 0 ||
7387 count ($ this ->catalogLayer ->getState ()->getFilters ()) > 0 ||
74- count ( $ this -> entitiesLayer -> getState ()-> getFilters ()) > 0
88+ $ entityFiltersApplied
7589 );
7690 }
7791}
0 commit comments