Exemple #1
0
 /**
  * @param Button $button
  *
  * @return $this|self
  */
 public function addButton(Button $button) : self
 {
     if (!$this->buttons) {
         $this->buttons = new Container();
     }
     $this->buttons->add($button);
     return $this;
 }
Exemple #2
0
 /**
  * @param HtmlElement $element
  * @param bool $left
  *
  * @return $this|self
  */
 public function add(HtmlElement $element, bool $left = true) : self
 {
     if ($element instanceof Button) {
         $element->addClass('navbar-btn');
     } elseif ($element instanceof Form) {
         $element->addClass('navbar-form');
         $element->setInline();
     } elseif ($element instanceof HtmlElement && $element->getTag() == '<p>') {
         $element->addClass('navbar-text');
     } elseif ($element instanceof HtmlElement && $element->getTag() == '<ul>') {
         $element->addClass(['nav', 'navbar-nav']);
     }
     $element->addClass($left ? 'navbar-left' : 'navbar-right');
     $this->elements->add($element);
     return $this;
 }
Exemple #3
0
 /**
  * {@inheritdoc}
  */
 public function render()
 {
     if ($this->title || $this->title) {
         $header = (new HtmlContainer('<div>'))->addClass('panel-heading');
         if ($this->buttonGroup) {
             $header->add($this->buttonGroup);
         }
         if ($this->title) {
             $header->add((new HtmlElement('<h3>', $this->title))->addClass('panel-title'));
         }
         parent::add($header);
     }
     if ($this->content) {
         parent::add((new HtmlElement('<div>', $this->content))->addClass('panel-body'));
     } else {
         $container = new Container();
         foreach ($this->container->getElements() as $element) {
             if ($element instanceof Table || $element instanceof Grid || $element instanceof ListGroup) {
                 if (sizeof($container->getElements()) > 0) {
                     parent::add((new HtmlContainer('<div>'))->addClass('panel-body')->add($container));
                     $container = new Container();
                 }
                 parent::add($element);
             } else {
                 $container->add($element);
             }
         }
         if (sizeof($container->getElements()) > 0) {
             parent::add((new HtmlContainer('<div>'))->addClass('panel-body')->add($container));
         }
     }
     if ($this->footer) {
         parent::add((new HtmlElement('<div>', $this->footer))->addClass('panel-footer'));
     }
     return parent::render();
 }
Exemple #4
0
 /**
  * @return Container
  */
 protected function layout() : Container
 {
     $container = new Container();
     if ($this->label) {
         $container->add($this->label);
     }
     $container->add($this->container);
     return $container;
 }
Exemple #5
0
 /**
  * {@inheritdoc}
  */
 public function render()
 {
     $container = new Container();
     $container->add(new Element(parent::render()));
     $container->add($this->widgetOptions);
     return $container->render();
 }
Exemple #6
0
 /**
  * {@inheritdoc}
  */
 protected function layout() : Container
 {
     if ($this instanceof Group || $this instanceof Fieldset) {
         $this->applyContainerSize($this->container->elements);
     } else {
         $this->applySize($this);
     }
     if ($this->getGridSize()) {
         $container = new Container();
         // label
         if ($this->getLabel()) {
             $this->getLabel()->addClass('col-sm-' . $this->getGridSize())->addClass('control-label');
             $container->add($this->getLabel());
         }
         // field
         if ($this instanceof Group) {
             $fieldWrapper = $this->getContainer();
         } else {
             if (sizeof($this->inputGroups)) {
                 $fieldWrapper = new HtmlContainer('<div>');
                 $fieldWrapper->add($inputGroupWrapper = (new HtmlContainer('<div>'))->addClass('input-group'));
                 if (isset($this->inputGroups[true])) {
                     foreach ($this->inputGroups[true] as $inputGroup) {
                         $inputGroupWrapper->add($inputGroup);
                     }
                 }
                 $inputGroupWrapper->add($this->getField());
                 if (isset($this->inputGroups[false])) {
                     foreach ($this->inputGroups[false] as $inputGroup) {
                         $inputGroupWrapper->add($inputGroup);
                     }
                 }
             } else {
                 $fieldWrapper = new HtmlContainer('<div>');
                 $fieldWrapper->add($this->getField());
             }
         }
         if ($this instanceof MultipleGroup) {
             $fieldWrapper->getElement()->addClass('col-sm-' . (12 - $this->getGridSize()));
         } else {
             $fieldWrapper->addClass('col-sm-' . (12 - $this->getGridSize()));
         }
         // label
         if (!$this->getLabel()) {
             $fieldWrapper->addClass('col-sm-offset-' . $this->getGridSize());
         }
         // help wrap
         if ($this->helpText) {
             $fieldWrapper->add($this->helpText);
         }
         $container->add($fieldWrapper);
         return $container;
     } else {
         $container = parent::layout();
         if ($this->helpText) {
             $container->add($this->helpText);
         }
         return $container;
     }
 }
 /**
  * @param ViewController $element
  *
  * @return $this|self
  */
 public function addTitleBadge(ViewController $element) : self
 {
     $this->titleBadge->add($element);
     return $this;
 }