Beispiel #1
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;
 }
Beispiel #2
0
 /**
  * @param string $class
  */
 public function __construct(string $class = null)
 {
     parent::__construct('<span>');
     $this->addClass('input-group-addon');
     $element = new HtmlElement('<i>');
     $element->addClass($class);
     $this->add($element);
 }
Beispiel #3
0
 /**
  * @param bool $justified
  *
  * @return $this|self
  */
 public function setJustified(bool $justified = true) : self
 {
     if ($justified) {
         $this->header->addClass('nav-justified');
     } else {
         $this->header->removeClass('nav-justified');
     }
     return $this;
 }
Beispiel #4
0
 /**
  * @param HtmlElement|string $helpText
  *
  * @return $this|self
  */
 public function setHelpText($helpText) : self
 {
     if (!$helpText instanceof HtmlElement) {
         $helpText = new HtmlElement('<span>', $helpText);
     }
     $helpText->addClass('help-block');
     // @see http://getbootstrap.com/css/#forms-help-text
     if ($this->getField()) {
         if (!$helpText->getId()) {
             $helpText->generateId();
         }
         $this->getField()->addAttribute('aria-describedby', $helpText->getId());
     }
     $this->helpText = $helpText;
     return $this;
 }
 public function method(string $namespace, string $service, string $method, int $version = null)
 {
     $serviceObject = $this->listServices($namespace, $version, $service)[0];
     $authName = $serviceObject->getReflectionMethod($method)->getDefinition(Definition::AUTH)->getAuth();
     $auth = new HtmlElement('<span>', self::trans('swaggerserver.auth', [$authName]));
     $auth->addClass(['btn', 'btn-warning']);
     $this->masterpage->addTitleBadge($auth);
     $this->masterpage->addMain(new Method\Parameters($serviceObject, $method, $version));
     $this->masterpage->addMain(new Method\Responses($serviceObject, $method, $version));
     $this->masterpage->addMain(new Method\Models($serviceObject, $method, $version));
     $comment = $serviceObject->getReflectionMethod($method)->getDefinition(Definition::COMMENT)->getComment();
     if ($serviceObject->getReflectionMethod($method)->getDefinition(Definition::COMMENT_LONG)) {
         $comment .= '<br /><br />' . $serviceObject->getReflectionMethod($method)->getDefinition(Definition::COMMENT_LONG)->getComment();
     }
     $this->masterpage->setSubtitle($comment);
     return $this->masterpage->render();
 }
Beispiel #6
0
 /**
  * {@inheritdoc}
  */
 public function render()
 {
     if ($this->responsive) {
         $div = new HtmlElement('<div>');
         $div->addClass('table-responsive');
         $div->setContent(parent::render());
         return $div->render();
     } else {
         return parent::render();
     }
 }
Beispiel #7
0
 /**
  * @param HtmlElement $element
  *
  * @return HtmlElement
  */
 private function beforeAdd(HtmlElement $element)
 {
     $element->addClass('list-group-item');
     return $element;
 }
Beispiel #8
0
 /**
  * @param int $page
  * @param string $display
  *
  * @return HtmlElement
  */
 private function getLi(int $page, string $display = null) : HtmlElement
 {
     $li = new HtmlElement('<li>');
     $url = call_user_func($this->argsCallback, $this, $page);
     if ($page == $this->current) {
         $li->addClass($display ? 'disabled' : 'active');
     }
     if ($this->current == $page) {
         $li->setContent('<span href="' . $url . '">' . ($display ?: $page) . '</span>');
     } else {
         $li->setContent('<a href="' . $url . '">' . ($display ?: $page) . '</a>');
     }
     if ($this->current - 1 == $page) {
         $li->addAttribute('rel', 'prev');
     }
     if ($this->current + 1 == $page) {
         $li->addAttribute('rel', 'next');
     }
     return $li;
 }
Beispiel #9
0
 /**
  * @return string
  */
 public function render()
 {
     if (sizeof($this->data)) {
         // append row actions
         foreach ($this->rowActions as $i => $rowAction) {
             $this->add((new Column('row_action_' . $i, ''))->addRenderer(new RowActionRenderer($rowAction))->addClass('row-action')->setHideable(false));
         }
         foreach ($this->data as $row) {
             $tr = new HtmlContainer('<tr>');
             if (sizeof($this->thead->elements)) {
                 /** @var Column $column */
                 foreach ($this->thead->elements as $column) {
                     if ($column->isVisible() && $column->isRenderable()) {
                         $td = new HtmlElement('<td>');
                         $td->addClass($column->getClasses());
                         $content = $row[$column->getId()] ?? '';
                         if ($column->getRenderer()) {
                             foreach ($column->getRenderer() as $renderer) {
                                 $content = $renderer($content, $column, $this->getPrimaryValues($row), $row);
                             }
                         }
                         $td->setContent((string) $content);
                         $tr->add($td);
                     }
                 }
             } else {
                 foreach ($row as $col) {
                     $tr->add(new HtmlElement('<td>', $col));
                 }
             }
             if ($this->rowRenderers) {
                 foreach ($this->rowRenderers as $callback) {
                     $tr = call_user_func($callback, $tr, $row, $this);
                 }
             }
             $this->tbody->add($tr);
         }
     } else {
         $this->tbody->add((new HtmlContainer('<tr>'))->add((new HtmlElement('<td>'))->addAttribute('colspan', (string) sizeof($this->getVisibleColumns()))->setContent(self::trans('html.table/noResult'))->addClass('text-center')));
     }
     $return = parent::render();
     return $return;
 }