Functions bound directly to the tree_component class:
-
$.tree_create()
function - accepts no arguments - returns an empty tree instance, which you can call init on.
-
$.tree_focused()
function - accepts no arguments - returns a reference to the currently selected instance.
Example: bind $.tree_focused().rename() to the F2 key.
-
$.tree_reference(id)
function - accepts one argument - the ID of the instance you are looking for (this can be either the container node’s ID attribute or the index of the tree) - returns the desired tree instance or null on error.
-
$.tree_rollback(rb)
function - accepts one argument - a rollback object (you get this object as the final argument in the onmove, ondelete, onremove, oncopy, onrename, oncreate callbacks) - returns all the involved trees in their previous state.
Some of the variables available for each tree instance (commonly used ones are black) (properties):
- cntr
integer - a counter of all jstree instances - this number is unique with each instance.
- container
jQuery - the container of the tree (the node you passed at initialization).
- current_lang
string - the currently visible language (one of the strings you passed at initialization). If no language versions are used this is false.
- hovered
jQuery - the currently hovered node, but only if set by the hover_branch function. This variable does not update as the mouse hovers nodes. If no node is hovered equals false.
- li_height
integer - the height of a node (used internally for calculations).
- locked
boolean - the current lock status of the tree.
- offset
object - the offset (left & top) of the container.
- opened
array - a list of ids that are opened. This is used internally and most of the time this array is empty.
If you need to track the open nodes - either implement it yourself using the onopen and onclose callbacks or use the COOKIE functionality. - path
string - the path to the tree’s files (where you included tree_component.js from).
- selected
jQuery - the object you selected last (when multiselecting this contains only THE LAST selected node).
- selected_arr
array - array of jQuery objects - all the selected nodes (this array exists only id settings.multiple is different from false).
- settings
object - the object you passed at initialization merged with the defaults (some properties can be modified runtime).
- sn
string - the sheet number of tree_component.css.
Most of the functions available for each tree instance (methods)
- init
Arguments: [REQ]container node, [OPT]options.
The function that initializes the tree and binds all events. - off_height
Arguments: none
This function is used only internally. It saves the height of a single node and the offset of the container (relative to the document) in member variables (offset and li_height). - refresh
Arguments: [OPT]node to refresh
This function refreshes the whole tree (saves the status - open nodes, selected nodes, etc). If you pass a node as an argument only the node’s children are refreshed. - parseJSON
Arguments: [REQ]data
This function converts a JSON object (structured acoording to the specification) into the HTML structure required by jsTree. - getJSON
Arguments: [OPT]node to begin from, [OPT]attributes to collect from the <li> node, [OPT]attributes to collect from the <a> node, [OPT]force long JSON format.
This function traverses the whole tree and exports it as JSON. Refer do the data sources section to see the format of the output. If the third argument is not an empty array, or the node has an icon - the long format is used, otherwise - the short. If you prefer to always have the long format - pass the fourth argument as true
If you specify a node as the first argument, only that node and its children are included in the export, otherwise the whole tree is exported.
The second argument defaults to: [ "id", "rel", "class" ]. If you want to collect other attributes - pass an array like this one as the second argument.
The third argument defaults to an empty array.
The fourth argument defaults to false. - getXML
Arguments: [OPT]type (string “flat” or “nested”), [OPT]node to begin from, [OPT]attributes to collect from the <li> node, [OPT]attributes to collect from the <a> node, cb - used only internally.
This function traverses the whole tree and exports it as XML. Refer do the data sources section to see the format of the output.
If you specify a node as the second argument, only that node and its children are included in the export, otherwise the whole tree is exported.
The second argument defaults to: [ "id", "rel", "class" ]. If you want to collect other attributes - pass an array like this one as the second argument.
The third argument defaults to an empty array. - focus
Arguments: none
This function focuses the instance it is called from. This function is mainly used internally - in most cases you do not need to call that function. - attachEvents
Arguments: none
This function should be called only once - it attaches all required events to the tree. You do not need to call this function. - checkMove
Arguments: [REQ]node(nodes) that are moved or copied, [REQ]reference node, [REQ]position
This function checks if a move does or does not conflict with the specified rules for the tree. It also checks internal rules specified as metadata. You do not need to call this function. Returns true if a move does not conflict any rules, otherwise false. - reselect
Arguments: none
This function is usually called internally after a refresh - it restores the status that was saved before the refresh (scroll position, opened nodes, selected nodes, etc). - get_node
Arguments: [REQ]node
This function returns the jQuery extended copy of the node passed as the first argument if it is a <li> node. Otherwise it searches for the first parent of the passed node that is a list item. - get_type
Arguments: [REQ]node
Return the type of the node passed as the first argument. - scrollCheck
Arguments: [REQ]x, [REQ]y
This function is used internally to scroll the container when the user drags a node near its edge. - check
Arguments: [REQ]rule, [REQ]nodes
This function checks a node against rules (clickable, draggable, etc). Returns true or false respectively. - hover_branch
Arguments: [REQ]node
Sets the node passed as the first argument as hovered. - select_branch
Arguments: [REQ]node, [OPT]is multiselect
Selects the node passed as the first argument. If the second argument is set to true the previously selected nodes are not deselected (mutliselect). - deselect_branch
Arguments: [REQ]node
Deselects the node passed as the first argument. - toggle_branch
Arguments: [REQ]node
Toggles the state of the node (opened or closed) passed as the first argument. - open_branch
Arguments: [REQ]node, [OPT]disable animation, [OPT]callback function
Opens the node passed as the first argument. If the second argument is set to true there is no animation. The third argument can be a function that will be called upon completion (usually this is used only internally - for most need you could use the onopen callback). - close_branch
Arguments: [REQ]node
Closes the node passed as the first argument. - open_all
Arguments: [OPT]node
Opens all nodes. If you pass a node as the first argument - all of its subnodes are opened. - close_all
Arguments: none
Closes all nodes. - show_lang
Arguments: [REQ]index
Switches to the language specified by the index passed as the first argument (the index corresponds to one of the items in the settings.languages array). - cycle_lang
Arguments: none
Switches to the next language in the settings.languages array. - create
Arguments: [OPT]obj, [OPT]reference node, [OPT]position for the new node
Creates a new node at the specified location (the second argument). The first argument is a JavaScript object, which follows the JSON jsTree format. If the second argument is not a valid node - then the currently selected node is used. The final argument positions the node amongst the children of the parent node (it is zero-based, so passing 0 would position the node as the first child), if position is not passed - the value from settings.rules.createat is used (”top” or “bottom”). You can also pass “before” or “after” as the final argument - then the new node will be positioned before or after the reference node, and not inside it. - rename
Arguments: [OPT]node
Renames the passed or currently selected node. - remove
Arguments: [OPT]node
Removes the node specified in the first argument. If not present - removes the currently selected node. - next
Arguments: [REQ]node, [OPT]strict
Returns the next sibling of the node passed as the first argument. If strict is not set to true next behaves like the explorer shortcuts (if you are at the last child of a node, calling next will return the next sibling of the parent node). - prev
Arguments: [REQ]node, [OPT]strict
Returns the previous sibling of the node passed as the first argument. If strict is not set to true prev behaves like the explorer shortcuts (if you are at the first child of a node, calling prev will return the parent node). - parent
Arguments: [REQ]node
Returns the parent node of the node passed as the first argument. - children
Arguments: [REQ]node
Returns the children nodes of the node passed as the first argument. -
get_next
get_prev
get_left
get_rightArguments: [OPT]force selection
Those functions recreate the standart functionality of the keyboard arrows when browsing a tree, by moving the selection. If settings.ui.hover_mode is set to true they only move the hover state, unless the force argument is set to true. - toggleDots
Arguments: none
Toggles the dots connecting the nodes. - set_cookie
Arguments: [REQ]type
Set the cookies if the cookie functionality is enabled. The argument is either “selected” or “open” - this defines which cookie to set. - moved
Arguments: [REQ]node(nodes) that are moved or copied, [REQ]reference node, [REQ]position, [OPT]is new, [OPT]is copy
This is the actual function that moves nodes around and performs the cleanup after a move. It is used internally. - error
Arguments: [OPT]error message
A simple function that only executes the onerror callback and returns false. - lock
Arguments: [REQ]state
This function locks / unlocks the tree (when locked no user interaction is allowed). The state argument is Boolen - true to lock, false to unlock. -
cut
copyArguments: none
Those cut/copy functions cut or copy the currently selected nodes. -
paste
Arguments: [OPT]refenrece node, [OPT]position.
The paste function pastes the cut or copied nodes in the specified reference node, or the currently selected node. Position is the same as with the create function. If you pass -1 as reference node, nodes are pasted as root nodes. - search
Arguments: [REQ]search string
This function performs a search by opening all parent nodes of nodes which contain the search string. Those nodes receive the class “search”. If settings.data.async is set to true, a request is also made to settings.data.url along with the parameter (GET or POST) “search” containing the search string - the expected response is a list of comma-separated IDs which will be loaded. -
Arguments: none
Builds the context menu onload and after a refresh. -
Arguments: none
Gets a rollback object for the tree it is executed in. - destroy
Arguments:none
This function destroys the instance. It also unbinds all events associated with it. If the instance was focused - the first available instance is focused.