Contents
- Add nodes
- Common
- CheckBox
- Drag and Drop
- Expand/Collapse nodes
- Node Editing
- Node Selection
- Template
Having trouble getting help?
Contact Support
Contact Support
Ej1 api migration in React TreeView component
23 Jan 202524 minutes to read
This article describes the API migration process of TreeView component from Essential JS 1 to Essential JS 2.
Add nodes
Behavior | API in Essential JS 1 | API in Essential JS 2 |
---|---|---|
Add node |
Method: addNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.addNode("Node", "#book");
|
Method: addNodes<TreeViewComponent fields={this.field} /> public tree: TreeViewComponent; var object = [{ id: "temp", name: "New node" }, { id: "new", name: "New node 1" }]; tree.addNodes(object, "book");
|
Triggers before adding node |
Event: beforeAddReact.createElement(EJ.TreeView, {id: "tree", fields: fields, beforeAdd: this.beforeAdd}); beforeAdd: function(){}
|
Not Applicable |
Adding node after a particular node |
Method: insertAfterReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.insertAfter("node", "book");
|
Can be achieved using<TreeViewComponent fields={this.field} /> public tree: TreeViewComponent; var object = [{ id: "1", name: "node" }], var child = tree.element.querySelector('[data-uid="book"]'); var parent = child.parentElement.closest('.e-list-item'); var level = parseInt(parent.getAttribute('aria-level'))+1; var childNodes = Array.from(parent.querySelectorAll('.e-list-item.e-level-'+level)) var index = childNodes.indexOf(child) tree.addNodes(object, "book", index+1);
|
Adding node before a particular node |
Method: insertBeforeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.insertBefore("node", "book");
|
Can be achieved using<TreeViewComponent fields={this.field} /> public tree: TreeViewComponent; var object = [{ id: "1", name: "node" }], var child = tree.element.querySelector('[data-uid="book"]'); var parent = child.parentElement.closest('.e-list-item'); var level = parseInt(parent.getAttribute('aria-level'))+1; var childNodes = Array.from(parent.querySelectorAll('.e-list-item.e-level-'+level)) var index = childNodes.indexOf(child) tree.addNodes(object, "book", index-1);
|
Triggers when node is added successfully |
Event: nodeAddReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodeAdd: this.nodeAdd}); nodeAdd: function(){}
|
Event: dataSourceChanged<TreeViewComponent fields={this.field} dataSourceChanged={this.dataSourceChanged.bind(this)}/> dataSourceChanged(): void {}
|
Common
Behavior | API in Essential JS 1 | API in Essential JS 2 |
---|---|---|
Keyboard Navigation |
Property: allowKeyboardNavigationReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowKeyboardNavigation: false});
|
Can be achieved using,<TreeViewComponent fields={this.field} keyPress={this.keyPress.bind(this)}/> Script keyPress(args): void { args.cancel = true; }
|
Triggers before node is cut |
Event: beforeCutReact.createElement(EJ.TreeView, {id: "tree", fields: fields, beforeCut: this.beforeCut}); beforeCut: function(){}
|
Not Applicable |
Triggers before node is deleted |
Event: beforeDeleteReact.createElement(EJ.TreeView, {id: "tree", fields: fields, beforeDelete: this.beforeDelete}); beforeDelete: function(){}
|
Not Applicable |
Triggers before loading nodes |
Event: beforeLoadReact.createElement(EJ.TreeView, {id: "tree", fields: fields, beforeLoad: this.beforeLoad}); beforeLoad: function(){}
|
Not Applicable |
Triggers before node is pasted |
Event: beforePasteReact.createElement(EJ.TreeView, {id: "tree", fields: fields, beforePaste: this.beforePaste}); beforePaste: function(){}
|
Not Applicable |
Triggers when TreeView is created |
Event: createReact.createElement(EJ.TreeView, {id: "tree", fields: fields, create: this.onCreate}); onCreate: function(){}
|
Event: created<TreeViewComponent fields={this.field} created={this.onCreated.bind(this)}/> onCreated(): void {}
|
Css class |
Property: cssClassReact.createElement(EJ.TreeView, {id: "tree", fields: fields, cssClass: "custom"});
|
Property: cssClass<TreeViewComponent fields={this.field} cssClass={'custom'}/>
|
Triggers when TreeView is destroyed |
Event: destroyReact.createElement(EJ.TreeView, {id: "tree", fields: fields, destroy: this.onDestroy}); onDestroy: function(){}
|
Event: destroyed<TreeViewComponent fields={this.field} destroyed={this.onDestroyed.bind(this)}/> onDestroyed(): void {}
|
Destroy TreeView control |
Method: destroyReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.destroy();
|
Method: destroy<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.destroy();
|
Disable Node |
Method: disableNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.disableNode("1");
|
Method: disableNodes<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.disableNodes(["1", "2"]);
|
Enable Animation |
Property: enableAnimationReact.createElement(EJ.TreeView, {id: "tree", fields: fields, enableAnimation: false});
|
Property: animation<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.animation.expand.duration=0 tree.animation.collapse.duration=0
|
Control state |
Property: enabledReact.createElement(EJ.TreeView, {id: "tree", fields: fields, enabled: false});
|
Not Applicable |
Enable Node |
Method: enableNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.enableNode("1");
|
Method: enableNodes<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.enableNodes(["1", "2"]);
|
Persistence |
Property: enablePersistenceReact.createElement(EJ.TreeView, {id: "tree", fields: fields, enablePersistence: true});
|
Property: enablePersistence<TreeViewComponent enablePersistence={true} fields={this.field}/>
|
Right to Left |
Property: enableRTLReact.createElement(EJ.TreeView, {id: "tree", fields: fields, enableRTL: true});
|
Property: enableRtl<TreeViewComponent enableRtl={true} fields={this.field}/>
|
Ensure visibility |
Method: ensureVisibleReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.ensureVisible("1");
|
Method: ensureVisible<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.ensureVisible("1");
|
Mapping fields |
Property: fieldsReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var fields = { id: "id",text: "text",parentId: "parent",dataSource: this.localData,isChecked: "checked",selected: "selected",spriteCssClass: "spriteImage",imageUrl: "imageUrl",htmlAttribute: "nodeProperty",linkAttribute: "linkProperty",imageAttribute: "imageProperty" }
|
Property: fields<TreeViewComponent fields={this.field}/> public field: Object = { dataSource: this.localData, id: 'id', parentID: 'pid', text: 'name', hasChildren: 'hasChild', expanded: 'expanded', htmlAttribute: 'htmlAttributes', imageAttribute: 'img', imageUrl: 'imageUrl', isChecked: 'checked', linkAttribute: 'linkAttribute', query: null, selected: 'selected', spriteCssClass: 'custom', tableName: null };
|
Get child nodes |
Method: getChildrenReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getChildren("1");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var parent=tree.element.querySelector('[data-uid="1"]')<br/>console.log(parent.querySelector('.e-list-item'))
|
Get node |
Method: getNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getNode("1");
|
Method: getNode<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.getNode("1");
|
Get node by index |
Method: getNodeByIndexReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getNodeByIndex(3);
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var nodes=tree.element.querySelectorAll('.e-list-item') console.log(nodes[3]);
|
Get node count |
Method: getNodeCountReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getNodeCount();
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var nodes=tree.element.querySelectorAll('.e-list-item') console.log("Node count is " + nodes.length);
|
Get node index |
Method: getNodeIndexReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getNodeIndex("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var nodes=tree.element.querySelectorAll('.e-list-item') var node = tree.element.querySelector('[data-uid="' + "book" + '"]'); while(i<nodes.length) { if(nodes[i] === node) {console.log("Node index is "+i) break; } i++ }
|
Get parent of node |
Method: getParentReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getParent("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var child=tree.element.querySelector('[data-uid="' + "book" + '"]'); var parent = child.parentNode.closest('.e-list-item') console.log(parent)
|
Get tree node text |
Method: getTextReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getText("1");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var nodeText =tree.getNode("1")['text'] console.log(nodeText)
|
Get updated datasource |
Method: getTreeDataReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getTreeData();
|
Method: getTreeData<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.getTreeData();
|
Get visible nodes |
Method: getVisibleNodesReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getVisibleNodes();
|
Not Applicable |
Height of TreeView control |
Property: heightReact.createElement(EJ.TreeView, {id: "tree", fields: fields, height: "400px"});
|
Can be achieved using, <TreeViewComponent fields={this.field} cssClass={'custom'}/> Css .e-treeview.custom{ height: 400px; } |
Checking for child nodes |
Method: hasChildNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.hasChildNode("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var parent=tree.element.querySelector('[data-uid="book"]') if (parent.querySelector('.e-list-item') !== null) { console.log("Has child node") }
|
Hide all nodes |
Method: hideReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.hide();
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.element.querySelector('.e-list-parent').style.display="none"
|
Hide node |
Method: hideNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.hideNode("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.element.querySelector('[data-uid="book"]').style.display="none"
|
HTML Attributes |
Property: htmlAttributesReact.createElement(EJ.TreeView, {id: "tree", fields: fields, htmlAttributes: htmlAttr}); var htmlAttr = {name: "treeview"}; }
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.element.classList.add("htmlAttr")
|
To check if child nodes are loaded |
Method: isChildLoadedReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.isChildLoaded("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var parent=tree.element.querySelector('[data-uid="book"]') if (parent.querySelector('.e-list-item') !== null) { console.log("Child is loaded") }
|
To check if node is disabled |
Method: isDisabledReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.isDisabled("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var node=tree.element.querySelector('[data-uid="book"]') if (node.classList.contains('e-disable') === true) { console.log("Node is disabled") }
|
To check if node exists in TreeView |
Method: isExistReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.isExist("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; if (tree.getNode('book')['text']) !== "") { console.log("Node exists") }
|
To check if node is visible |
Method: isVisibleReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.isVisible("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; if (tree.element.querySelector('[data-uid="book"]').style.display !== "none"){ console.log("Node is visible") }
|
Triggers on key press |
Event: keyPressReact.createElement(EJ.TreeView, {id: "tree", fields: fields, keyPress: this.onKeyPress}); onKeyPress: function(){}
|
Event: keyPress<TreeViewComponent fields={this.field} keyPress={this.onKeyPress.bind(this)}/> onKeyPress(): void {}
|
Load TreeView nodes from particular URl |
Method: loadDataReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.loadData("childData", "book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var dataManager = new DataManager { Url = "/FileContent/rootNode", Adaptor = "UrlAdaptor", CrossDomain = true}; dataManager.executeQuery(new ej.data.Query().take(8).then((e) => { var childData = e.result; tree.addNodes(childData, "book") }));
|
Triggers when data load fails |
Event: loadErrorReact.createElement(EJ.TreeView, {id: "tree", fields: fields, loadError: this.loadError}); loadError: function(){}
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var dataManager = new DataManager { Url = "/FileContent/rootNode", Adaptor = "UrlAdaptor", CrossDomain = true}; dataManager.executeQuery(new ej.data.Query().take(8).error((e) => { console.log('Data load failed') }));
|
Load on demand |
Property: loadOnDemandReact.createElement(EJ.TreeView, {id: "tree", fields: fields, loadOnDemand: true});
|
Property: loadOnDemand<TreeViewComponent fields={this.field} loadOnDemand={false}> TreeView is rendered in load on demand by default
|
Triggers when data load is success |
Event: loadSuccessReact.createElement(EJ.TreeView, {id: "tree", fields: fields, loadSuccess: this.loadSuccess}); loadSuccess: function(){} var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.loadData("childData", "book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var dataManager = new DataManager { Url = "/FileContent/rootNode", Adaptor = "UrlAdaptor", CrossDomain = true}; dataManager.executeQuery(new ej.data.Query().take(8).then((e) => { console.log('Data loaded successfully') }));
|
To move node |
Method: moveNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.moveNode("book", "art");
|
Method: moveNodes<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.moveNodes(["book"], "art");
|
Triggers when node is clicked successfully |
Event: nodeClickReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodeClick: this.nodeClick}); nodeClick: function(){}
|
Event: nodeClicked<TreeViewComponent fields={this.field} nodeClicked={this.onNodeClicked.bind(this)}/> onNodeClicked(): void {}
|
Triggers when node is cut successfully |
Event: nodeCutReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodeCut: this.nodeCut}); nodeCut: function(){}
|
Not Applicable |
Triggers when node is deleted successfully |
Event: nodeDeleteReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodeDelete: this.nodeDelete}); nodeDelete: function(){}
|
Event: dataSourceChanged<TreeViewComponent fields={this.field} dataSourceChanged={this.dataSourceChanged.bind(this)}/> dataSourceChanged(): void {}
|
Triggers when node is pasted successfully |
Event: nodePasteReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodePaste: this.nodePaste}); nodePaste: function(){}
|
Not Applicable |
Triggers when nodes are loaded successfully |
Event: readyReact.createElement(EJ.TreeView, {id: "tree", fields: fields, ready: this.onReady}); onReady: function(){}
|
Event: dataBound<TreeViewComponent fields={this.field} dataBound={this.dataBound.bind(this)}/> dataBound(): void {}
|
Refresh TreeView control |
Method: refreshReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.refresh();
|
Not Applicable |
To show all nodes |
Method: showReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.show();
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.element.querySelector('.e-list-parent').style.display="block"
|
Show node |
Method: showNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.showNode("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.element.querySelector('[data-uid="book"]').style.display="block"
|
Remove all TreeView nodes |
Method: removeAllReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.removeAll();
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.removeNodes([treeObj.element.querySelector('.e-list-parent')])
|
Remove TreeView node |
Method: removeNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.removeNode("book");
|
Method: removeNodes<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.removeNodes("book");
|
Sort order |
Property: sortSettingsReact.createElement(EJ.TreeView, {id: "tree", fields: fields, sortSettings: sortSettings}); var sortSettings = { allowSorting: true, sortOrder: "Descending" }
|
Property: sortOrder<TreeViewComponent sortOrder={'Descending'} fields={this.field}/> |
Update node text |
Method: updateTextReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.updateText("book", "text");
|
Method: updateNode<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; tree.updateNode("book", "text");
|
Width of TreeView control |
Property: widthReact.createElement(EJ.TreeView, {id: "tree", fields: fields, width: "300px"});
|
Can be achieved using, <TreeViewComponent cssClass={'custom'} fields={this.field}/> Css .e-treeview.custom{ width: 300px; } |
CheckBox
Behavior | API in Essential JS 1 | API in Essential JS 2 |
---|---|---|
Prevent auto-check of child and parent |
Property: autoCheckReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true, autoCheck: false});
|
Property: autoCheck<TreeViewComponent fields={this.field} autoCheck={false} showCheckBox={true}/>
|
Prevent indeterminate state in parent node |
Property: autoCheckParentNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true, autoCheckParentNode: false});
|
Can be achieved using,<TreeViewComponent fields={this.field} autoCheck={false} nodeChecked={this.nodeChecked.bind(this) showCheckBox={true}/> public tree: TreeViewComponent; nodeChecked(args): void { var child = tree.element.querySelector('[data-uid="' + args.data[0]['id'] + '"]'); var checkNodes = []; var element = child.parentNode; while ((element !== null || element !== undefined) && !element.parentNode.classList.contains('e-treeview')) { element = element.parentNode; var id = element.getAttribute('data-uid'); if (id !== null) checkNodes.push(element.getAttribute('data-uid')) } if (child.querySelector('.e-list-item') !== null && args.isInteracted === true && args.action === 'check') { tree.autoCheck = true; tree.checkAll(child.getAttribute('data-uid')); } else if (child.querySelector('.e-list-item') !== null && args.isInteracted === true && args.action === 'uncheck') { tree.autoCheck = true; tree.uncheckAll(child.getAttribute('data-uid')); } tree.autoCheck = false; if (args.action === 'check') { tree.checkAll(checkNodes) } else if (args.action === 'uncheck' && child.parentNode.querySelector('.e-check') === null) { tree.uncheckAll(checkNodes) } }
|
Check all nodes |
Method: checkAllReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.checkAll();
|
Method: checkAll<TreeViewComponent fields={this.field} showCheckBox={true}/> public tree: TreeViewComponent; tree.checkAll();
|
Check node |
Method: checkNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.checkNode("book");
|
Method: checkAll<TreeViewComponent fields={this.field} showCheckBox={true}/> public tree: TreeViewComponent; tree.checkAll("book");
|
Set checkednodes |
Property: checkedNodesReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true, checkedNodes: ['2', '8', '12']});
|
Property: checkedNodes<TreeViewComponent fields={this.field} checkedNodes={'3', '9', '13'} showCheckBox={true}/>
|
Get checked nodes |
Method: getCheckedNodesReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getCheckedNodes();
|
Can be achieved using,<TreeViewComponent fields={this.field} showCheckBox={true}/> public tree: TreeViewComponent; var check=tree.getAllCheckedNodes(); var i=0; var checkedNodes; while(i<check.length) { checkedNodes.push(treeObj.element.querySelector('[data-uid="' + checkedNodes[i] + '"]')); i++ } console.log(checkedNodes)
|
Get checked nodes index |
Method: getCheckedNodesIndexReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getCheckedNodesIndex();
|
Can be achieved using,<TreeViewComponent fields={this.field} showCheckBox={true}/> public tree: TreeViewComponent; var nodes=tree.element.querySelectorAll('.e-list-item') var nodeIndex; while(i<nodes.length) { if(nodes[i].classList.contains('e-check')) {nodeIndex.push(i); } i++ } console.log(nodeIndex)
|
To check if nodes are checked |
Method: isNodeCheckedReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.isNodeChecked("book");
|
Can be achieved using,<TreeViewComponent fields={this.field} showCheckBox={true}/> public tree: TreeViewComponent; if (tree.getNode("book")['isChecked'] === true) { console.log("Node is checked") }
|
Triggers when node is checked successfully |
Event: nodeCheckReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true, nodeCheck: this.nodeCheck}); nodeCheck: function(){}
|
Event: nodeChecked<TreeViewComponent fields={this.field} showCheckBox={true} nodeChecked={this.nodeChecked.bind(this)}/> nodeChecked(args): void { if (args.action == "check") {} }
|
Checkbox support |
Property: showCheckboxReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true});
|
Property: showCheckBox<TreeViewComponent fields={this.field} showCheckBox={true}/>
|
To uncheck all nodes |
Method: unCheckAllReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.unCheckAll();
|
Method: uncheckAll<TreeViewComponent fields={this.field} showCheckBox={true}/> public tree: TreeViewComponent; tree.uncheckAll();
|
To uncheck node |
Method: uncheckNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.uncheckNode("book");
|
Method: uncheckAll<TreeViewComponent fields={this.field} showCheckBox={true}/> public tree: TreeViewComponent; tree.uncheckAll(["book"]);
|
Triggers when node is unchecked successfully |
Event: nodeUncheckReact.createElement(EJ.TreeView, {id: "tree", fields: fields, showCheckbox: true, nodeUncheck: this.nodeUncheck}); nodeUncheck: function(){}
|
Event: nodeChecked<TreeViewComponent fields={this.field} showCheckBox={true} nodeChecked={this.nodeChecked.bind(this)}/> nodeChecked(args): void { if (args.action == "un-check") {} }
|
Triggers before nodes are checked/ unchecked | Not Applicable |
Event: nodeChecking<TreeViewComponent fields={this.field} showCheckBox={true} nodeChecking={this.nodeChecking.bind(this)}/> nodeChecking(): void { if (args.action == "check") {} }
|
Drag and Drop
Behavior | API in Essential JS 1 | API in Essential JS 2 |
---|---|---|
Drag and drop |
Property: allowDragAndDropReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowDragAndDrop: true});
|
Property: allowDragAndDrop<TreeViewComponent fields={this.field} allowDragAndDrop={true} />
|
Prevent Drag and drop to another TreeView |
Property: allowDragAndDropAcrossControlReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowDragAndDrop: true, allowDragAndDropAcrossControl:true});
|
Can be achieved using, <TreeViewComponent fields={this.field} allowDragAndDrop={true} nodeDragStop={this.nodeDragStop.bind(this)}/> nodeDragStop(args): void { if (args.draggedParentNode.closest('.e-treeview') !== args.dropTarget.closest('.e-treeview')) { args.cancel = true; }}
|
Prevent sibling drop |
Property: allowDropSiblingReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowDragAndDrop: true, allowDropSibling:false});
|
Can be achieved using,<TreeViewComponent fields={this.field} allowDragAndDrop={true} nodeDragStop={this.nodeDragStop.bind(this)}/> nodeDragStop(args): void { if(args.dropIndicator === "e-drop-next") { args.cancel = true; }}
|
Prevent child drop |
Property: allowDropChildReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowDragAndDrop: true, allowDropChild:false});
|
Can be achieved using,<TreeViewComponent fields={this.field} allowDragAndDrop={true} nodeDragStop={this.nodeDragStop.bind(this)}/> nodeDragStop(args): void { if(args.dropIndicator === "e-drop-in") { args.cancel = true; }}
|
Triggers when node is dragged |
Event: nodeDragReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowDragAndDrop: true, nodeDrag: this.nodeDrag}); nodeDrag: function(){}
|
Event: nodeDragging<TreeViewComponent fields={this.field} allowDragAndDrop={true} nodeDragging={this.nodeDragging.bind(this)}/> nodeDragging(): void {}
|
Triggers when node drag is started successfully |
Event: nodeDragStartReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowDragAndDrop: true, nodeDragStart: this.nodeDragStart}); nodeDragStart: function(){}
|
Event: nodeDragStart<TreeViewComponent fields={this.field} allowDragAndDrop={true} nodeDragStart={this.nodeDragStart.bind(this)}/> nodeDragStart(): void {}
|
Triggers before dragged node drag is stopped |
Event: nodeDragStopReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowDragAndDrop: true, nodeDragStop: this.nodeDragStop}); nodeDragStop: function(){}
|
Event: nodeDragStop<TreeViewComponent fields={this.field} allowDragAndDrop={true} nodeDragStop={this.nodeDragStop.bind(this)}/> nodeDragStop(): void {}
|
Triggers when node is dropped successfully |
Event: nodeDroppedReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowDragAndDrop: true, nodeDropped: this.nodeDropped}); nodeDropped: function(){}
|
Event: nodeDropped<TreeViewComponent fields={this.field} allowDragAndDrop={true} nodeDropped={this.nodeDropped.bind(this)}/> nodeDropped(): void {}
|
Expand/Collapse nodes
Behavior | API in Essential JS 1 | API in Essential JS 2 |
---|---|---|
Triggers before node is collapsed |
Event: beforeCollapseReact.createElement(EJ.TreeView, {id: "tree", fields: fields, beforeCollapse: this.beforeCollapse}); beforeCollapse: function(){}
|
Event: nodeCollapsing<TreeViewComponent fields={this.field} nodeCollapsing={this.nodeCollapsing.bind(this)}/> nodeCollapsing(): void {}
|
Triggers before node is expanded |
Event: beforeExpandReact.createElement(EJ.TreeView, {id: "tree", fields: fields, beforeExpand: this.beforeExpand}); beforeExpand: function(){}
|
Event: nodeExpanding<TreeViewComponent fields={this.field} nodeExpanding={this.nodeExpanding.bind(this)}/> nodeExpanding(): void {}
|
Collapse all nodes |
Method: collapseAllReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.collapseAll();
|
Method: collapseAll<TreeViewComponent fields={this.field} /> public tree: TreeViewComponent; tree.collapseAll();
|
Collapse Node |
Method: collapseNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.collapseNode("1");
|
Method: collapseAll<TreeViewComponent fields={this.field} /> public tree: TreeViewComponent; tree.collapseAll(["1"]);
|
Prevent multiple nodes expand |
Property: enableMultipleExpandReact.createElement(EJ.TreeView, {id: "tree", fields: fields, enableMultipleExpand: true});
|
Can be achieved using,<TreeViewComponent fields={this.field} nodeExpanding={this.nodeExpanding.bind(this)}/> nodeExpanding(args): void { var parent=args.node.parentNode.closest('.e-list-item'); if (parent === null) parent=args.node.parentNode.closest('.e-treeview'); var children=parent.querySelectorAll('.e-list-item'); var i=0; var nodes=[]; while(i<children.length){<br/>nodes.push(children[i].getAttribute("data-uid")); i++;} this.collapseAll(nodes) }
|
Expand all Nodes |
Method: expandAllReact.createElement(EJ.TreeView, {id: "tree", fields: fields, enableMultipleExpand: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.expandAll();
|
Method: expandAll<TreeViewComponent fields={this.field} /> public tree: TreeViewComponent; tree.expandAll();
|
Expand Node |
Method: expandNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.expandNode("1");
|
Method: expandAll<TreeViewComponent fields={this.field} /> public tree: TreeViewComponent; tree.expandAll(["1"]);
|
Gets/Sets Expanded nodes |
Property: expandedNodesReact.createElement(EJ.TreeView, {id: "tree", fields: fields, expandedNodes: ['1', '2']});
|
Property: expandedNodes<TreeViewComponent fields={this.field} expandedNodes={this.expandedNodes}/> public expandedNodes: string[] = ['1', '2'];
|
Expand action |
Property: expandOnReact.createElement(EJ.TreeView, {id: "tree", fields: fields, expandOn: 'Click'});
|
Property: expandOn<TreeViewComponent fields={this.field} expandOn={'Click'}/>
|
Get expanded nodes |
Method: getExpandedNodesReact.createElement(EJ.TreeView, {id: "tree", fields: fields, enableMultipleExpand: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getExpandedNodes();
|
Can be achieved using,<TreeViewComponent fields={this.field} /> public tree: TreeViewComponent; var expand=tree.expandedNodes; var i=0; var expandedNodes; while(i<expand.length) { expandedNodes.push(treeObj.element.querySelector('[data-uid="' + expandednodes[i] + '"]')); i++ } console.log(expandedNodes)
|
Get expanded nodes index |
Method: getExpandedNodesIndexReact.createElement(EJ.TreeView, {id: "tree", fields: fields, enableMultipleExpand: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getExpandedNodesIndex();
|
Not Applicable |
To check if node is expanded |
Method: isExpandedReact.createElement(EJ.TreeView, {id: "tree", fields: fields, enableMultipleExpand: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.isExpanded("book");
|
Can be achieved using,<TreeViewComponent fields={this.field} /> public tree: TreeViewComponent; if(tree.expandedNodes.indexOf("book") !== -1) { console.log("Node is expanded") }
|
Triggers when node is collapsed successfully |
Event: nodeCollapseReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodeCollapse: this.nodeCollapse}); nodeCollapse: function(){}
|
Event: nodeCollapsed<TreeViewComponent fields={this.field} nodeCollapsed={this.nodeCollapsed.bind(this)}/> nodeCollapsed(): void {}
|
Triggers when node is expanded successfully |
Event: nodeExpandReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodeExpand: this.nodeExpand}); nodeExpand: function(){}
|
Event: nodeExpanded<TreeViewComponent fields={this.field} nodeExpanded={this.nodeExpanded.bind(this)}/> nodeExpanded(): void {}
|
Node Editing
Behavior | API in Essential JS 1 | API in Essential JS 2 |
---|---|---|
Editing |
Property: allowEditingReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowEditing: true});
|
Property: allowEditing<TreeViewComponent fields={this.field} allowEditing={true}/>
|
Triggers before node is edited |
Event: beforeEditReact.createElement(EJ.TreeView, {id: "tree", fields: fields, beforeEdit: this.beforeEdit, allowEditing: true}); beforeEdit: function(){}
|
Event: nodeEditing<TreeViewComponent fields={this.field} allowEditing={true} nodeEditing={this.nodeEditing.bind(this)}/> nodeEditing(): void {}
|
To Enable editing programatically | Not Applicable |
Method: beginEdit<TreeViewComponent fields={this.field} allowEditing={true}/> public tree: TreeViewComponent; tree.beginEdit("1");
|
Triggers before node edit is successful |
Event: inlineEditValidationReact.createElement(EJ.TreeView, {id: "tree", fields: fields, inlineEditValidation: this.inlineEditValidation, allowEditing: true}); inlineEditValidation: function(){}
|
Event: nodeEdited<TreeViewComponent fields={this.field} allowEditing={true} nodeEdited={this.nodeEdited.bind(this)}/> nodeEdited(): void {}
|
Triggers when node is edited successfully |
Event: nodeEditReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodeEdit: this.nodeEdit, allowEditing: true}); nodeEdit: function(){}
|
Event: dataSourceChanged Event: dataSourceChanged <TreeViewComponent fields={this.field} allowEditing={true} dataSourceChanged={this.dataSourceChanged.bind(this)}/> dataSourceChanged(): void {}
|
Node Selection
Behavior | API in Essential JS 1 | API in Essential JS 2 |
---|---|---|
Multi-selection |
Property: allowMultiSelectionReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowMultiSelection: true});
|
Property: allowMultiSelection<TreeViewComponent fields={this.field} allowMultiSelection={true}/>
|
Triggers before node is selected |
Event: beforeSelectReact.createElement(EJ.TreeView, {id: "tree", fields: fields, beforeSelect: this.beforeSelect}); beforeSelect: function(){}
|
Event: nodeSelecting<TreeViewComponent fields={this.field} nodeSelecting={this.nodeSelecting.bind(this)}/> nodeSelecting(): void {}
|
Fullrowselection |
Property: fullRowSelectReact.createElement(EJ.TreeView, {id: "tree", fields: fields, fullRowSelect: true});
|
Property: fullRowSelect<TreeViewComponent fields={this.field} fullRowSelect={true}/>
|
Get selected node |
Method: getSelectedNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getSelectedNode();
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var select=tree.selectedNodes; var selectedNode; selectedNode.push(tree.element.querySelector('[data-uid="' + selectedNode[i] + '"]')); console.log(selectedNode)
|
Get selected node index |
Method: getSelectedNodeIndexReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getSelectedNodeIndex();
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; var nodes=tree.element.querySelectorAll('.e-list-item') var nodeIndex; var i = 0; while(i<nodes.length) { if(nodes[i].classList.contains('e-active')) {nodeIndex = i; break; } i++ } console.log(nodeIndex)
|
Get selected nodes |
Method: getSelectedNodesReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowMultiSelection: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getSelectedNodes();
|
Can be achieved using,<TreeViewComponent fields={this.field} allowMultiSelection={true}/> public tree: TreeViewComponent; var select=tree.selectedNodes; var i=0; var selectedNodes; while(i<select.length) { selectedNodes.push(treeObj.element.querySelector('[data-uid="' + selectedNodes[i] + '"]')); i++ } console.log(selectedNodes)
|
Get selected nodes index |
Method: getSelectedNodesIndexReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowMultiSelection: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.getSelectedNodesIndex();
|
Can be achieved using,<TreeViewComponent fields={this.field} allowMultiSelection={true}/> public tree: TreeViewComponent; var nodes=tree.element.querySelectorAll('.e-list-item') var nodeIndex; var i = 0; while(i<nodes.length) { if(nodes[i].classList.contains('e-active')) {nodeIndex.push(i); } i++ } console.log(nodeIndex)
|
To check if node is selected |
Method: isSelectedReact.createElement(EJ.TreeView, {id: "tree", fields: fields}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.isSelected("book");
|
Can be achieved using,<TreeViewComponent fields={this.field}/> public tree: TreeViewComponent; if (tree.selectedNodes.indexOf("book") !== -1) { console.log("Node is selected") }
|
Triggers when node is selected successfully |
Event: nodeSelectReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodeSelect: this.nodeSelect}); nodeSelect: function(){}
|
Event: nodeSelected<TreeViewComponent fields={this.field} nodeSelected={this.nodeSelected.bind(this)}/> nodeSelected(args): void { if (args.action =="select") {} }
|
Select all nodes |
Method: selectAllReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowMultiSelection: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.selectAll();
|
Can be achieved using,<TreeViewComponent fields={this.field} allowMultiSelection={true}/> public tree: TreeViewComponent; var nodes = tree.element.querySelectorAll('.e-list-item') var selectednodes; for(int i = 0; i < nodes.length; i++) { selectednodes.push(nodes[i].getAttribute('data-uid'))} tree.selectedNodes = selectednodes;
|
Gets/Sets selected node |
Property: selectedNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields, selectedNode: ['1']});
|
Property: selectedNodes<TreeViewComponent fields={this.field} selectedNodes={this.selectedNode}/> public selectedNode: string[] = ['1'];
|
Select node |
Method: selectNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowMultiSelection: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.selectNode(["book"]);
|
Can be achieved using,<TreeViewComponent fields={this.field} allowMultiSelection={true}/> public tree: TreeViewComponent; tree.selectedNodes=["book"]
|
Gets/Sets selected nodes |
Property: selectedNodesReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowMultiSelection: true, selectedNodes: ['1', '2']});
|
Property: selectedNodes<TreeViewComponent fields={this.field} allowMultiSelection={true} selectedNodes={this.selectedNode}/> public selectedNodes: string[] = ['1', '2'];
|
Triggers when node is unselected successfully |
Event: nodeUnselectReact.createElement(EJ.TreeView, {id: "tree", fields: fields, nodeUnselect: this.nodeUnselect}); nodeUnselect: function(){}
|
Event: nodeSelected<TreeViewComponent fields={this.field} nodeSelected={this.nodeSelected.bind(this)}/> nodeSelected(args): void { if (args.action =="un-select") {} }
|
To unselect all nodes |
Method: unselectAllReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowMultiSelection: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.unselectAll();
|
Can be achieved using,<TreeViewComponent fields={this.field} allowMultiSelection={true}/> public tree: TreeViewComponent; tree.selectedNodes=[];
|
To unselect node |
Method: unselectNodeReact.createElement(EJ.TreeView, {id: "tree", fields: fields, allowMultiSelection: true}); var treeObj = $(“#tree”).data(“ejTreeView”); treeObj.unselectNode("book");
|
Can be achieved using,<TreeViewComponent fields={this.field} allowMultiSelection={true}/> public tree: TreeViewComponent; var selectedNodes=tree.selectedNodes.pop(book)
|
Template
Behavior | API in Essential JS 1 | API in Essential JS 2 |
---|---|---|
Custom template |
Property: templateReact.createElement(EJ.TreeView, {id: "tree", fields: fields, template: templateData});
|
Property: nodeTemplate<TreeViewComponent fields={this.field} nodeTemplate={this.templateData}/>
|