jsTree - jquery tree plugin
Description
jsTree:
- ♦ is a javascript based, cross browser tree component. It is packaged as a jQuery plugin.
- ♦ is absolutely free (licensed same as jQuery – under the terms of either the MIT License or the GPL v2 License).
- ♦ is a one man project and relies on its great community for feature requests & bug reports. Join in!
- ♦ passes jslint validation, minifies nicely and does not modify the global scope in any way.
- ♦ uses plugins so feel free to remove any plugins you do not use (for an even smaller download) or create your own plugins.
Features at a glance
- Various data sources - HTML, JSON, XML
- Supports AJAX loading
- Drag & drop support
- Highly configurable
- Theme support + included themes
- Uses jQuery's event system
- Optional keyboard navigation
- Maintain the same tree in many languages
- Inline editing
- Open/close optional animation
- Define node types and fine tune them
- Configurable multitree drag & drop
- Optional checkbox tree support
- Search function
- Supports plugins
- Optional state saving using cookies
- RTL support
- Optional sorting / unique management
if you like the project - consider supporting jstree.
Plugins documentation
As of version 1.0 jsTree is extremely plugin friendly, so all functionality is now wrapped in plugins, which take care of various aspects of the tree and can be removed without affecting the functionality of other plugins. Below you will find a list of plugins - each with its own documentation page. Probably a good place to start is the core.
- Core functionality
all core functions for manipulating the tree + basic examples of including, configuring and working with the tree, along with demos of the new event system
- HTML_DATA plugin
enables jsTree to convert nested unordered lists to interactive trees, an already existing UL may be used or data could be retrieved from a server
- JSON_DATA plugin
enables jsTree to convert JSON objects to interactive trees, data can be set up in the config or retrieved from a server
- XML_DATA plugin
enables jsTree to convert XML objects to interactive trees (using XSL), data can be set up in the config or retrieved from a server
- Themes plugin
controls the looks of jstree - without this plugin you will get a functional tree, but it will look just like an ordinary UL list
- UI plugin
handles selecting, deselecting and hovering tree items
- CRRM plugin
handles creating, renaming, removing and moving nodes by the user, also includes cut/copy/paste functions
- Hotkeys plugin
enables support for keyboard navigation & shortcuts, highly configurable
- Languages plugin
enables multilanguage support - each node can have multiple titles, but only one is visible
- Cookies plugin
enables jstree to save the state of the tree across sessions, by saving selected and opened nodes in a cookie
- Sort plugin
enables jstree to automatically sort all nodes
using a specified function - DND plugin
enables drag'n'drop support for jstree, also using foreign nodes and drop targets
- Checkbox plugin
makes multiselection possible using three-state checkboxes
- Search plugin
enables searching for nodes whose title contains a given string, works on async trees too
- Contextmenu plugin
enables a multilevel context menu on tree items
- Types plugin
each node can have a type, and you can define rules on how that type should behave
- Themeroller plugin
adds support for jQuery UI's themes
- Unique plugin
adds unique checking to jsTree
- Wholerow plugin
enhances UIs select & hover functions