AnyChart
API Reference
Still have questions?
Contact support
Top

class anychart.data.Tree Improve this Doc

Extends: anychart.core.Base

Tree data model.

Methods Overview

Data
addChild()Adds a new root element and returns it.
addChildAt()Inserts a new root element into a specified position by index and returns it.
addData()Adds a data.
createIndexOn()Creates an index on a specified field.
dispatchEvents()Tree CRUD events dispatching
getChildAt()Gets the child by index.
getChildren()Returns a copy of roots array.
getTraverser()Creates tree data traverser.
indexOfChild()Gets the index of child in a roots array.
mapAs()Returns a new mapping for the tree.
numChildren()Returns a length of roots array.
removeChild()Removes tree's root data item.
removeChildAt()Removes the child at specified position.
removeChildren()Removes children of the tree.
removeIndexOn()Removes index on a specified field.
search()Performs a data search.
searchItems()Performs search of an array of the items.
Events
listen()Adds an event listener.
listenOnce()Adds a single time event listener.
removeAllListeners()Removes all listeners.
unlisten()Removes the listener.
unlistenByKey()Removes the listener by the key.
Miscellaneous
filter()Filters the tree data items using the filter-function.

Methods Description

addChild

Adds a new root element and returns it.

Params:

NameTypeDescription
childObjectChild object.

Returns:

anychart.data.Tree.DataItem - An instance of the class for method chaining.

addChildAt

Inserts a new root element into a specified position by index and returns it.

Params:

NameTypeDescription
childObject | anychart.data.Tree.DataItem | anychart.data.TreeView.DataItemChild object.
indexnumberPosition.

Returns:

anychart.data.Tree.DataItem - An instance of the class for method chaining.

addData

Adds a data.

Params:

NameTypeDescription
dataArray.<Object> | stringRaw data.
fillingMethodanychart.enums.TreeFillingMethod | stringFilling method.
csvSettingsOrDepsObject | Array.<anychart.data.Tree.Dependency>CSV settings object or dependencies data.

Returns:

anychart.data.Tree - Self instance for method chaining.

createIndexOn

Creates an index on a specified field.
It can't be indexed by 'parent' or 'children' fields because these fields are not available by treeItem.get(field);.

Params:

NameTypeDescription
fieldstringField name.
asStringbooleanIf the value should be treated as string always.
comparisonFnfunction(value1:*, value2:*)Indexing comparison function.
Should take 2 arguments to compare and return a negative number, zero, or positive number depending on whether the first argument is less than, equal to or greater than the second.
The binary insertion mechanism is used to index the data by a specified field (for further search acceleration using the binary search).
There is a default sorting function for the number, string, and boolean values. Other types require custom function in order for indexing and search to work correctly. To search using the anychart.data.Tree#search and anychart.data.Tree#searchItems) methods on an indexed field with a custom comparison function, the comparison function specified for the indexing must be applied. The index on the 'id' field is created automatically when the data tree is created.

Returns:

anychart.data.Tree - Self instance for method chaining.
Sample for method createIndexOn.
var rawdata = [
{name: 1, children: [
    {name: 2, children: [
        {name: 3},
        {name: 4, children: [
            {name: 5},
            {name: 6}
        ]}
    ]},
    {name: 7, children: [
        {name: 8}
    ]}
]}
];
var treeData = anychart.data.tree(rawdata, anychart.enums.TreeFillingMethod|string.TREE);
treeData.createIndexOn("name"); // Creates index.
treeData.search('name', 5);

dispatchEvents

Gets tree CRUD events dispatching.

Returns:

boolean - Returns enabled state.
Starts or stops tree CRUD events dispatching.

Params:

NameTypeDefaultDescription
enabledboolean
true
Enabled state to set.

Returns:

anychart.data.Tree - Self instance for method chaining.

filter

Filters the tree data items using the filter-function.

Params:

NameTypeDescription
filterFunctionfunction(item:anychart.data.Tree.DataItem|anychart.data.TreeView.DataItem)Filter function.

Returns:

Array.<(anychart.data.Tree.DataItem|anychart.data.TreeView.DataItem)> - An array of data items.

getChildAt

Gets the child by index.

Params:

NameTypeDescription
indexnumberIndex of child to find.

Returns:

anychart.data.Tree.DataItem | undefined - Child into a specified position.

getChildren

Returns a copy of roots array.

Returns:

Array.<anychart.data.Tree.DataItem> - Copy of roots array.

getTraverser

Creates tree data traverser.

Returns:

