Since 5.2
A Tree-based component for creating menus with hierarchical structure.
Webix Sidebar allows building collapsible tree-like menus. A user can choose between two navigation modes. An expanded Sidebar shows menu items and sub-items under them. A collapsed Sidebar renders only icons, while menu items and sub-items appear in popups.
Check Sidebar documentation for more detailed description.
var sidebar = webix.ui({
view:"sidebar",
data:menu_data,
titleHeight:50
});
| add | adds an item to the store |
| addCss | applied CSS class to a component item |
| adjust | adjusts the component to the size of the parent HTML container |
| attachEvent | attaches the handler to an inner event of the component |
| bind | binds components |
| blockEvent | temporarily blocks triggering of ALL events of the calling object |
| callEvent | calls an inner event |
| checkAll | check all items in tree |
| checkItem | checks the checkbox it the tree item |
| clearAll | removes all items from the component |
| clearCss | removes CSS class from all items |
| clearValidation | removes all validation marks from the component |
| close | closes the branch with the specified id |
| closeAll | closes all branches in the tree |
| collapse | collapses the sidebar into a navigation bar |
| copy | makes a copy of an item |
| count | returns the number of currently visible items |
| customize | redefines the "type" property |
| define | redefines a single configuration property (or a object with properties) |
| destructor | destructs the calling object |
| detachEvent | detaches a handler from an event (which was attached before by the attachEvent method) |
| disable | disables the calling view (makes it dimmed and unclickable) |
| enable | enables the calling view that was disabled by the 'disable' method |
| exists | checks whether an item with the specified ID exists |
| expand | expands the sidebar from the collapsed state |
| filter | filters the component |
| find | returns all rows that match the criterion, or only the first one |
| getBranchIndex | gets index of the node in a specific branch |
| getChecked | returns ids of the checked items |
| getChildViews | returns child views of the calling component |
| getFirstChildId | gets the ID of the first child of the specified branch |
| getFirstId | returns the ID of the first item |
| getFormView | returns master form for the input |
| getIdByIndex | returns the ID of the item with the specified index |
| getIndexById | returns the index of the item with the specified ID |
| getItem | gets the object of the data item with the specified ID |
| getItemNode | returns HTML element of the item |
| getLastId | returns the ID of the last item |
| getNextId | returns the ID of an item that is after the specified item, either directly after or after a number of items (defined by the step) |
| getNextSiblingId | returns the ID of the next sibling of the specified node |
| getNode | returns the main HTML container for the calling object |
| getOpenItems | returns ids of the opened branches |
| getPage | returns the currently visible page in case of paged view |
| getPager | returns the pager object associated with the component |
| getParentId | get the ID of the parent node of the specified item |
| getParentView | returns the parent view of the component |
| getPopup | returns the popup's object |
| getPrevId | returns the ID of an item that is before the specified item, either directly before or before a number of items (defined by the step) |
| getPrevSiblingId | returns the id of the previous sibling of the specified node |
| getScrollState | returns the scroll position |
| getSelectedId | returns the id(s) of the selected item(s) |
| getSelectedItem | returns selected object |
| getState | returns the current state of the view |
| getTopParentView | returns the top parent view |
| group | groups data by the specified data property |
| hasCss | checks if item has specific css class |
| hasEvent | checks whether the component has the specified event handler |
| hide | hides the view |
| isBranch | checks whether the node has any children |
| isBranchOpen | checks whether the specified branch is open or closed |
| isChecked | checks whether the specified node is checked |
| isEnabled | checks whether the view is enabled |
| isSelected | checks whether the specified item is selected or not |
| isVisible | checks whether the view is visible |
| load | loads data from an external data source |
| loadBranch | loads data to the specified branch, as direct children of the node with the ID provided |
| loadNext | sends a request to load the specified number of records to the end of the client-side dataset or to the specified position |
| locate | gets the id of an item from the specified HTML event |
| mapEvent | routes events from one object to another |
| move | moves the specified item to a new position |
| moveBottom | moves the specified item to the last position |
| moveDown | moves an element downwards within its current branch |
| moveSelection | moves selection in the specified direction |
| moveTop | moves the specified item to the first position |
| moveUp | moves an element upwards within its current branch |
| open | opens the branch with the specified id |
| openAll | opens all branches in the tree |
| parse | loads data to the component from an inline data source |
| queryView | returns inner element/elements of a widget that correspond(s) to the defined parameters |
| refresh | repaints the whole view or a certain item |
| remove | removes the specified item/items from datastore |
| removeCss | removes CSS class from a component item |
| render | renders the specified item or the whole component |
| resize | adjusts the view to a new size |
| scrollTo | scrolls the data container to a certain position |
| select | selects the specified item(s) |
| serialize | serializes data to an array of JSON objects |
| setPage | makes the specified page visible (assuming that the pager was defined ) |
| setState | restores the specified state of a view |
| show | makes the component visible |
| showItem | scrolls the component to make the specified item visible |
| sort | sorts datastore |
| sync | allows syncing two copies of data (all or just a part of it) from one DataCollection to another |
| toggle | collapses an expanded Sidebar and expands a collapsed Sidebar |
| unbind | breaks "bind" link |
| unblockEvent | cancels events blocking that was enabled by the 'blockEvent' command |
| uncheckAll | uncheck all items in the tree |
| uncheckItem | unchecks the checkbox in the tree item |
| ungroup | ungroups data |
| unselect | removes selection from the specified item |
| unselectAll | removes selection from all items |
| updateItem | updates the data item with new properties |
| validate | validates one record or all dataset against the validation rules |
| waitSave | allows to catch the moment when a data operation was saved to the server |
| onAfterAdd | fires after adding an item to the datastore |
| onAfterClose | fires after the branch has been closed |
| onAfterContextMenu | fires after the context menu was called in the item area |
| onAfterDelete | fires after an item is removed |
| onAfterDrop | fires after drag-n-drop was finished |
| onAfterLoad | fires after data loading is complete |
| onAfterOpen | fires after the branch has been opened |
| onAfterRender | occurs immediately after the component has been rendered |
| onAfterScroll | occurs when some webix view has been scrolled |
| onAfterSelect | fires after an item has been selected |
| onAfterSort | fires after sorting dataset |
| onAfterUnSelect | fires after an item has been unselected |
| onBeforeAdd | fires before adding an item to the datastore |
| onBeforeClose | fires the moment you attempt to close the tree branch |
| onBeforeContextMenu | fires before the context menu is called in the item area |
| onBeforeDelete | fires before an item is removed |
| onBeforeDrag | fires before the mouse button is pressed and the cursor is moved over a draggable item |
| onBeforeDragIn | fires before a dragged element is moved over the droppable area |
| onBeforeDrop | fires before a dragged element is released over the droppable area |
| onBeforeDropOut | fires before a dragged element is released over the droppable area outside the source widget |
| onBeforeLoad | fires immediately before data loading has started |
| onBeforeOpen | fires the moment you attempt to open the tree branch |
| onBeforeRender | occurs immediately before the component has been rendered |
| onBeforeSelect | fires before item selection has started |
| onBeforeSort | fires before sorting of the dataset |
| onBeforeUnSelect | fires before unselection of an item has started |
| onBindRequest | fires when the component is ready to receive data from the master component |
| onBlur | fires when focus is moved out of the view |
| onDataRequest | fires when data from the server is requested for linear data structures (List, DataTable, DataView etc.) to implement dynamic data loading |
| onDataUpdate | fires when a data item is being updated |
| onDestruct | occurs when component destroyed |
| onDragOut | fires when a dragged element is moved outside of the droppable area |
| onEnter | fires when the Enter key has been pressed |
| onFocus | fires when a view gets focus |
| onItemCheck | called when the checkbox inside the tree item was checked |
| onItemClick | fires when a component item was clicked |
| onItemDblClick | fires when a component item was double-clicked |
| onItemRender | for each item rendering, occurs only for items with custom templates |
| onItemSingleClick | allows distinguishing between single and double-click events |
| onKeyPress | occurs when keyboard key is pressed for the control in focus |
| onLoadError | fires when an error occurs during data loading (invalid server side response) |
| onLongTouch | fires on holding finger in some position for a certain period of time |
| onMouseMove | fires when the mouse was moved over the specified component |
| onMouseMoving | fires when the mouse was moved over the component |
| onMouseOut | fires when the mouse was moved out from the specified item |
| onPartialRender | called when part of tree is repainted |
| onPaste | fires when the clipboard is enabled and the user presses CTRL+V keys combination |
| onSelectChange | fires after selection state was changed |
| onSwipeX | occurs on a horizontal swipe movement |
| onSwipeY | occurs on a vertical swipe movement |
| onTabFocus | fires after a tab focus has been changed |
| onTimedKeyPress | fires after typing has been finished in the field |
| onTouchEnd | occurs when the touch event is ended |
| onTouchMove | occurs during touch movement |
| onTouchStart | fires when some webix view has been touched |
| onValidationError | fires when newly loaded/added/edited data fail to pass validation |
| onValidationSuccess | fires after the newlyloaded/added/edited data has passes validation successfully |
| onViewResize | fires when the size of a view has been changed by resizer |
| onViewShow | fires when any hidden view is shown |
| activeTitle | defines whether the first-level menu items are expandable |
| animate | defines the type of animation, with which the view is shown, if it is a Multiview cell |
| borderless | used to hide the component borders |
| click | sets an action happening on a button click |
| clipboard | enables/disables clipboard support on desktop devices |
| collapsed | defines whether the sidebar will be rendered in the collapsed or expanded state |
| collapsedWidth | defines the width of Sidebar in the collapsed state |
| container | an HTML container (or its ID) where the component should be initialized |
| css | the name of the CSS class or the object with styles that will be applied to the view container |
| data | JavaScript array containing data for the component |
| datathrottle | sets the polling interval (the time period between the completion of a network request and the next request for data) |
| datatype | the type of loaded data |
| delimiter | sets CSV delimiters for clipboard operations |
| disabled | indicates whether an item is enabled |
| drag | enables or disables drag-and-drop |
| dragscroll | enables autoscroll of the component during drag-n-drop |
| filterMode | defines the pattern for tree item filtering |
| gravity | sets the view gravity |
| height | sets the height of the component |
| hidden | defines whether the view will be hidden initially |
| id | the ID of a widget |
| item | alias to the type property |
| keyPressTimeout | a delay between the key press and the action |
| maxHeight | sets the maximum height for the view |
| maxWidth | sets the maximum width for the view |
| minHeight | sets the minimal height for the view |
| minWidth | sets the minimal width for the view |
| mouseEventDelay | the delay between a real mouse action and invoking the related events |
| multipleOpen | allows expanding several menu items at a time |
| navigation | activates the selection keyboard navigation |
| on | allows attaching custom handlers to inner events of the component |
| onClick | attaches a click handler for component parts with the specified CSS class |
| onContext | a property used to define custom context-click (right click) handlers for elements in the DataTable cells |
| onDblClick | attaches a dblclick behavior for component items with the specified CSS class. |
| onMouseMove | attaches a mousemove behavior for component items with the specified CSS class. |
| pager | defines paging configuration (creates a "ui.pager" object) |
| position | sets the position of sidebar |
| prerender | invokes the full rendering of data |
| ready | the event handler is called just after the component has been completely initialized |
| removeMissed | defines how to treat items in case of reloading |
| rules | set of validation rules for the component |
| save | defines URLs for data saving |
| scheme | defines schemes for data processing |
| scroll | enables/disables the scroll bar |
| scrollSpeed | the time during which the component is scrolled to the specified position (in milliseconds) |
| select | enables/disables items selection or multiselection in widgets |
| template | the component template |
| templateCopy | sets the template according to which data will be copied to the clipboard |
| threeState | enable three-state checkboxes |
| titleHeight | sets the height of the title of the first-level menu items in the popups |
| tooltip | sets a popup message next to the item when the cursor points to it |
| type | an object that specifies items presentation |
| url | the URL which the component will use to load data after its initialization |
| width | sets the width of a widget |
| $drag | the method is called when a drag operation is initiated |
| $dragHTML | defines how a dragged item will look |
| $dragIn | the method is called when an item is moved into a possible drop landing during dnd |
| $dragMark | called during drag-n-drop, when some item of the component should be marked as an active drop target |
| $dragOut | the method is called when an item is moved out of a possible drop landing during dnd |
| $drop | the method is called when an item is dragged and dropped on a valid target |
| $dropAllow | can be redefined, if you need custom drop rules |
| $dropHTML | defines how the drop area will look before drop |
| $fixEditor | applies editor adjusting logic to tree |
| $getSize | returns the current size of the component |
| $height | the current height of the view |
| $scope | scope for resolving event and method names |
| $setNode | defines HTML element for the component |
| $setSize | sets the component size |
| $skin | the method which will be called when skin is defined |
| $tooltipIn | shows a tooltip |
| $tooltipMove | defines the tooltip while the cursor moves over a view or an HTML area |
| $tooltipOut | defines the behavior of a tooltip when the cursor is out of the target widget or HTML area |
| $view | reference to the top HTML element of the view |
| $width | the current width of the view |
| config | all options from the initial component configuration |
| data | inner DataStore |
| name | indicates the name of the component (a read-only property) |
| on_click | redefines default click behavior for component items. |
| on_context | a property used to define custom context-click (right click) handlers for elements in widgets |
| on_dblclick | attaches a dblclick behavior for component items with the specified CSS class |
| on_mouse_move | attaches a mouse move behavior for component items with the specified CSS class |
| type | set of properties and helpers for item rendering |
| types | collection of possible types |
| waitData | eventual result of an asynchronous operation ('promise' object) for the loaded data |