Пример #1
0
 /**
  * Set bootstrap select element attributes..
  *
  * @param ContextualConfig|Config $config  The config.
  * @param Element                 $element The select element.
  * @param \Widget                 $widget  The widget.
  *
  * @return void
  */
 private function setStyledSelectAttributes($config, $element, $widget)
 {
     $element->addClass($config->get('form.styled-select.class'));
     $element->setAttribute('data-style', $config->get('form.styled-select.style'));
     $size = $config->get('form.styled-select.size');
     if ($size !== 'auto') {
         $element->setAttribute('data-size', $size);
     }
     if ($widget->bootstrap_select_search || $this->hasExceededOptionsThreshold($config, $widget)) {
         $element->setAttribute('data-live-search', 'true');
     }
     $format = $config->get('form.styled-select.selected-text-format');
     if ($widget->multiple && $format) {
         $element->setAttribute('data-selected-text-format', html_entity_decode($format));
     }
     // If a btn-* class isset, set it as data-style attribute.
     $classes = explode(' ', $widget->class);
     foreach ($classes as $class) {
         if (strpos($class, 'btn-') === 0) {
             $element->removeClass($class);
             $element->setAttribute('data-style', $class);
             break;
         }
     }
 }
Пример #2
0
 /**
  * Get a config value for a given form widget type.
  *
  * @param ContextualConfig|Config $config  The used config.
  * @param string                  $type    The widget type.
  * @param string                  $name    The configuration name.
  * @param mixed                   $default The default value.
  *
  * @return mixed
  */
 protected static function getWidgetConfigValue($config, $type, $name, $default = false)
 {
     return $config->get('form.widgets.' . $type . '.' . $name, $default);
 }
Пример #3
0
 /**
  * Handle submit buttons added to a field.
  *
  * @param ContextualConfig|Config $config     The bootstrap config.
  * @param Container               $container  Form element container.
  * @param \Widget                 $widget     The form widget.
  * @param InputGroup              $inputGroup The input group.
  *
  * @return void
  */
 private function adjustSubmitButton($config, Container $container, \Widget $widget, InputGroup $inputGroup)
 {
     if ($container->hasChild('submit')) {
         /** @var Node $submit */
         $submit = $container->removeChild('submit');
         // recreate as button
         if ($submit->getTag() != 'button') {
             $submit = Element::create('button');
             $submit->setAttribute('type', 'submit');
             $submit->addChild($widget->slabel);
         }
         $submit->addClass('btn');
         if ($widget->bootstrap_addSubmitClass) {
             $submit->addClass($widget->bootstrap_addSubmitClass);
         } else {
             $submit->addClass($config->get('form.default-submit-btn'));
         }
         if ($widget->bootstrap_addSubmitIcon) {
             $icon = Bootstrap::generateIcon($widget->bootstrap_addSubmitIcon);
             $position = null;
             if ($widget->bootstrap_addSubmitIconPosition == 'left') {
                 $position = Node::POSITION_FIRST;
                 $icon .= ' ';
             } else {
                 $icon = ' ' . $icon;
             }
             $submit->addChild(new StaticHtml($icon), $position);
         }
         $inputGroup->setRight($submit, $inputGroup::BUTTON);
     }
 }