DHTMLX toolbar можно положить внутри ячейки, лейаута или DOM-элемента. К ячейку или лейауту нельзя цеплять больше одного тулбара.
document.body.innerHTML = "<div id='myToolbarCont'></div>"; new dhtmlXToolbarObject("myToolbarCont");
Пример прикрепления тулбара к лейату:
appLayout.attachToolbar();
Пример прикрепления тулбара к ячейке:
appLayout.cells("a").attachToolbar();
К контейнеру можно прикрепить только один тулбар, но это ограничение легко обходится:
var childLayout = appLayout.cells("a").attachLayout("1C"); appLayout.cells("a").attachToolbar(); // 1st toolbar childLayout.attachToolbar(); // 2nd toolbar childLayout.cells("a").hideHeader(); // hide cell header childLayout.cells("a").attachToolbar(); // 3rd toolbar
У тулбара могут быть элементы следующих типов:
• Button
• Two-state button (Toggle)
• Button select (Select)
• Slider
• Input
• Text (Label)
• Separator
• Spacer
var myToolbar = appLayout.cells("a").attachToolbar(); myToolbar.addButton("myButtonId", // id 0, // позиция в тулбаре "My Button" // заголовок // enabled icon (optional), // disabled icon (optional) ); myToolbar.addButtonTwoState("myButton2StateId", 1, "2 State"); // При изменении состояния кнопки вызывается событие onStateChange. myToolbar.getItemState("myButton2StateId"); // Возвращает булево значение. myToolbar.addSeparator("sepId", 2); myToolbar.addText("myTextId", 3, "A Label: "); myToolbar.addButtonSelect( // ID, position, text, JavaScript array of the options "mySelectId", 4, "Select Me",[ // ID, type, text, and icon (optional) ["option1", "obj","Option 1"], ["option2", "obj","Option 2"] ]); myToolbar.getListOptionSelected("mySelectId"); myToolbar.addSpacer("myButtonId"); myToolbar.removeSpacer("myButtonId"); myToolbar.addSlider( "mySliderId", // ID 5, // position 40, // length of slider in pixels as integer 1, // minimum value 10, // maximum value 4, // current value "Low", // label left side "High" // label right side // tooltip (optional) ); myToolbar.addInput("myInputId",6,"Hi", 30); myToolbar.getValue("myInputId"); myToolbar.disableItem("myButtonId"); myToolbar.enableItem("myButtonId"); myToolbar.hideItem("myButtonId"); myToolbar.showItem("myButtonId"); myToolbar.removeItem("myInputId");
У тулбаров есть события: onClick, onStateChange, onValueChange и onEnter.
myToolbar.attachEvent("onClick", function(itemId){ console.log(itemId); });
Пример добавления тулбара в файл app.js:
// Toolbar var appToolbar; dhtmlxEvent(window, "load", function() { // create toolbar appToolbar = appLayout.cells("a").attachToolbar({ items: [{ type: "button", id: 1, text: "add" }, { type: "separator", id: 2 }, { type: "button", id: 3, text: "remove" }, { type: "separator", id: 4 }, ] }); // attach toolbar events appToolbar.attachEvent("onClick", function(id) { switch (id) { case "1": callbacks.addClick(); break; case "3": callbacks.removeClick(); break; default: break; } }); });