/** * {@inheritdoc} */ protected function layout() : Container { if (!$this->buttons) { return self::fieldTraitLayout(); } $container = self::fieldTraitLayout(); foreach ($this->buttons->getElements() as $button) { $container->first()->addFirst($button); } return $container; }
/** * {@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(); }
/** * @param Container|HtmlContainer $container * * @return ViewController|Container|HtmlContainer */ protected function getFieldContainer($container) { foreach ($container->getElements() as $element) { if ($element === $this->getField()) { return $container; } if ($element instanceof HtmlContainer) { $return = $this->getFieldContainer($element); if ($return) { return $return; } } } }