|
5 | 5 | use InvalidArgumentException; |
6 | 6 | use ipl\Html\FormDecorator\DivDecorator; |
7 | 7 | use ipl\Html\FormElement\Collection; |
| 8 | +use ipl\Html\FormElement\SelectElement; |
| 9 | +use ipl\Html\FormElement\SubmitButtonElement; |
8 | 10 |
|
9 | 11 | class CollectionTest extends TestCase |
10 | 12 | { |
@@ -67,13 +69,12 @@ public function testNoRemoveTriggerProvided() |
67 | 69 |
|
68 | 70 | public function testAddTrigger() |
69 | 71 | { |
70 | | - $this->collection->setAddElement('select', 'add_element', [ |
| 72 | + $this->collection->setAddElement(new SelectElement('add_element', [ |
71 | 73 | 'required' => false, |
72 | 74 | 'label' => 'Add Trigger', |
73 | 75 | 'options' => [null => 'Please choose', 'first' => 'First Option'], |
74 | 76 | 'class' => 'autosubmit' |
75 | | - ]); |
76 | | - |
| 77 | + ])); |
77 | 78 |
|
78 | 79 | $this->collection->onAssembleGroup(function ($group, $addElement, $removeElement) { |
79 | 80 | $group->setDefaultElementDecorator(new DivDecorator()); |
@@ -106,12 +107,11 @@ public function testAddTrigger() |
106 | 107 | $this->assertHtml($expected, $this->collection); |
107 | 108 | } |
108 | 109 |
|
109 | | - |
110 | 110 | public function testRemoveTrigger() |
111 | 111 | { |
112 | | - $this->collection->setRemoveElement('submitButton', 'remove_trigger', [ |
| 112 | + $this->collection->setRemoveElement(new SubmitButtonElement('remove_trigger', [ |
113 | 113 | 'label' => 'Remove Trigger', |
114 | | - ]); |
| 114 | + ])); |
115 | 115 |
|
116 | 116 | $this->collection->onAssembleGroup(function ($group, $addElement, $removeElement) { |
117 | 117 | $group->setDefaultElementDecorator(new DivDecorator()); |
@@ -144,17 +144,17 @@ public function testRemoveTrigger() |
144 | 144 | public function testFullCollection() |
145 | 145 | { |
146 | 146 | $this->collection->setLabel($this->label); |
147 | | - $this->collection->setAddElement('select', 'add_element', [ |
| 147 | + $this->collection->setAddElement(new SelectElement('add_element', [ |
148 | 148 | 'required' => false, |
149 | 149 | 'label' => 'Add Trigger', |
150 | 150 | 'options' => [null => 'Please choose', 'first' => 'First Option'], |
151 | 151 | 'class' => 'autosubmit' |
152 | | - ]); |
| 152 | + ])); |
153 | 153 |
|
154 | | - $this->collection->setRemoveElement('submitButton', 'remove_trigger', [ |
| 154 | + $this->collection->setRemoveElement(new SubmitButtonElement('remove_trigger', [ |
155 | 155 | 'label' => 'Remove Trigger', |
156 | 156 | 'value' => 'Remove Trigger' |
157 | | - ]); |
| 157 | + ])); |
158 | 158 |
|
159 | 159 | $this->collection->onAssembleGroup(function ($group, $addElement, $removeElement) { |
160 | 160 | $group->setDefaultElementDecorator(new DivDecorator()); |
@@ -201,21 +201,21 @@ public function testFullCollection() |
201 | 201 |
|
202 | 202 | public function testMultipleCollections() |
203 | 203 | { |
204 | | - $this->collection->setAddElement('select', 'add_element', [ |
| 204 | + $this->collection->setAddElement(new SelectElement('add_element', [ |
205 | 205 | 'required' => false, |
206 | 206 | 'label' => 'Add Trigger', |
207 | 207 | 'options' => [null => 'Please choose', 'first' => 'First Option'] |
208 | | - ]); |
| 208 | + ])); |
209 | 209 |
|
210 | 210 | $this->collection->onAssembleGroup(function ($group, $addElement, $removeElement) { |
211 | 211 | $group->setDefaultElementDecorator(new DivDecorator()); |
212 | 212 | $group->addElement($addElement); |
213 | 213 |
|
214 | 214 | $inner = new Collection('innerCollection'); |
215 | 215 | $inner->setLabel('Inner Collection'); |
216 | | - $inner->setAddElement('submitButton', 'inner_add_trigger', [ |
| 216 | + $inner->setAddElement(new SubmitButtonElement('inner_add_trigger', [ |
217 | 217 | 'label' => 'Inner Add Trigger' |
218 | | - ]); |
| 218 | + ])); |
219 | 219 | $inner->onAssembleGroup(function ($innerGroup, $innerAddElement, $innerRemoveElement) { |
220 | 220 | $innerGroup->addElement($innerAddElement); |
221 | 221 | $innerGroup->addElement('input', 'test_input'); |
|
0 commit comments