private function initActionOptions()
 {
     $this->actionOptionsResolver = new OptionsResolver();
     $this->actionOptionsResolver->setRequired(array('route_name'));
     $this->actionOptionsResolver->setDefined(array('element'));
     $self = $this;
     $this->actionOptionsResolver->setDefaults(array('route_name' => function (Options $options) use($self) {
         return $self->getDefaultRouteName($options);
     }, 'additional_parameters' => array(), 'label' => null));
     $this->actionOptionsResolver->setNormalizer('additional_parameters', function (Options $options, $value) use($self) {
         return $self->normalizeAdditionalParameters($options, $value);
     });
     $this->actionOptionsResolver->setAllowedTypes('element', 'string');
     $this->actionOptionsResolver->setAllowedTypes('route_name', 'string');
     $this->actionOptionsResolver->setAllowedTypes('additional_parameters', 'array');
     $this->actionOptionsResolver->setAllowedTypes('label', array('string', 'null'));
 }
Example #2
0
 /**
  * @param EventDispatcherInterface $dispatcher
  */
 public function __construct(EventDispatcherInterface $dispatcher)
 {
     $this->dispatcher = $dispatcher;
     $this->specResolver = new OptionsResolver();
     $this->specResolver->setDefaults(array('on' => self::ALL, 'from' => self::ALL, 'to' => self::ALL, 'exclude_from' => array(), 'exclude_to' => array()));
     $this->specResolver->setAllowedTypes('on', ['string', 'array']);
     $this->specResolver->setAllowedTypes('from', ['string', 'array']);
     $this->specResolver->setAllowedTypes('to', ['string', 'array']);
     $this->specResolver->setAllowedTypes('exclude_from', ['string', 'array']);
     $this->specResolver->setAllowedTypes('exclude_to', ['string', 'array']);
     $toArrayNormalizer = function (Options $options, $value) {
         return (array) $value;
     };
     foreach (['on', 'from', 'to', 'exclude_to', 'exclude_from'] as $value) {
         $this->specResolver->setNormalizer($value, $toArrayNormalizer);
     }
 }
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('on' => 'on', 'off' => 'off'));
     $resolver->setNormalizer('attr', function ($options, $value) {
         $value["class"] = "switch-input";
         if (array_key_exists("class", $value)) {
             $value["class"] .= " " . $value["class"];
         }
         return $value;
     });
 }
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $optionsNormalizer = function (Options $options, $value) {
         $value['block_name'] = 'entry';
         return $value;
     };
     $resolver->setDefaults(['allow_add' => false, 'allow_delete' => false, 'prototype' => true, 'prototype_name' => '__name__', 'type_name' => '_type', 'options' => []]);
     $resolver->setRequired(['types']);
     $resolver->setAllowedTypes(['types' => 'array']);
     $resolver->setNormalizer('empty_value', $emptyValueNormalizer);
 }