Skip to content

Commit f2814fa

Browse files
committed
Inject missing services in filter setting
1 parent 311ce45 commit f2814fa

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

src/FilterSetting/CheckboxFilterSettingTypeFactory.php

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,36 @@
2020

2121
namespace MetaModels\FilterCheckboxBundle\FilterSetting;
2222

23+
use MetaModels\Filter\FilterUrlBuilder;
2324
use MetaModels\Filter\Setting\AbstractFilterSettingTypeFactory;
25+
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
2426

2527
/**
2628
* Attribute type factory for tags filter settings.
2729
*/
2830
class CheckboxFilterSettingTypeFactory extends AbstractFilterSettingTypeFactory
2931
{
32+
/**
33+
* The event dispatcher.
34+
*
35+
* @var EventDispatcherInterface
36+
*/
37+
private $dispatcher;
38+
39+
/**
40+
* The filter URL builder.
41+
*
42+
* @var FilterUrlBuilder
43+
*/
44+
private $filterUrlBuilder;
45+
3046
/**
3147
* {@inheritDoc}
48+
*
49+
* @param EventDispatcherInterface $dispatcher The event dispatcher.
50+
* @param FilterUrlBuilder $filterUrlBuilder The filter URL builder.
3251
*/
33-
public function __construct()
52+
public function __construct(EventDispatcherInterface $dispatcher, FilterUrlBuilder $filterUrlBuilder)
3453
{
3554
parent::__construct();
3655

@@ -39,5 +58,16 @@ public function __construct()
3958
->setTypeIcon('bundles/metamodelsfiltercheckbox/filter_checkbox.png')
4059
->setTypeClass(Checkbox::class)
4160
->allowAttributeTypes('checkbox');
61+
62+
$this->dispatcher = $dispatcher;
63+
$this->filterUrlBuilder = $filterUrlBuilder;
64+
}
65+
66+
/**
67+
* {@inheritdoc}
68+
*/
69+
public function createInstance($information, $filterSettings)
70+
{
71+
return new Checkbox($filterSettings, $information, $this->dispatcher, $this->filterUrlBuilder);
4272
}
4373
}

src/Resources/config/services.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
services:
22
metamodels.filter_checkbox.factory:
33
class: MetaModels\FilterCheckboxBundle\FilterSetting\CheckboxFilterSettingTypeFactory
4+
arguments:
5+
- '@event_dispatcher'
6+
- '@MetaModels\Filter\FilterUrlBuilder'
47
tags:
58
- { name: metamodels.filter_factory }
69

0 commit comments

Comments
 (0)