public function addElements($elements) { if (is_array($elements)) { foreach ($elements as $key => $element) { $iid = $this->getElementsCount() + 1; if ($element instanceof HtmlDropdownItem) { $this->elements[] = $element; } else { if (is_array($element)) { if (is_string($key) === true) { $dropdown = new HtmlDropdown($this->identifier . "-dropdown-" . $iid); $dropdown->addItems($element); $dropdown->setBtnCaption($key); $dropdown->setMTagName("li"); $this->addElement($dropdown); } else { $this->addLink(array_pop($element), array_pop($element)); } } else { if (is_object($element)) { $this->addElement($element); } else { if (is_string($element)) { $this->addLink($element); } } } } // TODO A vérifier } } return $this; }
public function __construct($identifier, $value = " ", $items = array(), $cssStyle = "btn-default", $onClick = null) { parent::__construct($identifier, $value, $items, $cssStyle, $onClick); $this->asButton($cssStyle); $this->_template = (include 'templates/tplSplitbutton.php'); $this->mClass = "btn-group"; }
public function menuAction($id) { $id = $this->int($id); $domaines = Domaine::find(array("idParent = " . $id, "order" => "ordre")); $tabs = new HtmlTabs("tabs"); $tabs->setTabstype("pills"); $tabs->fromDatabaseObjects($domaines, function ($domaine) { if (count($domaine->getDomaines()) > 0) { $dd = new HtmlDropdown("tab-" . $domaine->getId(), $domaine->getLibelle()); $dd->setTagName("button"); $dd->setStyle("btn-primary"); $dd->fromDatabaseObjects($domaine->getDomaines(), function ($sousDomaine) { $ddItem = new HtmlDropdownItem("ddItem-" . $sousDomaine->getId()); $ddItem->setCaption($sousDomaine->getLibelle()); return $ddItem; }); return $dd; } else { return new HtmlTabItem("tab-" . $domaine->getId(), $domaine->getLibelle()); } }); $tabs->setStacked(); echo $tabs->compile($this->jquery); $this->jquery->getOnClick("ul.nav-stacked a", "index/content/", "#response"); echo $this->jquery->compile(); $this->view->disable(); }
public function getMenuTabs($domaines) { $jquery = $this->controller->jquery; $translateEngine = $this->controller->getTranslateEngine(); $tabs = new HtmlTabs("tabs"); $tabs->setTabstype("pills"); $tabs->fromDatabaseObjects($domaines, function ($domaine) use($translateEngine) { if (count($domaine->getDomaines()) > 0) { $libelle = $translateEngine->translate($domaine->getId(), "domaine.libelle", $domaine->getLibelle()); $dd = new HtmlDropdown("tab-" . $domaine->getId(), $libelle); $dd->setTagName("button"); $dd->setStyle("btn-primary"); $dd->fromDatabaseObjects($domaine->getDomaines(), function ($sousDomaine) use($translateEngine) { $ddItem = new HtmlDropdownItem("ddItem-" . $sousDomaine->getId()); $libelle = $translateEngine->translate($sousDomaine->getId(), "domaine.libelle", $sousDomaine->getLibelle()); $ddItem->setCaption($libelle); return $ddItem; }); return $dd; } else { $libelle = $translateEngine->translate($domaine->getId(), "domaine.libelle", $domaine->getLibelle()); return new HtmlTabItem("tab-" . $domaine->getId(), $libelle); } }); $tabs->setStacked(); $jquery->getOnClick("ul.nav-stacked a", "index/content/", "#response"); return $tabs; }
public function createDropdown($identifier, $caption = "", $position = "left", $items = array()) { $dropdown = new HtmlDropdown($identifier); $dropdown->setMTagName("div"); $dropdown->setTagName("button"); $dropdown->setMClass("input-group-btn"); return $this->addDropdown_($dropdown, $caption, $position, $items); }