public function __construct($param) { $this->isValidType($param->type); $this->_nav = new UL(); $this->_nav->addClass('nav')->addClass('nav-' . $param->type); foreach ($param->item as $item) { $this->_item = new LI(); # Menu Dropdown if (isset($item['dropdown'])) { $divider = new \br\gov\sial\core\output\screen\html\Strong(); $divider->addClass('caret'); $link = new Anchor($item['text'] . ' ' . $divider, $item['href']); $link->addClass('dropdown-toggle')->attr('data-toggle', 'dropdown'); $this->_item->add($link); $this->_item->addClass('dropdown'); $this->_dropdown = new UL(); $this->_dropdown->addClass('dropdown-menu'); foreach ($item['dropdown'] as $subItem) { $li = new LI(); $li->add(new Anchor($subItem['text'], $subItem['href'])); $this->_dropdown->add($li); } $this->_item->add($this->_dropdown); } else { $this->_item->add(new Anchor($item['text'], $item['href'])); } if ($item['text'] == $param->active) { $this->_item->addClass('active'); } $this->_nav->add($this->_item); } }
/** * Adiciona os elementos que irão compor o buttonBar * * @param stdClass $param * @return ButtonBar * @throws IllegalArgumentException * */ private function _addElements(\stdClass $param = NULL) { foreach ($this->safeToggle($param, 'options', new \stdClass()) as $elm) { if (is_object($elm)) { $type = $elm->type; unset($elm->type); } else { $type = $elm; } IllegalArgumentException::throwsExceptionIfParamIsNull(isset($this->_elements[$type]), self::T_BUTTONBARABSTRACT_INVALID_BUTTON); $property = (object) $this->_elements[$type]; if (is_object($elm)) { foreach ($elm as $prop => $value) { $property->{$prop} = $value; } } switch ($property->element) { case 'button': $button = new Button($property->label, $property->name); break; case 'anchor': $href = isset($property->href) ? $property->href : '#'; $button = new Anchor($property->label, $href); break; } $button->id = $this->genId($property); $button->addClass(array('btn', 'btn-' . $property->name)); if (isset($property->type)) { $button->attr('type', $property->type); } if (isset($property->icon)) { $span = new Span(); $span->addClass($property->icon); $button->add($span); } if (isset($param->primary) && $param->primary == $property->name) { $button->addClass('btn-primary'); if (isset($property->icon)) { $span->addClass('icon-white'); } } $this->_buttonBar->add($button)->add(new Text(' ')); } return $this; }
/** * @return ElementAbstract * */ public function controllButton($col) { $btnGroup = new Div(); $btnGroup->addClass(array('btn-group', 'grid-column-btn-group'))->attr('id', $col); if ($this->_canEdit) { $anchor = new Anchor(); $anchor->addClass('edit'); $span = new Span(); $span->addClass('icon-pencil'); $anchor->setContent($span); $anchor->addClass(array('btn', 'btn-mini')); $btnGroup->add($anchor); } if ($this->_canDetail) { $anchor = new Anchor(); $anchor->addClass('detail'); $span = new Span(); $span->addClass('icon-eye-open'); $anchor->setContent($span); $anchor->addClass(array('btn', 'btn-mini')); $btnGroup->add($anchor); } if ($this->_canChangeStatus) { $anchor = new Anchor(); $anchor->addClass('status'); $span = new Span(); $span->addClass('icon-off'); $anchor->setContent($span); $anchor->addClass(array('btn', 'btn-mini')); $btnGroup->add($anchor); } if ($this->_canDelete) { $anchor = new Anchor(); $anchor->addClass('delete'); $span = new Span(); $span->addClass('icon-trash'); $anchor->setContent($span); $anchor->addClass(array('btn', 'btn-mini')); $btnGroup->add($anchor); } if ($this->_canPrint) { $anchor = new Anchor(); $anchor->addClass('print'); $span = new Span(); $span->addClass('icon-print'); $anchor->setContent($span); $anchor->addClass(array('btn', 'btn-mini')); $btnGroup->add($anchor); } if ($this->_canExonerate) { $anchor = new Anchor(); $anchor->addClass('exonerate'); $span = new Span(); $span->addClass('icon-exonerate'); $anchor->setContent($span); $anchor->addClass(array('btn', 'btn-mini')); $btnGroup->add($anchor); } return $btnGroup; }