Example #1
0
 /**
  * {@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;
 }
Example #2
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();
 }
Example #3
0
 /**
  * @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;
             }
         }
     }
 }