public function buildCollection(FormEvent $event, $eventName)
    {
        $form = $event->getForm();

        for ($i = 0; $i < $this->options['max_items']; ++$i) {
            $required = $i < $this->options['min_items'] ? true : false;
            $displayed = $i < $this->options['min_items'] || $this->isDisplayable($event, $i, $eventName);

            $options = $this->options['options'];
            $options['required'] = isset($options['required']) ?
                $options['required'] && $required :
                $required
            ;
            $options['attr'] = array_replace(
                isset($options['attr']) ? $options['attr'] : array(),
                array(
                    'data-collection-id' => $this->options['collection_id'],
                    'data-display' => $displayed ? 'show' : 'hide',
                    'data-position' => $i,
                )
            );

            if (!$displayed) {
                self::disableConstraints($options);
            }

            $form->add($i, $this->options['type'], $options);

            $form->get($i)->add('__to_remove', CheckboxType::class, array(
                'mapped' => false,
                'required' => false,
                'data' => !$displayed,
                'attr' => array(
                    'class' => 'idci_collection_item_remove',
                ),
            ));
        }
    }
public function buildCollection(FormEvent $event, $eventName)
    {
        $form = $event->getForm();

        for ($i = 0; $i < $this->options['max_items']; ++$i) {
            $required = $i < $this->options['min_items'] ? true : false;
            $displayed = $i < $this->options['min_items'] || $this->isDisplayable($event, $i, $eventName);

            $options = $this->options['options'];
            $options['required'] = isset($options['required']) ?
                $options['required'] && $required :
                $required
            ;
            $options['attr'] = array_replace(
                isset($options['attr']) ? $options['attr'] : array(),
                array(
                    'data-collection-id' => $this->options['collection_id'],
                    'data-display' => $displayed ? 'show' : 'hide',
                    'data-position' => $i,
                )
            );

            if (!$displayed) {
                self::disableConstraints($options);
            }

            $form->add($i, $this->options['type'], $options);

            $form->get($i)->add('__to_remove', CheckboxType::class, array(
                'mapped' => false,
                'required' => false,
                'data' => !$displayed,
                'attr' => array(
                    'class' => 'idci_collection_item_remove',
                ),
            ));
        }
    }
public function buildCollection ( FormEvent $ event , $ eventName ) { $ form = $ event -> getForm ( ) ; for ( $ i = 0 ; $ i < $ this -> options [ 'max_items' ] ; ++ $ i ) { $ required = $ i < $ this -> options [ 'min_items' ] ? true : false ; $ displayed = $ i < $ this -> options [ 'min_items' ] || $ this -> isDisplayable ( $ event , $ i , $ eventName ) ; $ options = $ this -> options [ 'options' ] ; $ options [ 'required' ] = isset ( $ options [ 'required' ] ) ? $ options [ 'required' ] && $ required : $ required ; $ options [ 'attr' ] = array_replace ( isset ( $ options [ 'attr' ] ) ? $ options [ 'attr' ] : array ( ) , array ( 'data-collection-id' => $ this -> options [ 'collection_id' ] , 'data-display' => $ displayed ? 'show' : 'hide' , 'data-position' => $ i , ) ) ; if ( ! $ displayed ) { self :: disableConstraints ( $ options ) ; } $ form -> add ( $ i , $ this -> options [ 'type' ] , $ options ) ; $ form -> get ( $ i ) -> add ( '__to_remove' , CheckboxType :: class , array ( 'mapped' => false , 'required' => false , 'data' => ! $ displayed , 'attr' => array ( 'class' => 'idci_collection_item_remove' , ) , ) ) ; } }
Build collection.

@param FormEvent $event
@param string    $eventName
Build collection .