/** * @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; }
/** * @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; }
/** * {@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(); }
/** * @return Container */ protected function layout() : Container { $container = new Container(); if ($this->label) { $container->add($this->label); } $container->add($this->container); return $container; }
/** * {@inheritdoc} */ public function render() { $container = new Container(); $container->add(new Element(parent::render())); $container->add($this->widgetOptions); return $container->render(); }
/** * {@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; }