anychart.data.Traverser - An instance of the class for method chaining.
Sample for method getTraverser.
var rawdata = [
{name: 1, children: [
    {name: 2, children: [
        {name: 3},
        {name: 4, children: [
            {name: 5},
            {name: 6}
        ]}
    ]},
    {name: 7, children: [
        {name: 8}
    ]}
]}
];
var treeData = anychart.data.tree(rawdata, anychart.enums.TreeFillingMethod|string.TREE);
treeData.getTraverser(); // creates traverser

indexOfChild

Gets the index of child in a roots array.

Params:

NameTypeDescription
childanychart.data.Tree.DataItem | anychart.data.TreeView.DataItemChild for getting of index.

Returns:

number - Index of child.

listen

Adds an event listener to an implementing object.

Params:

NameTypeDefaultDescription
typestring
The event type id.
listenerfunction(e:Object)
Callback method. Function that looks like:
function(event){
   // event.actualTarget - actual event target
   // event.currentTarget - current event target
   // event.iterator - event iterator
   // event.originalEvent - original event
   // event.point - event point
   // event.pointIndex - event point index
}
useCaptureboolean
false
Whether to fire in capture phase. Learn more about capturing https://javascript.info/bubbling-and-capturing
listenerScopeObject
Object in whose scope to call the listener.

Returns:

Object - Unique key for the listener.

listenOnce

Adds an event listener to an implementing object.

Params:

NameTypeDefaultDescription
typestring
The event type id.
listenerfunction(e:Object)
Callback method.
useCaptureboolean
false
Whether to fire in capture phase. Learn more about capturing https://javascript.info/bubbling-and-capturing
listenerScopeObject
Object in whose scope to call the listener.

Returns:

Object - Unique key for the listener.

mapAs

Returns a new mapping for the tree.

Params:

NameTypeDescription
mappingObjectMapping for the tree.

Returns:

anychart.data.TreeView - An instance of the class for method chaining.

numChildren

Returns a length of roots array.

Returns:

number - Number of roots.

removeAllListeners

Removes all listeners from an object. You can also optionally remove listeners of some particular type.

Params:

NameTypeDescription
typestringType of event to remove, default is to remove all types.

Returns:

number - Number of listeners removed.

removeChild

Removes tree's root data item.

Params:

NameTypeDescription
childanychart.data.Tree.DataItemChild for removal.

Returns:

anychart.data.Tree.DataItem - An instance of the class for method chaining.

removeChildAt

Removes the child at specified position.

Params:

NameTypeDescription
indexnumberIndex of data item for removal.

Returns:

anychart.data.Tree.DataItem - Removed item or null if item is not found.

removeChildren

Removes children of the tree.

Returns:

anychart.data.Tree - Self instance for method chaining.

removeIndexOn

Removes index on a specified field.

Params:

NameTypeDescription
fieldstringField name.

Returns:

anychart.data.Tree - Self instance for method chaining.
Sample for method removeIndexOn.
var rawdata = [
{name: 1, children: [
    {name: 2, children: [
        {name: 3},
        {name: 4, children: [
            {name: 5},
            {name: 6}
        ]}
    ]},
    {name: 7, children: [
        {name: 8}
    ]}
]}
];
var treeData = anychart.data.tree(rawdata, anychart.enums.TreeFillingMethod|string.TREE);
treeData.createIndexOn('name');
treeData.search('name', 5);
treeData.removeIndexOn('name'); // removes index

searchItems

Performs a data search.
Learn more about searching.

Params:

NameTypeDescription
fieldstringSearch field name.
value*Value to be found.
comparisonFnfunction(value1:*, value2:*)An optional comparison function by which the array is ordered. Should take 2 arguments to compare and return a negative number, zero, or positive number depending on whether the first argument is less than, equal to or greater than the second.

Returns:

Array.<anychart.data.Tree.DataItem> - An array of found tree data items. If nothing is found, the array is returned empty.

unlisten

Removes a listener added using listen() or listenOnce() methods.

Params:

NameTypeDefaultDescription
typestring
The event type id.
listenerfunction(e:Object):boolean|undefined
Callback method.
useCaptureboolean
false
Whether to fire in capture phase. Learn more about capturing https://javascript.info/bubbling-and-capturing
listenerScopeObject
Object in whose scope to call the listener.

Returns:

boolean - Whether any listener was removed.

unlistenByKey

Removes an event listener which was added with listen() by the key returned by listen() or listenOnce().

Params:

NameTypeDescription
keyObjectThe key returned by listen() or listenOnce().

Returns:

boolean - Whether any listener was removed.