Skip to content

Commit 9e56ef7

Browse files
ISSUE-157: Implemented ArrayType
1 parent fc0851d commit 9e56ef7

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

src/ArrayType.php

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
/**
3+
* Copyright (c) 2019 DarkWeb Design
4+
*
5+
* Permission is hereby granted, free of charge, to any person obtaining a copy
6+
* of this software and associated documentation files (the "Software"), to deal
7+
* in the Software without restriction, including without limitation the rights
8+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
* copies of the Software, and to permit persons to whom the Software is
10+
* furnished to do so, subject to the following conditions:
11+
*
12+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18+
* SOFTWARE.
19+
*/
20+
21+
namespace DarkWebDesign\SymfonyAddonFormTypes;
22+
23+
use Symfony\Component\Form\AbstractType;
24+
use Symfony\Component\OptionsResolver\OptionsResolver;
25+
26+
/**
27+
* Array form field type.
28+
*
29+
* @author Raymond Schouten
30+
*
31+
* @since 3.4
32+
*/
33+
class ArrayType extends AbstractType
34+
{
35+
/**
36+
* Configures the options for this type.
37+
*
38+
* @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver
39+
*/
40+
public function configureOptions(OptionsResolver $resolver)
41+
{
42+
$compoundNormalizer = function () {
43+
return false;
44+
};
45+
46+
$multipleNormalizer = function () {
47+
return true;
48+
};
49+
50+
$resolver->setDefaults([
51+
'multiple' => true,
52+
]);
53+
54+
$resolver->setNormalizer('compound', $compoundNormalizer);
55+
$resolver->setNormalizer('multiple', $multipleNormalizer);
56+
}
57+
}

0 commit comments

Comments
 (0)