/** * Cria menu. * * @param stdClass * @return Div * */ public function menuNavbar(\stdClass $config) { # navbar $mainDiv = new Div(); $mainDiv->addClass(array('navbar', 'navbar-fixed-top')); # inner $divInner = new Div(); $divInner->addClass('navbar-inner'); $mainDiv->add($divInner); # fluid $divFluid = new Div(); $divFluid->addClass('container-fluid'); $divInner->add($divFluid); # anchor $anchor = new Anchor(); $anchor->attr('data-target', '.nav-collapse')->attr('data-toggle', 'collapse')->addClass(array('btn', 'btn-navbar')); $divFluid->add($anchor); # @todo a quantidade de icon-bar deve ser dinamica $span = new Span(); $span->addClass('icon-bar'); $anchor->add(array(clone $span, clone $span, $span)); $divCollapse = new Div(); $divCollapse->addClass('nav-collapse'); $divFluid->add($divCollapse); $ulNav = new UL(); $ulNav->addClass('nav'); $divCollapse->add($ulNav); foreach ($config->options as $key => $val) { $li = new LI(); $ulNav->add($li); if ('__DIVIDER_VERTICAL__' == $val) { $li->addClass('divider-vertical'); } else { $li->addClass('dropdown'); $anchor = new Anchor($key, '#'); $anchor->attr('data-toggle', 'dropdown')->addClass('dropdown-toggle'); $li->add($anchor); $strong = new Strong(); $strong->addClass('caret'); $anchor->add($strong); $ul = new UL(); $ul->addClass('dropdown-menu'); $li->add($ul); foreach ($val as $idx => $link) { $anchor = new Anchor($link['text'], $link['href']); $liSub = new LI(); $liSub->add($anchor); $ul->add($liSub); } } } return $mainDiv; }
/** * @inheritdoc * * A soma dos algarismos de width deve totalizar em 12, exemplo, 3.9, 2.10, 1.11, etc * * @return Div * * @code * <?php * $param = new stdClass; * $param->label = 'Label'; * $param->value = 'content'; * $param->width = 3.9; * $isaf->display($param); * ?> * @endcode * @return ElementContainerAbstract * */ public function display(\stdClass $param) { list($wLbl, $wVal) = explode('.', (double) $this->safeToggle($param, 'width', self::T_WIDTH_DEFAULT), 2); $container = Div::factory()->addClass(array('control-group', 'span' . ($wLbl + $wVal + 1))); if (isset($param->label)) { $container->add(Span::factory()->addClass('span' . $wLbl)->add(Strong::factory()->add(new Text($param->label)))); } if (isset($param->value)) { $container->add(Span::factory()->addClass('span' . $wVal)->add(new Text($param->value))); } return $container; }