/**
  * Adds theme configuration fields to main theme edit form
  *
  * @param FormEvent $event
  */
 public function onThemeFormInit(FormEvent $event)
 {
     $builder = $event->getFormBuilder();
     $form = $builder->getForm();
     $resource = $builder->getData();
     $fieldGenerator = $this->container->get('theme.fields_generator');
     $fieldGenerator->loadThemeFieldsConfiguration($resource);
     $fieldGenerator->addFormFields($builder, $form);
 }
 /**
  * Adds processor settings to shipping method form
  *
  * @param FormEvent $event
  */
 public function onShippingMethodFormInit(FormEvent $event)
 {
     $form = $event->getForm();
     $calculators = $this->getCalculators();
     $calculatorTypeSelect = $this->getCalculatorTypeElement($form);
     foreach ($calculators as $calculator) {
         $calculatorTypeSelect->addOptionToSelect($calculator->getAlias(), $calculator->getName());
     }
 }
 /**
  * {@inheritdoc}
  */
 public function addConfigurationFields(FormEvent $event)
 {
     $this->builder = $event->getFormBuilder();
     $this->form = $this->builder->getForm();
     $this->typeSelect = $this->form->getChild('required_data')->getChild('type');
     $this->typeSelect->addOption($this->getBoxTypeOption());
     $this->fieldset = $this->form->addChild($this->builder->addFieldset(['name' => $this->type, 'label' => $this->trans('Box settings'), 'dependencies' => [$this->builder->addDependency(Dependency::SHOW, $this->typeSelect, new Equals($this->type), null)]]));
     $this->addBoxConfiguration();
 }
 /**
  * Adds configurator fields to main layout box edit form.
  * Loops through all configurators, renders the fieldset and sets default data
  *
  * @param FormEvent $event
  */
 public function onLayoutBoxFormInit(FormEvent $event)
 {
     $builder = $event->getFormBuilder();
     $form = $event->getForm();
     $resource = $form->getModelData();
     $configurators = $this->container->get('layout_box.configurator.collection')->all();
     $boxSettings = $resource->getSettings();
     foreach ($configurators as $configurator) {
         if ($configurator instanceof LayoutBoxConfiguratorInterface) {
             $defaults = [];
             if ($resource->getBoxType() == $configurator->getType()) {
                 $defaults = $boxSettings;
             }
             $configurator->addFormFields($builder, $form, $defaults);
         }
     }
 }