Esempio n. 1
0
 /**
  * Generate the upload field.
  *
  * @param ContextualConfig|Config $config    The bootstrap config.
  * @param Container               $container Form element container.
  * @param \Widget                 $widget    Form widget.
  *
  * @return void
  */
 private function generateUpload($config, Container $container, $widget)
 {
     $config = $config->get('form.styled-upload');
     $element = $container->getElement();
     /** @var Element $element */
     $element->addClass('sr-only');
     $element->setAttribute('onchange', sprintf($config['onchange'], $element->getId()));
     $input = Element::create('input', array('type' => 'text'))->setId($element->getId() . '_value')->addClass('form-control')->setAttribute('disabled', true)->setAttribute('name', $element->getAttribute('name') . '_value');
     if ($element->hasAttribute('placeholder')) {
         $input->setAttribute('placeholder', $element->getAttribute('placeholder'));
     } elseif ($widget->placeholder) {
         $input->setAttribute('placeholder', $widget->placeholder);
     }
     $click = sprintf('$(%s).click();return false;', $element->getId());
     $submit = Element::create('button', array('type' => 'submit'))->addChild($config['label'])->addClass($config['class'])->setAttribute('onclick', $click);
     $inputGroup = new InputGroup();
     $inputGroup->setElement($input);
     if ($config['position'] == 'left') {
         $inputGroup->setLeft($submit, $inputGroup::BUTTON);
     } else {
         $inputGroup->setRight($submit, $inputGroup::BUTTON);
     }
     $container->addChild('upload', $inputGroup);
 }
Esempio n. 2
0
 /**
  * Move errors into the container and set css classes.
  *
  * @param ViewEvent $event     The view event.
  * @param \Widget   $widget    The widget.
  * @param Container $container The container.
  *
  * @return void
  */
 private function modifyErrors(ViewEvent $event, \Widget $widget, Container $container)
 {
     $errors = $event->getErrors();
     $errors->addClass('help-block');
     $container->addChild('errors', $errors);
     if ($widget->hasErrors()) {
         $view = $event->getView();
         $view->getAttributes()->addClass('has-feedback')->addClass('has-error');
     }
 }