2020
2121namespace MetaModels \FilterCheckboxBundle \FilterSetting ;
2222
23+ use MetaModels \Filter \FilterUrlBuilder ;
2324use MetaModels \Filter \Setting \AbstractFilterSettingTypeFactory ;
25+ use Symfony \Component \EventDispatcher \EventDispatcherInterface ;
2426
2527/**
2628 * Attribute type factory for tags filter settings.
2729 */
2830class 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}
0 commit comments