/** * {@inheritdoc} */ public function createView(FormViewInterface $parent = null) { if (null === $parent && $this->parent) { $parent = $this->parent->createView(); } $view = new FormView($this->config->getName()); $view->setParent($parent); $types = (array) $this->config->getTypes(); $options = $this->config->getOptions(); foreach ($types as $type) { $type->buildView($view, $this, $options); foreach ($type->getExtensions() as $typeExtension) { $typeExtension->buildView($view, $this, $options); } } foreach ($this->children as $child) { $view->add($child->createView($view)); } foreach ($types as $type) { $type->finishView($view, $this, $options); foreach ($type->getExtensions() as $typeExtension) { $typeExtension->finishView($view, $this, $options); } } return $view; }
/** * {@inheritdoc} */ public function createView(FormView $parent = null) { if (null === $parent && $this->parent) { $parent = $this->parent->createView(); } $type = $this->config->getType(); $options = $this->config->getOptions(); $view = $type->createView($this, $parent); $type->buildView($view, $this, $options); $type->finishView($view, $this, $options); return $view; }
/** * Buildform function. * * @param FormBuilderInterface $builder the formBuilder * @param array $options the options for this form */ public function buildForm(FormBuilderInterface $builder, array $options) { $entityAlias = $this->entityConfiguration['alias']; $entityIdGetter = $this->entityConfiguration['idGetter']; $fieldOptions = $this->formConfig->getOptions(); $fieldType = $this->formConfig->getType()->getName(); foreach ($this->locales as $locale) { $translatedFieldName = $locale . '_' . $this->fieldName; $entityId = $this->entity->{$entityIdGetter}(); $translationData = $entityId ? $this->entityTranslationProvider->getTranslation($entityAlias, $entityId, $this->fieldName, $locale) : ''; $builder->add($translatedFieldName, $fieldType, ['required' => isset($fieldOptions['required']) ? $this->evaluateRequired($fieldOptions['required'], $locale) : false, 'mapped' => false, 'label' => $fieldOptions['label'], 'data' => $translationData, 'constraints' => $fieldOptions['constraints']]); } }
/** * {@inheritdoc} */ public function createView(FormView $parent = null) { if (null === $parent && $this->parent) { $parent = $this->parent->createView(); } $type = $this->config->getType(); $options = $this->config->getOptions(); // The methods createView(), buildView() and finishView() are called // explicitly here in order to be able to override either of them // in a custom resolved form type. $view = $type->createView($this, $parent); $type->buildView($view, $this, $options); foreach ($this->children as $name => $child) { $view->children[$name] = $child->createView($view); } $type->finishView($view, $this, $options); return $view; }
/** * Creates an unmodifiable copy of a given configuration. * * @param FormConfigInterface $config The configuration to copy. */ public function __construct(FormConfigInterface $config) { $dispatcher = $config->getEventDispatcher(); if (!$dispatcher instanceof UnmodifiableEventDispatcher) { $dispatcher = new UnmodifiableEventDispatcher($dispatcher); } $this->dispatcher = $dispatcher; $this->name = $config->getName(); $this->propertyPath = $config->getPropertyPath(); $this->mapped = $config->getMapped(); $this->byReference = $config->getByReference(); $this->virtual = $config->getVirtual(); $this->compound = $config->getCompound(); $this->types = $config->getTypes(); $this->viewTransformers = $config->getViewTransformers(); $this->modelTransformers = $config->getModelTransformers(); $this->dataMapper = $config->getDataMapper(); $this->validators = $config->getValidators(); $this->required = $config->getRequired(); $this->disabled = $config->getDisabled(); $this->errorBubbling = $config->getErrorBubbling(); $this->emptyData = $config->getEmptyData(); $this->attributes = $config->getAttributes(); $this->data = $config->getData(); $this->dataClass = $config->getDataClass(); $this->options = $config->getOptions(); }