/**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     if (!$options['select2']['enabled'] || $options['multiple'] || !$options['select2']['tags']) {
         return;
     }
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new Select2ChoiceToValueTransformer($options['choice_loader']));
 }
 /**
  * @param FormBuilderInterface $builder
  * @param array $options
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new ObjectToIdTransformer($this->em, $options['class']));
     if ($options['multiple']) {
         $builder->addViewTransformer(new EntityArrayToIdArrayTransformer($this->em, null));
     } else {
         $builder->addViewTransformer(new ArrayToIdTransformer($this->em, null));
     }
 }
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     if (true === $options['compound']) {
         // if the form is compound we don't need the NumberToLocalizedStringTransformer added in the parent type.
         $builder->resetViewTransformers();
         $builder->add('condition_operator', 'choice', $options['choice_options']);
         $builder->add('text', 'number', $options['number_options']);
     } else {
         $builder->setAttribute('filter_options', array('condition_operator' => $options['condition_operator']));
     }
 }
示例#4
0
 /**
  * @inheritDoc
  *
  * @param FormBuilderInterface $builder The form builder
  * @param array                $options The options
  * @return void
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $dataTransformer = clone $this->transformer;
     $propertyPath = $builder->getPropertyPath();
     if ($propertyPath !== null) {
         $dataTransformer->setPropertyPath($propertyPath);
     }
     $dataTransformer->setSubmittedData($options['submitted_data']);
     // we won't use the standard view transformer, which is defined by the checkbox type
     $builder->resetViewTransformers();
     $builder->addViewTransformer($dataTransformer);
 }
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     if (null === $options['class']) {
         throw new InvalidConfigurationException('Option "class" is empty');
     }
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new EntityToSelect2Transformer($this->em, $options['class']), true);
     $builder->setAttribute('em_name', $options['em_name']);
     $builder->setAttribute('class', $options['class']);
     $builder->setAttribute('property', $options['property']);
     $builder->setAttribute('condition_operator', $options['condition_operator']);
     $builder->setAttribute('max_rows', $options['max_rows']);
     $builder->setAttribute('options', $options['options']);
 }
 /**
  * Build form
  *
  * @param FormBuilder $builder
  * @param array $options
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     if ($options['multiple']) {
         // Symfony <2.3
         if (defined('Symfony\\Component\\Form\\FormEvents::BIND_NORM_DATA')) {
             $eventName = FormEvents::BIND_NORM_DATA;
         } else {
             $eventName = FormEvents::BIND;
         }
         $builder->addEventListener($eventName, function (Event $event) use($options) {
             $event->stopPropagation();
         }, 4);
     }
     $builder->resetViewTransformers();
     if ($options['multiple']) {
         $builder->addViewTransformer(new AclSecurityIdentityToArrayTransformer($options['choice_list']));
     } else {
         $builder->addViewTransformer(new AclSecurityIdentityToStringTransformer($options['choice_list']));
     }
 }
示例#7
0
 /**
  * Replace transformer in form builder, keep sorting of transformers
  *
  * @param FormBuilderInterface     $builder
  * @param DataTransformerInterface $transformerToReplace
  * @param string                   $type               Model or View transformer type to replace in
  * @param callable                 $comparisonCallback Callable function that will be
  *                                                     used for old transformer detection
  */
 public static function replaceTransformer(FormBuilderInterface $builder, DataTransformerInterface $transformerToReplace, $type = 'model', callable $comparisonCallback = null)
 {
     $transformers = 'model' === $type ? $builder->getModelTransformers() : $builder->getViewTransformers();
     $newTransformers = [];
     $hasCallback = null !== $comparisonCallback;
     $class = get_class($transformerToReplace);
     foreach ($transformers as $key => $transformer) {
         if ($hasCallback && call_user_func($comparisonCallback, $transformer, $key) || !$hasCallback && is_a($transformer, $class)) {
             $newTransformers[] = $transformerToReplace;
         } else {
             $newTransformers[] = $transformer;
         }
     }
     if (!in_array($transformerToReplace, $newTransformers, true)) {
         $newTransformers[] = $transformerToReplace;
     }
     if ('model' === $type) {
         $builder->resetModelTransformers();
         array_walk($newTransformers, [$builder, 'addModelTransformer']);
     } else {
         $builder->resetViewTransformers();
         array_walk($newTransformers, [$builder, 'addViewTransformer']);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers();
 }
示例#9
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     // replace the default money view transformer
     $builder->resetViewTransformers()->addViewTransformer(new SyliusMoneyTransformer($options['precision'], $options['grouping'], null, $options['divisor']));
 }
 /**
  * Build form
  *
  * @param FormBuilder $builder
  * @param array $options
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new ValueToTypeTransformer($fieldConfig));
 }
示例#11
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     if ($options['api']) {
         $builder->resetViewTransformers()->addViewTransformer($this->booleanTransformer);
     }
 }
 /**
  * {@inheritDoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers()->addViewTransformer(new ModelToIdTransformer($options['model_manager'], $options['class']));
 }
示例#13
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new ContextsToViewTransformer($this->entityManager, $this->configManager, $this->translator, $this->mapper, $this->securityFacade));
 }
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->setData(isset($options['data']) ? $options['data'] : false);
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new BooleanToStringTransformer($options['value']));
 }
示例#15
0
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new ParameterValueTransformer());
 }
示例#16
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new EntitiesToJsonTransformer($this->entityManager));
 }
示例#17
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers()->addViewTransformer(new SyliusMoneyTransformer($options['scale'], $options['grouping'], null, $options['divisor']));
 }
示例#18
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers();
     $builder->addViewTransformer($this->tagTransformer);
     $builder->addEventSubscriber($this->subscriber);
 }
示例#19
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     if ($options['multiple']) {
         $builder->resetViewTransformers()->addViewTransformer(new ArrayToStringTransformer());
     }
 }
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->resetViewTransformers()->addModelTransformer(new EntityToIdTransformer($this->em, $options['entity']));
 }
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $dateOptions = array_intersect_key($options, array_flip(array('format', 'formatSubmit', 'weekStart', 'calendarWeeks', 'startDate', 'endDate', 'disabled', 'autoclose', 'startView', 'minViewMode', 'todayButton', 'todayHighlight', 'clearButton', 'language')));
     $timeOptions = array_intersect_key($options, array_flip(array('minute_step', 'with_seconds', 'second_step', 'default_time', 'show_meridian', 'disable_focus')));
     $builder->resetViewTransformers()->remove('date')->remove('time')->addViewTransformer(new DateTimeToPartsTransformer())->add('date', 'afe_date_picker', $dateOptions)->add('time', 'afe_time_picker', $timeOptions);
 }
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $time_format = $options['with_seconds'] ? \IntlDateFormatter::MEDIUM : \IntlDateFormatter::SHORT;
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new DateTimeToLocalizedStringTransformer('UTC', 'UTC', \IntlDateFormatter::NONE, $time_format, null, null));
 }
示例#23
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->addModelTransformer(new ContextsToModelTransformer($this->entityManager));
     $builder->resetViewTransformers();
     $builder->addViewTransformer(new ContextsToViewTransformer($this->entityManager));
 }