コード例 #1
0
ファイル: HtmlNavzone.php プロジェクト: munozdaniel/sya
 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;
 }
コード例 #2
0
 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";
 }
コード例 #3
0
 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();
 }
コード例 #4
0
 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;
 }
コード例 #5
0
 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);
 }