UNPKG

js-pkg

Version:
10 lines 116 kB
/*! * filename: ej.treeview.min.js * version : 15.3.0.33 * Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. * Use of this code is subject to the terms of our license. * A copy of the current license can be obtained at any time by e-mailing * licensing@syncfusion.com. Any infringement will be prosecuted under * applicable laws. */ (function(n){typeof define=="function"&&define.amd?define(["./../common/ej.core.min","./../common/ej.data.min","./../common/ej.draggable.min","./ej.checkbox.min","./ej.waitingpopup.min"],n):n()})(function(){(function(n,t,r){t.widget("ejTreeView","ej.TreeView",{_rootCSS:"e-treeview",element:null,model:null,validTags:["ul","div"],_addToPersist:["expandedNodes","checkedNodes","selectedNodes"],_setFirst:!1,_requiresID:!0,defaults:{allowMultiSelection:!1,showCheckbox:!1,enableAnimation:!0,allowDragAndDrop:!1,htmlAttributes:{},allowDropChild:!0,allowDropSibling:!0,allowDragAndDropAcrossControl:!0,allowEditing:!1,allowKeyboardNavigation:!0,items:null,fields:{dataSource:null,query:null,tableName:null,child:null,id:"id",parentId:"parentId",text:"text",spriteCssClass:"spriteCssClass",expanded:"expanded",hasChild:"hasChild",selected:"selected",linkAttribute:"linkAttribute",imageAttribute:"imageAttribute",htmlAttribute:"htmlAttribute",imageUrl:"imageUrl",isChecked:"isChecked"},autoCheckParentNode:!1,loadOnDemand:!1,cssClass:"",template:null,enableRTL:!1,expandOn:"dblclick",enablePersistence:!1,enabled:!0,expandedNodes:[],checkedNodes:[],selectedNode:-1,selectedNodes:[],width:null,height:null,autoCheck:!0,enableMultipleExpand:!0,fullRowSelect:!1,sortSettings:{allowSorting:!1,sortOrder:"ascending"},nodeClick:null,beforeExpand:null,nodeExpand:null,beforeCollapse:null,nodeCollapse:null,beforeSelect:null,nodeSelect:null,nodeUnselect:null,nodeCheck:null,nodeUncheck:null,inlineEditValidation:null,beforeEdit:null,nodeEdit:null,keyPress:null,nodeDragStart:null,nodeDrag:null,nodeDragStop:null,nodeDropped:null,beforeAdd:null,nodeAdd:null,beforeDelete:null,nodeDelete:null,beforeCut:null,nodeCut:null,beforePaste:null,nodePaste:null,beforeLoad:null,loadSuccess:null,loadError:null,ready:null,create:null,destroy:null},dataTypes:{allowMultiSelection:"boolean",cssClass:"string",showCheckbox:"boolean",enableAnimation:"boolean",allowDragAndDrop:"boolean",allowDropChild:"boolean",allowDragAndDropAcrossControl:"boolean",allowEditing:"boolean",allowKeyboardNavigation:"boolean",autoCheckParentNode:"boolean",loadOnDemand:"boolean",enableRTL:"boolean",expandOn:"string",enablePersistence:"boolean",enableMultipleExpand:"boolean",fullRowSelect:"boolean",items:"data",fields:{dataSource:"data",query:"data",child:"data"},expandedNodes:"array",checkedNodes:"array",selectedNode:"number",selectedNodes:"array",htmlAttributes:"data",sortSettings:{allowSorting:"boolean",sortOrder:"enum"}},observables:["fields.dataSource"],dataSource:t.util.valueFunction("fields.dataSource"),_setModel:function(i){var r,l,s,h,c,e,f,u,o,a;for(r in i)switch(r){case"allowMultiSelection":this.model.allowMultiSelection=i[r];this.model.allowMultiSelection||(l=n(this._liList[this.model.selectedNodes[0]]),this._unselectAll(),this._isRender=!1,this._nodeSelectionAction(l),this._isRender=!0);break;case"cssClass":this._changeSkin(i[r]);break;case"fields":if(this._deepWatch&&!t.isNullOrUndefined(i[r].dataSource)&&JSON.stringify(this._oldDataSource)==JSON.stringify(typeof i[r].dataSource=="function"?i[r].dataSource():i[r].dataSource))return;this._unWireEvents();h=this.element.hasClass("e-js")?!1:!0;c=h?this.element.children("ul"):this.element;c.empty();this.model.fields==null||i[r]==null?this.model.fields=i[r]:this._extendFields(this.model.fields,i[r]);this.model.expandedNodes=[];this.model.checkedNodes=[];this.model.selectedNodes=[];this.model.selectedNode=-1;this._persistValues(this.model.expandedNodes,"expandedNodes");this._persistValues(this.model.checkedNodes,"checkedNodes");this._persistValues(this.model.selectedNodes,"selectedNodes");this._newDataSource=this.dataSource();!t.isNullOrUndefined(this.model.fields)&&this.dataSource()!=null?this._checkDataBinding():this._initialize();h&&(s=this.element.children(".e-treeview-ul"),c.append(s.children()),s.remove());break;case"allowDragAndDropAcrossControl":this.model.allowDragAndDropAcrossControl=i[r];this._enableDragDrop();break;case"enabled":this._enabledAction(i[r]);break;case"showCheckbox":i[r]?(this.model.showCheckbox=i[r],this._showCheckBox(),this.model.enabled||this.element.find(".nodecheckbox").ejCheckBox("disable")):(this.element.find(".e-item > div > .e-chkbox-wrap").remove(),this._updateCheckedNodes());break;case"autoCheck":this.model.autoCheck=i[r];break;case"autoCheckParentNode":this.model.autoCheckParentNode=i[r];break;case"expandedNodes":if(u=i[r].length,e=JSON.parse(JSON.stringify(this.model.expandedNodes)),u>0)for(this._expandNodes(i[r]),f=0,u=e.length;f<u;f++)i[r].indexOf(e[f])==-1&&this._collpaseNode(n(this._liList[e[f]]));else u==0&&this._collapseAll();i[r]=this.model.expandedNodes;break;case"checkedNodes":if(this.model.showCheckbox)if(u=i[r].length,e=JSON.parse(JSON.stringify(this.model.checkedNodes)),u>0)for(this._checkedNodes(i[r]),f=0,u=e.length;f<u;f++)i[r].indexOf(e[f])==-1&&this._nodeUncheck(n(this._liList[e[f]]).find("> div > .e-chkbox-wrap > .nodecheckbox:first")[0]);else u==0&&this._uncheckAll();i[r]=this.model.checkedNodes;break;case"expandOn":this._off(this.element,this._isDevice&&n.isFunction(n.fn.tap)?this._touchExpandOn:this.model.expandOn,this._expandEventHandler);this._assignTouchExpandOn(i[r]);this._on(this.element,this._isDevice&&n.isFunction(n.fn.tap)?this._touchExpandOn:i[r],this._expandEventHandler);break;case"allowEditing":this._preventEditable();i[r]&&this._allowEditable();break;case"allowKeyboardNavigation":o=i[r]?"_on":"_off";this[o](this.element,"keydown",this._KeyPress);break;case"allowDragAndDrop":this.model.allowDragAndDrop=i[r];i[r]?this._addDragableClass():this._preventDraggable();break;case"allowDropChild":this.model.allowDropChild=i[r];i[r]?this._addDragableClass():this._preventDropChild();break;case"allowDropSibling":this.model.allowDropSibling=i[r];i[r]?this._addDragableClass():this._preventDropSibling();break;case"enableRTL":this.model.enableRTL=i[r];a=this.element.is("UL")?this.element.parent(".e-treeview-wrap"):this.element;o=this.model.enableRTL?"addClass":"removeClass";a[o]("e-rtl");break;case"height":this.element.is("ul")?this.element.parent().height(i[r]):this.element.height(i[r]);break;case"width":this.element.is("ul")?this.element.parent().width(i[r]):this.element.width(i[r]);break;case"selectedNode":case"selectedNodes":this.model.selectedNodes=r=="selectedNode"?[i[r]]:i[r];this.element.find("a.e-text.e-active").removeClass("e-node-focus e-active").closest("li").attr("aria-selected",!1);this._doSelectNodes(this.model.selectedNodes,!1);r!="selectedNode"&&(i[r]=this.model.selectedNodes);break;case"htmlAttributes":this._addAttr(i[r]);break;case"enableMultipleExpand":i[r]||this.collapseAll();this.model.enableMultipleExpand=i[r];break;case"sortSettings":n.extend(this.model.sortSettings,i[r]);t.isNullOrUndefined(this.model.fields)||this.dataSource()==null||(this.model.expandedNodes=[],this.model.checkedNodes=[],this.model.selectedNodes=[],this._checkDataBinding());break;case"fullRowSelect":this._wholeRowEvents("_off");this.model.fullRowSelect=i[r];this.model.fullRowSelect?this._addWholeRowWrap():this._removeWholeRowWrap();this._doWholeRowAction();this._wholeRowEvents("_on")}},_destroy:function(){this.element.html("");this._cloneElement.removeClass("e-treeview e-js e-treeview-wrap");var t=this.element.is("UL")?this.element.parent(".e-treeview-wrap"):this.element;t.replaceWith(this._cloneElement);n("#"+this._id+"_WaitingPopup").remove();window.localStorage?(window.localStorage.removeItem(this._id+"_childNodes"),window.localStorage.removeItem(this._id+"_persistedValues")):window.cookie&&(document.cookie=this._id+"_childNodes=; expires=Thu, 01 Jan 1970 00:00:00 UTC",document.cookie=this._id+"_persistedValues=; expires=Thu, 01 Jan 1970 00:00:00 UTC")},_init:function(){var i,r,n;this._cloneElement=this.element.clone();this._dataSource=[];this._fragment=[];this._templateType="";this._indexID=0;this._newDataSource=this.dataSource();this._id=this.element.prop("id");this._treeList=[];this._isTextbox=!1;this._isDevice=this._checkDevice();this._deepWatch=this.element.attr("e-deepwatch")==="true"&&!(this.dataSource()instanceof t.DataManager)?!0:!1;i=t.browserInfo();this._isIE8=i.name=="msie"&&i.version=="8.0"?!0:!1;this._oldDataSource=JSON.parse(JSON.stringify(this.dataSource()));this._assignTouchExpandOn(this.model.expandOn);this.model.enablePersistence&&(r=this._getCookies("_persistedValues"),r||(n={selectedNodes:[],expandedNodes:[],checkedNodes:[]},n=this._updatePersistAttr(n),this._setCookies("_persistedValues",JSON.stringify(n))));t.isNullOrUndefined(this.model.fields)||this.dataSource()==null?(this._initialize(),this._completeRendering()):this._checkDataBinding()},_initialize:function(){this._cutNode=null;this._beforeEditText=null;this._CurrenctSelectedNodes=[];this._isLoaded=!1;this._renderMultiTouchDialog();this.element.is("ul")?this._createWrapper():(this.element.addClass("e-treeview-wrap e-widget").attr("tabindex",0).children("ul:first").addClass("e-ul e-box"),this.model.width!=null&&this.element.width(this.model.width),this.model.height!=null&&this.element.height(this.model.height),this.model.enableRTL&&this.element.addClass("e-rtl"),this.model.cssClass!=null&&this.element.addClass(this.model.cssClass),this._addAttr(this.model.htmlAttributes));this._elementSettings();this._beforeBaseClass();this.dataSource()==null&&(this._addBaseClass(),this._controlRender());this._addWholeRowWrap();this._isIE8&&(this.element.is("UL")?this.element.parent(".e-treeview-wrap").addClass("e-ie8"):this.element.addClass("e-ie8"));this._finalize()},_completeRendering:function(){this._treeList.length!=0||this._isLoaded||(this._finalizeNode(),this._enabledAction(this.model.enabled),this._triggerEvent("ready",{element:this.element[0]}),this._isLoaded=!0)},_addWholeRowWrap:function(){this.model.fullRowSelect&&(this.element.is("UL")?this.element.parent(".e-treeview-wrap").addClass("e-fullrow-wrap"):this.element.addClass("e-fullrow-wrap"))},_removeWholeRowWrap:function(){this.element.is("UL")?this.element.parent(".e-treeview-wrap").removeClass("e-fullrow-wrap"):this.element.removeClass("e-fullrow-wrap")},_doWholeRowAction:function(){var t,r,i,u;if(this.model.fullRowSelect)for(t=0,r=this._liList.length;t<r;t++)i=n(this._liList[t]),i[0]!=null&&(u=i.find("> .e-text-wrap"),this._renderWholeRow(i,u));else this.element.find(".e-fullrow").remove()},_renderWholeRow:function(t,i){if(t&&this.model.fullRowSelect){var r=document.createElement("div");r.setAttribute("class","e-fullrow");i?n(r).insertAfter(i):t[0].appendChild(r)}},_extendFields:function(t,i){if(t==null||i==null)t=i;else if(t.child==null||i.child==null)n.extend(t,i);else{this._extendFields(t.child,i.child);var r=t.child;n.extend(t,i);n.extend(t.child,r)}},_checkDevice:function(){return t.isDevice()&&t.isTouchDevice()},_assignTouchExpandOn:function(n){this._touchExpandOn=n=="dblclick"?"doubletap":n=="click"?"tap":n},_renderMultiTouchDialog:function(){var i,r,u;this._customPop=t.buildTag("div.e-fe-popup","",{display:"none"});i=t.buildTag("div.e-content");r=t.buildTag("div.e-downtail e-tail");this.model.allowMultiSelection&&(u=t.buildTag("span.e-rowselect e-icon"),i.append(u));this._customPop.append(i);this._customPop.append(r);this.element.is("ul")||this.element.append(this._customPop);this._on(i,this._isDevice&&n.isFunction(n.fn.tap)?"touchstart":"mousedown",this._popupClick)},_popupClick:function(){var n=this._customPop.find(".e-rowselect");n.hasClass("e-spanclicked")?this._hidePopup():(this._isPopup=!0,n.addClass("e-spanclicked"))},_hidePopup:function(){this._customPop!=null&&this._customPop.is(":visible")&&(this._customPop.find(".e-rowselect").removeClass("e-spanclicked"),this._customPop.hide(),this._isPopup=!1)},_elementSettings:function(){var n=this.element.is("UL")?this.element.parent(".e-treeview-wrap"):this.element;this.element.is("ul")?n.attr("role","tree"):n.attr("aria-activedescendant",this._id+"_active").attr("role","tree")},_beforeBaseClass:function(){var t=this.element.is("UL")?this.element.parent(".e-treeview-wrap")[0]:this.element[0];this._ulList=n(t.querySelectorAll("ul"));this._liList=n(t.querySelectorAll("li"))},_createWrapper:function(){var n=t.buildTag("div.e-treeview-wrap e-widget "+this.model.cssClass,"","",{tabindex:0,"aria-activedescendant":this._id+"_active"});this.model.width!=null&&n.width(this.model.width);this.model.height!=null&&n.height(this.model.height);this.model.enableRTL&&n.addClass("e-rtl");n.insertAfter(this.element);n.append(this.element.addClass("e-ul e-box").attr("tabindex",0));this.element.is("ul")&&n.append(this._customPop);this._addAttr(this.model.htmlAttributes)},_addAttr:function(t){var i=this;n.map(t,function(n,t){t=="class"?i.element.addClass(n):t=="disabled"&&n=="disabled"?i._enabledAction(!1):i.element.attr(t,n)})},_changeSkin:function(n){if(this.model.cssClass!=n){var t=this.element.is("UL")?this.element.parent(".e-treeview-wrap"):this.element;t.removeClass(this.model.cssClass).addClass(n);t.find(".e-item > div > .e-chkbox-wrap").removeClass(this.model.cssClass).addClass(n);this._waitingPopup&&this._waitingPopup.option("cssClass",n)}},_enabledAction:function(n){this.model.enabled=n;n?(this.element.removeClass("e-disable"),this._wireEvents()):(this.element.addClass("e-disable"),this._unWireEvents())},_checkDataBinding:function(){this.dataSource()instanceof t.DataManager?this._initDataSource():(this._ensureDataSource(this.dataSource()),this._initialize(),this._completeRendering())},_initDataSource:function(){this.element.ejWaitingPopup({cssClass:this.model.cssClass});this._waitingPopup=this.element.ejWaitingPopup("instance");this._waitingPopup.maindiv.addClass("e-tree-popup");var n=this,t,i;this.element.ejWaitingPopup("refresh");this.element.ejWaitingPopup("show");this.dataSource().ready!=r?this.dataSource().ready.done(function(t){n._initAfterDataSource(t)}):(i=this._columnToSelect(this.model.fields),t=this.dataSource().executeQuery(i),t.done(function(t){n._initAfterDataSource(t)}))},_initAfterDataSource:function(n){var i=this;i.element.ejWaitingPopup("hide");i.retriveData=n.xhr&&n.xhr.responseJSON&&n.xhr.responseJSON.d?n.xhr.responseJSON.d:n.result?n.result:[];i._typeOfFieldId=i.retriveData[0]?(typeof t.getObject(i.model.fields.id,i.retriveData[0])).toLowerCase():"";i._ensureDataSource(i.retriveData);i._newDataSource=JSON.parse(JSON.stringify(i.retriveData));i._initialize();i.dataSource().dataSource.offline||!i.model.loadOnDemand&&t.isNullOrUndefined(i.model.fields.child)||(i._templateType=2);(i.model.loadOnDemand||t.isNullOrUndefined(i.model.fields.child))&&i._completeRendering()},_columnToSelect:function(n){var u=[],r=t.Query(),i;if(n.query||t.isNullOrUndefined(n.tableName))r=n.query?n.query.clone():r;else{for(i in n)i!=="tableName"&&i!=="child"&&i!=="dataSource"&&n[i]&&u.push(n[i]);u.length>0&&r.select(u);this.dataSource().dataSource.url.match(n.tableName+"$")||t.isNullOrUndefined(n.tableName)||r.from(n.tableName)}return r},_ensureDataSource:function(n){n=this._getSortAndFilterList(this.model.fields,n);this.currentSelectedData=n;this._renderTemplate(n);this.element.is("ul")?this.element.html(this._fragment.firstChild.children):this.element.html(this._fragment)},_getTemplateType:function(n,i){for(var u=0,f=n.length;u<f;u++){if(t.getObject(i.parentId,n[u])!==r||t.getObject(i.hasChild,n[u])!==r)return 1;if(n[u].hasOwnProperty("child"))return 2}return 1},_groupingObjects:function(n,t){for(var u,r={},f=[],i=0,e=n.length;i<e;i++)u=JSON.stringify(t(n[i])),r[u]=r[u]||[],r[u].push(n[i]);for(i in r)f.push(r[i]);return f},_renderTemplate:function(n){this._onlineData=!1;this._loadOnDemandNodes=!1;var i=this;this._templateType=this._getTemplateType(n,this.model.fields);this._dataSource=this._templateType==1?this._groupingObjects(n,function(n){return[!t.isNullOrUndefined(n)&&[t.getObject(i.model.fields.parentId,n)].toString()]}):n;this._templateNodeCreation(n,this.model.fields)},_templateNodeCreation:function(i,r){var o,u,f,s,e;if(this._fragment=document.createDocumentFragment(),o=document.createElement("ul"),this._fragment.appendChild(o),u=this._fragment.firstChild,(this._onlineData||this._loadOnDemandNodes)&&(u.className="e-treeview-ul",u.setAttribute("role","group"),n(u).attr("style","display:none")),this.dataSource()!=null){for(f=0,s=i.length;f<s;f++)i[f]&&(e=t.getObject(this.model.fields.parentId,i[f]),(t.isNullOrUndefined(e)||e==0||this._loadOnDemandNodes)&&u.appendChild(this._genTemplate(i[f],r)));n(u).find(".e-item:first-child:not(:last-child)").addClass("first");n(u).find(".e-item:last-child").addClass("last")}},_onlineDataSource:function(t,i,r){this._loadOnDemandNodes=!0;this._templateNodeCreation(t,r);var u=this.element.find(".e-item#"+i);u[0]!=null&&(n(u[0]).append(this._fragment),u.children().find("> div:first").addClass("e-icon e-plus"),this._finalizeLoadOnDemand(u));this._onlineData=!1},_genTemplate:function(i,r){var nt=document.createDocumentFragment(),u,tt,e,o,s,l,a,v,y,p,h,w,f,it,rt,b,k,d,g,c,ut;if(tt=document.createElement("li"),nt.appendChild(tt),u=nt.firstChild,u.id=t.getObject(r.id,i),u.id||(u.id=""),u.setAttribute("role","treeitem"),l=t.getObject(r.htmlAttribute,i),l&&this._setAttributes(l,u),u.className+=" e-item",o=document.createElement("a"),a=t.getObject(r.imageUrl,i),v=t.getObject(r.spriteCssClass,i),a?(e=document.createElement("img"),e.className="e-align",e.src=a,y=t.getObject(r.imageAttribute,i),y&&this._setAttributes(y,e)):v&&(e=document.createElement("span"),e.className=v),this.model.template){if(e&&o.appendChild(e),typeof n.fn.render!="function")throw"Error : JsRender dependecy script missing";o.innerHTML+=this._renderEjTemplate(this.model.template,i)}else p=t.getObject(r.text,i),p?n(o).text(p):n(o).text("undefined"),e&&o.insertBefore(e,o.lastChild);if(h=t.getObject(r.linkAttribute,i),h&&(typeof h=="object"?this._setAttributes(h,o):o.href=h),u.appendChild(o),t.getObject(r.expanded,i)&&(u.className+=" expanded"),t.getObject(r.selected,i)&&(u.className+=" selected"),w=t.getObject(r.isChecked,i),t.isNullOrUndefined(w)||(u.className+=w?" checked":" unchecked"),u.setAttribute("aria-selected",!1),u.setAttribute("aria-expanded",!1),this.dataSource()instanceof t.DataManager)this._updateElement(u,!0),this.model.showCheckbox&&this._checkboxOnTemplate(u.children[0]),this.model.loadOnDemand?(t.getObject(r.hasChild,i)||i.hasOwnProperty("child"))&&(u.children[0].firstChild.className="e-icon e-plus"):!t.isNullOrUndefined(r.child)&&r.child.dataSource instanceof t.DataManager?(f=this,rt=r.child.parentId?r.child.parentId:f.model.fields.parentId,b,b=r.id?r.id:this.model.fields.id,this._treeList.push("false"),k=t.getObject(b,i),it=this._executeDataQuery(r.child,rt,this._typeOfFieldId=="number"?parseInt(k):k),it.done(function(n){if(f._treeList.pop(),s=n.xhr&&n.xhr.responseJSON&&n.xhr.responseJSON.d?n.xhr.responseJSON.d:n.result?n.result:[],s=f._getSortAndFilterList(r.child,s),s&&s.length>0){f._onlineData=!0;var t=s[0][r.child.parentId];f._updateRemoteData(f._newDataSource,t,s,f.model.fields);f._onlineDataSource(s,t,r.child)}f._treeList.length==0&&f._completeRendering()})):t.isNullOrUndefined(this.model.fields.child)&&this._childNodeCreation(i,u,r);else if(this.model.loadOnDemand){if(this._updateElement(u,!0),(t.getObject(r.hasChild,i)||i.hasOwnProperty("child"))&&(u.children[0].firstChild.className="e-icon e-plus"),this.model.showCheckbox&&this._checkboxOnTemplate(u.children[0]),t.getObject(r.expanded,i)&&this._childNodeCreation(i,u,r),this.model.enablePersistence&&(d=this._getCookies("_childNodes"),d))for(g=JSON.parse(d),c=0,ut=g.length;c<ut;c++)if(g[c].toString()==t.getObject(r.id,i).toString()){this._childNodeCreation(i,u,r);break}}else this._onlineData||(this._updateElement(u,!0),this.model.showCheckbox&&this._checkboxOnTemplate(u.children[0]),this._childNodeCreation(i,u,r));return u},_childNodeCreation:function(i,r,u){var f,s,h,o,e,c;if(f=this._templateType==2?!t.isNullOrUndefined(i.child)&&i.child.length>0&&i.child:this._getChildNodes(this._dataSource,{id:t.getObject(u.id,i)}),!t.isNullOrUndefined(f)&&f.length>0){for(r.children[0].firstChild.className="e-icon e-plus",s=document.createDocumentFragment(),h=document.createElement("ul"),s.appendChild(h),o=s.firstChild,o.className="e-treeview-ul",o.setAttribute("role","group"),n(o).attr("style","display:none"),e=0,c=f.length;e<c;e++)f[e]&&t.getObject(this.model.fields.parentId,[f[e]])!=0&&o.appendChild(this._genTemplate(f[e],u));r.appendChild(h)}},_checkboxOnTemplate:function(n){n.parentElement.id==""&&(n.parentElement.id=this._id+"_"+this._indexID,this._indexID++);var t=document.createElement("input");t.setAttribute("type","checkbox");t.setAttribute("class","nodecheckbox");t.setAttribute("name",this._id+"_Checkbox_"+n.parentElement.id);t.setAttribute("value",n.parentElement.id);n.insertBefore(t,n.children[1])},_updateElement:function(t,i){var f,o,u,s,h=t.firstChild,c,l,a,e;h&&(c=h.nodeName,c=="SPAN"||c=="IMG"?(s=h,u=t.lastChild):u=t.lastChild,u&&(a=u.lastChild!=null?u.lastChild.nodeValue:"",l=n.trim(u.innerHTML),e=n(u).clone()[0],n(u).remove(),e.className+=" e-text CanSelect",e.innerHTML=l,t.innerHTML=""),f=document.createElement("div"),f.setAttribute("class","e-text-wrap"),f.setAttribute("role","presentation"),i&&(o=document.createElement("div"),o.setAttribute("role","presentation"),f.appendChild(o)),s&&f.appendChild(s),f.appendChild(e),n(t).prop("name")==r&&n(t).prop("name",n.trim(a)),t.appendChild(f),this._renderWholeRow(n(t)))},_setAttributes:function(t,i){for(var r in t)n(i).attr(r,t[r])},_addDragableClass:function(){this.model.allowDragAndDrop&&(this._anchors=this._liList.map(function(){return n("a.e-text",this)[0]}),this._anchors.addClass("e-draggable e-droppable"),this._enableDragDrop(),this._on(this.element,"mouseup touchstart pointerdown MSPointerDown",this._anchors,this._focusElement))},_addBaseClass:function(){this._ulList.addClass("e-treeview-ul").attr("role","group");this._liList.addClass("e-item").attr("role","treeitem");this.element.is("ul")||this.element.find("ul:first").removeClass("e-treeview-ul").addClass("e-ul")},_controlRender:function(){var s=this.element,h,e,i,f,c,l,a,o,y,v,u,p;if(s!=null){for(h=s.find(".e-item"),e=0;e<h.length;e++)i=n(h[e]),a=i.children("ul")[0],a&&n(i.children("ul")[0]).remove(),o=i.children("a")[0],o?(l=n.trim(n(o).text()),f=n(o).clone(),n(o).remove(),c=i.clone(),n(f).prepend(c.children()),n(f).addClass("e-text CanSelect"),i.html("")):(l=n.trim(this._getText(i)),c=i.clone(),i.html(""),f=t.buildTag("a.e-text CanSelect","","",""),f.append(c.children()),f[0].innerHTML+=l),y=t.buildTag("div","",{},{role:"presentation"}),v=t.buildTag("div.e-text-wrap","",{},{role:"presentation"}),n(v).append(y).append(f),i.prepend(v),this._renderWholeRow(i),a&&i.append(a),i.prop("name")==r&&i.prop("name",l),this.model.showCheckbox&&this._checkboxOnTemplate(h[e].children[0]);this.model.showCheckbox&&s.find(".nodecheckbox").ejCheckBox({cssClass:this.model.cssClass,change:this._checkedChange})}u=s.find(".e-item");u.find(">ul").hide();p=u.find(".e-text");p.focus(function(){n(this).blur()});u.filter(".e-item:last-child").addClass("last");n(u[0]).addClass("first");n(u[0]).hasClass("first")&&n(u[0]).hasClass("last")&&n(u[0]).removeClass("first");n(u.filter(":has(ul)")).each(function(){n(this).attr("aria-expanded",!1).attr("aria-selected",!1);var t=n(this).children("ul:first");n(t).is(":hidden")?n(this).find("> div > div:first").removeClass("e-icon e-minus").addClass("e-icon e-plus"):n(this.childNodes[1]).removeClass("e-icon e-plus").addClass("e-icon e-minus")})},_getText:function(t){return n(t).clone().children().remove().end().text()},_expandNodes:function(i,r){for(var e,o=i.length,u=[],f=0;f<o;f++)(u=r?this._getNodeByID(i[f]):n(this._liList[i[f]]),t.isNullOrUndefined(u))||!this.model.enableMultipleExpand&&(e=u.siblings().find(">div>.e-minus").closest(".e-item"),e.length>0)||this.isExpanded(u)||(!this.model.loadOnDemand||this.dataSource()instanceof t.DataManager?this._expandNode(u):this._createChildNodesWhenExpand(u))},_checkedNodes:function(t){var r,i,u;for(t.length>0&&this._removeField(this._newDataSource,this.model.fields,"isChecked"),i=0,u=t.length;i<u;i++)r=n(this._liList[t[i]]),r[0]!=null&&this._nodeCheck(r.find("> div > .e-chkbox-wrap > .nodecheckbox:first")[0])},_finalize:function(){this.model.showCheckbox&&this.element.find(".e-item > div .nodecheckbox").ejCheckBox({cssClass:this.model.cssClass,change:this._checkedChange});this.model.allowEditing&&this._allowEditable()},_finalizeNode:function(){var a,h,r,o,c,y;this._isRender=!1;this._allowOnDemand=!0;var v=this.element,f=this._getCookies("_persistedValues"),i=[],u=[],l,e,s;if(!(this.model.expandedNodes instanceof Array&&this.model.expandedNodes.length>0))for(l=v.find("li.expanded"),o=l.length,r=0;r<o;r++)(a=n(l[r]),!this.model.enableMultipleExpand&&(h=a.siblings().find(">div>.e-minus").closest(".e-item"),h.length>0))||this._expandNode(a);if(f&&(e=JSON.parse(f),i=e.expandedNodes,u=[]),i&&i.length>0&&!t.isNullOrUndefined(this.model.fields)&&this.dataSource()!=null){for(r=0,o=i.length;r<o;r++)if(u=this.element.find(".e-item#"+i[r]),u[0]!=null){if(!this.model.enableMultipleExpand&&(h=u.siblings().find(">div>.e-minus").closest(".e-item"),h.length>0))continue;!this.model.loadOnDemand||this.dataSource()instanceof t.DataManager?this._expandNode(u):this._createChildNodesWhenExpand(u)}}else s=JSON.parse(JSON.stringify(this.model.expandedNodes)),this._expandNodes(s);if(this.model.showCheckbox)if(f&&(e=JSON.parse(f),i=e.checkedNodes,u=[]),i&&i.length>0&&!t.isNullOrUndefined(this.model.fields)&&this.dataSource()!=null)for(this._removeField(this._newDataSource,this.model.fields,"isChecked"),r=0,o=i.length;r<o;r++)u=this.element.find(".e-item#"+i[r]),u[0]!=null&&this._nodeCheck(u.find("> div > .e-chkbox-wrap > .nodecheckbox:first")[0]);else s=JSON.parse(JSON.stringify(this.model.checkedNodes)),this._checkedNodes(s);this.model.checkedNodes instanceof Array&&this.model.checkedNodes.length>0||this.model.showCheckbox&&this._isCheckedAction();c=!1;f&&(e=JSON.parse(f),i=e.selectedNodes,c=!0);(!f||i&&i.length==0)&&(i=this.model.selectedNodes.length>0?this.model.selectedNodes:this.model.selectedNode==-1?[]:[this.model.selectedNode],c=!1);y={ctrlKey:!0};i&&i.length>0?this._doSelectNodes(i,c):this._isSelectedAction(y);this._isRender=!0;this._allowOnDemand=!1;v.find(".e-item.checked, .e-item.expanded, .e-item.selected").removeClass("checked expanded selected")},_doSelectNodes:function(t,i){for(var u,f={ctrlKey:!0},r=0,e=t.length;r<e;r++)if(u=i?this._getNodeByID(t[r]):n(this._liList[t[r]]),u[0]!=null&&this._nodeSelectionAction(u,f),!this.model.allowMultiSelection)break},_doUnselectNodes:function(n){for(var i,t=0,r=n.length;t<r;t++)if(i=this._getNodeByID(n[t]),i[0]!=null&&this._nodeUnSelectionAction(i),!this.model.allowMultiSelection)break},_updateSelectedNode:function(){var t=n(this._liList).find(".e-text.e-active").closest(".e-item"),i,u,f;if(this.model.selectedNodes=[],this.model.allowMultiSelection||(this.model.selectedNode=null),t[0]==r||t.length<=0){this._persistValues(this.model.selectedNodes,"selectedNodes");return}if(this.model.allowMultiSelection){for(i=0,u=t.length;i<u;i++)f=n(this._liList).index(t[i]),this.model.selectedNodes.push(f);this._persistValues(this.model.selectedNodes,"selectedNodes")}else this._isRender=!1,this._nodeSelectionAction(n(t[0])),this._isRender=!0},_setCookies:function(n,i){window.localStorage?window.localStorage.setItem(this._id+n,i):document.cookie&&t.cookie.set(this._id+n,i)},_getCookies:function(n){return window.localStorage?window.localStorage.getItem(this._id+n):window.cookie?t.cookie.get(this._id+n):void 0},_updateCheckedNodes:function(){for(var r=[],t=this.element.find(".e-item > div > .e-chkbox-wrap > .nodecheckbox.checked").closest(".e-item"),i=0;i<t.length;i++)r.push(n(this._liList).index(t[i]));(r.length>0||t.length==0)&&(this.model.checkedNodes=r);t.length==0&&this.model.checkedNodes.push(-1);this._persistValues(this.model.checkedNodes,"checkedNodes")},_updateExpandedNodes:function(){var t,r=[],i,u;for(t=this.element.find(".e-item > div > .e-minus").closest(".e-item").addClass("e-collapse"),i=0,u=t.length;i<u;i++)r.push(n(this._liList).index(t[i]));(r.length>0||t.length==0)&&(this.model.expandedNodes=r);t.length==0&&this.model.expandedNodes.push(-1);this._persistValues(this.model.expandedNodes,"expandedNodes")},_isCheckedAction:function(){for(var r,u,f,i=this.element.find(".e-item.checked"),t=0;t<i.length;t++)if(r=n(i[t]).find(".e-item"),u=n(i[t]).find(".e-item.unchecked"),r.length==0||!(r.length>0&&u.length==r.length)||!this.model.autoCheck)for(this._nodeCheck(n(i[t]).find("> div > .e-chkbox-wrap > input.nodecheckbox:first")[0]),f=0;f<u.length;f++)this._nodeUncheck(n(u[f]).find("> div > .e-chkbox-wrap > .nodecheckbox:first")[0]);this.element.find(".e-item.checked, .e-item.unchecked").removeClass("checked unchecked")},_isExpandedAction:function(){for(var i,u,r=this.element.find("li.expanded"),f=r.length,t=0;t<f;t++)(i=n(r[t]),!this.model.enableMultipleExpand&&(u=i.siblings().find(" > div > .e-minus").closest(".e-item"),u.length>0))||this._expandNode(i);this.element.find(".e-item.expanded").removeClass("expanded")},_isSelectedAction:function(t){for(var r=this.element.find(".e-item.selected"),i=0,u=r.length;i<u;i++)if(r[i]!=null&&this._nodeSelectionAction(n(r[i]),t),!this.model.allowMultiSelection)break;this.element.find(".e-item.selected").removeClass("selected")},_checkedChange:function(t){if(t.isInteraction){var i=this.element.closest(".e-treeview.e-js").data("ejTreeView"),r=t.isChecked?"_nodeCheck":"_nodeUncheck";i[r](n(this.element)[0],t)}},_doClickAnimation:function(t){var i=n(t.target);i!=r&&t.type!=r&&(i.addClass("e-animate"),i.is("A")&&i.hasClass("e-text")&&i.closest(".e-text-wrap").addClass("e-animate"))},_ClickEventHandler:function(i){var v=this,u,r=n(i.target),h=r.closest(".e-item").find("> div > div:first"),c,l,e,f,o,a,s;if(this._isPopup=!1,h&&!h.hasClass("e-process")&&(u=r.closest(".e-item"),!u.hasClass("e-node-disable"))){if(this.element.find(".e-animate").removeClass("e-animate"),this._doClickAnimation(i),c=u[0]!=null?u[0].getAttribute("id"):"",this._triggerEvent("nodeClick",{event:i,currentElement:r[0],id:c,parentId:u.closest("ul").closest(".e-item").attr("id")}),!t.isNullOrUndefined(r)&&r.is("DIV"))if(r.hasClass("e-plus")||r.hasClass("e-minus"))if(l=null,r.is("SPAN")&&(r=r.parent("div").find("div:first")),l=u.children("ul:first"),o=this.isChildLoaded(u),!o&&this.model.loadOnDemand){if(r.removeClass("e-plus").addClass("e-load"),this._checkboxChecked=r.parent().find(".nodecheckbox").hasClass("checked"),f=this._getNodeDetails(u),e={currentElement:u,targetElement:r[0],id:f.id,value:f.text,parentId:f.parentId,isChildLoaded:o,hasParent:!0,async:!0},this._isEventTriggered=!0,this._triggerEvent("beforeExpand",e))return!1;this._loadOnDemand(e,r[0])}else r.hasClass("e-plus")?this._expandNode(u):this._collpaseNode(u);else this.model.fullRowSelect&&(r.hasClass("e-fullrow")||r.hasClass("e-text-wrap"))&&(r=r.closest(".e-item").find("> .e-text-wrap .e-text"));r.is("A")||r.hasClass("input-text")||(r=r.closest(".e-text"));!t.isNullOrUndefined(r)&&r.is("A")&&r.hasClass("CanSelect")&&(i&&i.pointerType=="touch"&&this._customPop!=null&&this.model.allowMultiSelection?(a=n(i.target),this._customPop.is(":visible")||this._customPop.show(),this._customPop.is(":visible")&&!this._customPop.find(".e-rowselect").hasClass("e-spanclicked")?(s=a.offset(),this._customPop.offset({left:s.left,top:s.top-40})):i.ctrlKey=!0):this._hidePopup(),r.hasClass("e-active")?this.model.allowMultiSelection&&this._nodeUnSelectionAction(r.closest(".e-item"),i):this._nodeSelectionAction(r.closest(".e-item"),i))}},_getChildTables:function(n,i,r){if(!t.isNullOrUndefined(n.child))return i==r?n.child:this._getChildTables(n.child,i,r+1)},_loadOnDemand:function(i){var u,e,r,f=this,o;if(this.dataSource()instanceof t.DataManager){if(e=i.currentElement.parents("ul").length,r=this._getChildTables(f.model.fields,e,1),t.isNullOrUndefined(r)&&t.isNullOrUndefined(this.model.fields.child)&&(r=this.model.fields),!r){n(i.targetElement).hasClass("e-load")&&n(i.targetElement).removeClass(n(i.targetElement).hasClass("e-plus")||n(i.targetElement).hasClass("e-minus")?"e-load":"e-icon e-load");return}r.query&&r.query.queries.length>0&&(r.query.queries=[]);o=this._executeDataQuery(r,r.parentId,this._typeOfFieldId=="number"?parseInt(i.currentElement[0].id):i.currentElement[0].id);o.done(function(e){if(u=e.xhr&&e.xhr.responseJSON&&e.xhr.responseJSON.d?e.xhr.responseJSON.d:e.result?e.result:[],u=f._getSortAndFilterList(r,u),u.length>0){f._onlineData=!0;var o=t.getObject(r.parentId,u[0]);f._updateRemoteData(f._newDataSource,o,u,f.model.fields);f._loadChildNodeWhenOnDemand(u,i,r)}else n(i.targetElement).hasClass("e-load")&&n(i.targetElement).removeClass(n(i.targetElement).hasClass("e-plus")||n(i.targetElement).hasClass("e-minus")?"e-load":"e-icon e-load")})}else u=this._getChildNodes(this._dataSource,i),!t.isNullOrUndefined(u)&&u.length>0?setTimeout(function(){f._createSubNodesWhenLoadOnDemand(u,i.targetElement,f.model.fields)},400):n(i.targetElement).hasClass("e-load")&&n(i.targetElement).removeClass(n(i.targetElement).hasClass("e-plus")||n(i.targetElement).hasClass("e-minus")?"e-load":"e-icon e-load")},_loadChildNodeWhenOnDemand:function(n,i,r){var u=this;!t.isNullOrUndefined(n)&&n.length>0&&setTimeout(function(){u._createSubNodesWhenLoadOnDemand(n,i.targetElement,r)},100)},_createSubNodesWhenLoadOnDemand:function(t,i,r){this._loadOnDemandNodes=!0;this._templateNodeCreation(t,r);n(this._fragment.firstChild).attr("style","display:none");this._fragment.firstChild.className="e-treeview-ul";this._fragment.firstChild.setAttribute("role","group");i.parentNode.parentNode.appendChild(this._fragment);var u=n(i).closest(".e-item");u.attr({"aria-expanded":!1,"aria-expanded":!0});n(i).removeClass("e-load").addClass("e-plus");this._expandNode(u);this._finalizeLoadOnDemand(u)},_finalizeLoadOnDemand:function(n){var r,u,i,f;this._beforeBaseClass();this._isRender=!1;this.model.showCheckbox&&(n.children("ul").find("li > div > input.nodecheckbox").ejCheckBox({cssClass:this.model.cssClass,change:this._checkedChange}),r=n.children("ul").find(".e-item"),u=n.children("ul").find(".e-item.unchecked"),u.length>=0&&u.length!=r.length&&this._checkboxChecked?r.not(".unchecked").addClass("checked"):u.length==r.length&&this.isNodeChecked(n)&&this._nodeUncheck(n.find("> div > .e-chkbox-wrap > .nodecheckbox:first")[0]),this._isLoaded&&(this._isCheckedAction(),this._updateCheckedNodes()));this._isRender=!0;this._addDragableClass();this._preventEditable();this.model.allowEditing&&this._allowEditable();this._isLoaded&&(this._isSelectedAction(),this._updateSelectedNode(),this._allowOnDemand=!0,this._isExpandedAction(),this._updateExpandedNodes(),this._allowOnDemand=!1);!this.model.loadOnDemand||!this.model.enablePersistence||this.dataSource()instanceof t.DataManager||(f=this._getCookies("_childNodes"),f&&(i=JSON.parse(f)),!t.isNullOrUndefined(i)&&i.indexOf(n[0].id)==-1?i.push(n[0].id):i=[n[0].id],this._setCookies("_childNodes",JSON.stringify(i)))},_getChildNodes:function(n,i){var u=[],e,r,f;if(this._templateType==1){for(r=0,f=n.length;r<f;r++)if(e=t.getObject(this.model.fields.parentId,n[r][0]),!t.isNullOrUndefined(n[r][0])&&!t.isNullOrUndefined(e)&&e!=0&&e==i.id)return n[r]}else{for(r=0,f=n.length;r<f;r++){if(t.getObject(this.model.fields.id,n[r])==i.id&&t.getObject(this.model.fields.parentId,n[r])!=0)return n[r].child;if(n[r].hasOwnProperty("child")&&(u=this._getChildNodes(n[r].child,i),!t.isNullOrUndefined(u)&&u.length>0))break}return u}},_getPath:function(n){for(var i=n.prop("name"),t=n.parents(".e-item:first");t[0]!=null&&t[0].parentNode.id!=this._id;)i=t.prop("name")+"/"+i,t=t.parents(".e-item:first");return this._id+"/"+i},_nodeSelectionAction:function(t,i){var v,e,r,h,c;if(t[0]!=null||t.length!=0){var l=n(t.find("> div > .e-text")[0]),a=!1,y=this.model.selectedNodes.slice(),o=this._liList.index(t[0]);if(this._currNode=t,!this._triggerEvent("beforeSelect",{target:t,nodeDetails:this._getNodeDetails(t)})){if(this.model.allowMultiSelection&&i&&(!i||i.ctrlKey)||(this.element.find("a.e-text.e-active").removeClass("e-node-focus e-active"),this.element.find("[aria-selected=true]").attr("aria-selected",!1),this.element.find(".e-li-active").removeClass("e-li-active"),this.model.fullRowSelect&&(this.element.find(".e-li-focus").removeClass("e-li-focus"),this.element.find(".e-node-focus").removeClass("e-node-focus")),this.element.find("#"+this._id+"_active").removeAttr("id"),this.model.selectedNodes=[],this._deepWatch&&this._removeField(this._newDataSource,this.model.fields,"selected")),this.model.allowMultiSelection&&i&&i.shiftKey){this._startNode||(this._startNode=this._currNode);var s=this.getVisibleNodes(),u=s.index(this._startNode),f=s.index(t[0]);for(u>f&&(v=u,u=f,f=v),e=u;e<=f;e++)r=n(s.get(e)),h=this._liList.index(r[0]),n.inArray(h,this.model.selectedNodes)==-1&&(this.model.selectedNodes.push(h),c=r.find("> div > a.e-text"),c.removeClass("e-node-focus"),r.attr("aria-selected",!0),r.addClass("e-li-active"),c.addClass("e-active"),a=!0,this._deepWatch&&this._updateField(this._newDataSource,r.attr("id"),this.model.fields,"selected",!0))}else this._startNode=t;this.model.allowMultiSelection||(this.model.selectedNode=o);a||(this.element.find("a.e-text.e-node-focus").removeClass("e-node-focus"),t.attr("aria-selected",!0),t.addClass("e-li-active"),l.addClass("e-active"),this.model.allowMultiSelection||l.attr("id",this._id+"_active"),n.inArray(o,this.model.selectedNodes)==-1&&this.model.selectedNodes.push(o),this._deepWatch&&this._updateField(this._newDataSource,t.attr("id"),this.model.fields,"selected",!0));this.model.enablePersistence&&this._persistValues(this.model.selectedNodes,"selectedNodes");this._deepWatch&&(this._oldDataSource=JSON.parse(JSON.stringify(this._newDataSource)),this.dataSource(this._newDataSource));this._triggerGivenEvent("nodeSelect",t)}}},_nodeUnSelectionAction:function(n,t){if(this.model.allowMultiSelection&&t&&!t.ctrlKey){this._nodeSelectionAction(n,t);return}n.removeClass("e-li-active");n.attr("aria-selected",!1).find("> div > .e-text").removeClass("e-active").attr("id","");this._updateUnselectModel(n[0]);this._deepWatch&&(this._updateField(this._newDataSource,n.attr("id"),this.model.fields,"selected",!1),this._oldDataSource=JSON.parse(JSON.stringify(this._newDataSource)),this.dataSource(this._newDataSource));this._triggerGivenEvent("nodeUnselect",n)},_updateUnselectModel:function(t){var r=this._liList.index(t),u=this.model.selectedNodes,i;this.model.allowMultiSelection||(this.model.selectedNode=null);i=n.inArray(r,u);i>-1&&this.model.selectedNodes.splice(i,1);this._persistValues(this.model.selectedNodes,"selectedNodes")},_triggerGivenEvent:function(n,t){if(this._isRender){var i={currentElement:t,value:t.find("> div > a.e-text").eq(0).text(),id:t[0].getAttribute("id"),parentId:t.closest("ul").closest(".e-item").attr("id"),selectedNodes:this.model.selectedNodes};this._triggerEvent(n,i)}},_getNodesIndex:function(n){for(var i=[],t=0,r=n.length;t<r;t++)i.push(this._liList.index(n[t]));return i},_nodeEnableAction:function(n){var t=this.getParent(n);t[0]!=null&&t.hasClass("e-node-disable")||(this.model.showCheckbox&&n.find("div > .e-chkbox-wrap > .nodecheckbox").ejCheckBox("enable").prop("disabled",!1),n.find(".e-text").removeClass("e-node-disable").closest(".e-item").removeClass("e-node-disable").removeProp("disabled"))},_nodeDisableAction:function(n){var i,t,r;for(this._collpaseNode(n),this.model.showCheckbox&&n.find("div > .e-chkbox-wrap > .nodecheckbox").ejCheckBox("disable").prop("disabled",!0),i=n.find(".e-text.e-active").closest(".e-item"),n.find(".e-text").addClass("e-node-disable").removeClass("e-active").attr("id","").closest(".e-item").addClass("e-node-disable").prop("disabled",!0),t=0,r=i.length;t<r;t++)this._updateUnselectModel(i[t])},_getNodeDetails:function(n){if(n[0]!=null&&n.is("LI")&&n.hasClass("e-item")){var i,r,t,u,f,e,o,s,h;return i=n[0].getAttribute("id"),r=n.children("div").find(".e-text:first").text(),t=n.closest("ul").closest(".e-item").attr("id"),u=n.parents("ul").length,f=n.find(".e-item").length,e=this._isNodeExpanded(n),o=this._isChecked(n),s=n.find("> div > .e-text").hasClass("e-active"),h=this._liList.index(n),{id:i,text:r,parentId:t?t:"",level:u,count:f,expanded:e,checked:o,selected:s,index:h}}return{id:"",text:"",parentId:"",level:"",count:"",expanded:"",checked:"",selected:"",index:""}},_denyMultipleExpand:function(t){for(var r=t.siblings().find(">div>.e-minus").closest(".e-item"),i=0,u=r.length;i<u;i++)this._collpaseNode(n(r[i]))},_expandCollapseAction:function(t){if(t&&!t.hasClass("e-process")){var f,o=this,i,r,u,e;if(i=t.closest(".e-item"),t.is("SPAN")&&(t=n(t).parent("div").find("div:first")),f=i.children("ul:first"),f.find("> .e-item").length>0){if(this.model.enableAnimation&&t.addClass("e-process"),r=this._getNodeDetails(i),e=this.isChildLoaded(i),u={currentElement:i,value:r.text,isChildLoaded:e,id:r.id,parentId:r.parentId,async:!1},!this._isNodeExpanded(i)&&e){if(!this._isEventTriggered&&this._triggerEvent("beforeExpand",u))return!1;this._isEventTriggered=!1;i.attr("aria-expanded",!0);this._addExpandedNodes(this._liList.index(i));n(t).removeClass("e-icon e-plus").addClass("e-icon e-minus");i.addClass("e-collapse");this._deepWatch&&this._updateField(this._newDataSource,r.id,this.model.fields,"expanded",!0);this._doAnimation(f,t,"nodeExpand",u,350)}else{if(this.element.find(".e-material-animate").removeClass("e-material-animate"),i.attr("aria-expanded",!1),this._triggerEvent("beforeCollapse",u)===!0)return!1;this._removeExpandedNodes(this._liList.index(u.currentElement));n(t).removeClass("e-icon e-minus").addClass("e-icon e-plus");i.removeClass("e-collapse");this._deepWatch&&this._updateField(this._newDataSource,r.id,this.model.fields,"expanded",!1);this._doAnimation(f,t,"nodeCollapse",u,200)}this._deepWatch&&(this._oldDataSource=JSON.parse(JSON.stringify(this._newDataSource)),this.dataSource(this._newDataSource))}}},_doAnimation:function(n,i,r,u,f){var e=this;this.model.enableAnimation?n.animate({height:"toggle"},f,"linear",function(){t.isNullOrUndefined(e.model)||e._doAnimateAction(i,r,u)}):(n.css("display",f==200?"none":"block"),this._doAnimateAction(i,r,u))},_doAnimateAction:function(n,t,i){n.removeClass("e-process");this._triggerEvent(t,i)},_isChecked:function(n){return n.find("> div > .e-chkbox-wrap:first").attr("aria-checked")==="true"?!0:!1},_doRecursiveCheck:function(t,i){var o,r,f,t,u,s,e;u=this._getChildUl(t);o=u?u.querySelectorAll('.e-chkbox-wrap[aria-checked="true"]').length:0;s=u?u.querySelectorAll(".e-item > div > .e-chkbox-wrap > .nodecheckbox"):[];r=t.firstChild.querySelector(".nodecheckbox");r&&r.nodeName.toUpperCase()=="INPUT"&&(e=n(r).data("ejCheckBox"),o==s.length||this.model.autoCheckParentNode?(e.setModel({enableTriState:!1,checked:!0}),r.className+=" checked",f=t.firstChild.getElementsByTagName("a")[0].innerHTML,i.push({id:t.id,text:f}),this._deepWatch&&!this.model.autoCheckParentNode&&this._updateField(this._newDataSource,t.id,this.model.fields,"isChecked",!0),this._addHiddenInputElement(r,f),this._addCheckNodes(this._liList.index(t))):e.setModel({enableTriState:!0,checkState:"indeterminate"}),t=t.parentNode.parentNode,t.nodeName.toUpperCase()=="LI"&&this._doRecursiveCheck(t,i))},_nodeCheck:function(t,i){var s,r,u,h,e,o,c,f,l;if(n(t)[0]!=null){if(this._CurrenctSelectedNodes=[],this._checkedArray=[],t.className+=" checked",s=n(t).data("ejCheckBox"),s){if(s.setModel({enableTriState:!1,checked:!0}),r=t.parentNode.parentNode.parentNode,u=r.firstChild.getElementsByTagName("a")[0].lastChild.nodeValue,this._checkedArray.push({id:r.id,text:u}),this._deepWatch&&this._updateField(this._newDataSource,r.id,this.model.fields,"isChecked",!0),this._addHiddenInputElement(t,u),this._addCheckNodes(this._liList.index(r)),this.model.autoCheck){for(c=this._getChildUl(r),e=c?c.querySelectorAll(".e-item > div > .e-chkbox-wrap > .nodecheckbox"):[],f=0,l=e.length;f<l;f++)n(e[f]).ejCheckBox({checked:!0,enableTriState:!1})[0].className+=" checked",o=e[f].parentNode.parentNode.parentNode,u=o.firstChild.getElementsByTagName("a")[0].lastChild.nodeValue,this._checkedArray.push({id:o.id,text:u}),this._deepWatch&&this._updateField(this._newDataSource,o.id,this.model.fields,"isChecked",!0),this._addHiddenInputElement(e[f],u),this._addCheckNodes(this._liList.index(o));h=r.parentNode.parentNode;h.nodeName.toUpperCase()=="LI"&&this._doRecursiveCheck(h,this._checkedArray)}i&&(i.checknode=this._checkedArray);this._onChecked(n(t),i)}this._deepWatch&&(this._oldDataSource=JSON.parse(JSON.stringify(this._newDataSource)),this.dataSource(this._newDataSource));this._persistValues(this.model.checkedNodes,"checkedNodes")}},_addHiddenInputElement:function(n,t){if(n.firstChild==null){var i=document.createElement("input");i.setAttribute("type","hidden");i.setAttribute("name",this._id+"_Checkbox_"+n.value+".Text");i.setAttribute("value",t);try{n.appendChild(i)}catch(r){}}},_doRecursiveUncheck:function(t,i){var e,r,o,t,u,s,f;u=this._getChildUl(t);e=u?u.querySelectorAll('.e-chkbox-wrap[aria-checked="true"]').length:0;s=u?u.querySelectorAll(".e-item > div > .e-chkbox-wrap > .nodecheckbox"):[];r=t.firstChild.querySelector(".nodecheckbox");r&&r.nodeName.toUpperCase()=="INPUT"&&(f=n(r).data("ejCheckBox"),e<=0&&(f.setModel({enableTriState:!1,checked:!1}),n(r).removeClass("checked").removeClass("checked").children().remove(),o=t.firstChild.getElementsByTagName("a")[0].innerHTML,this._removeCheckNodes(this._liList.index(t)),i.push({id:t.id,text:o}),this._deepWatch&&this._updateField(this._newDataSource,t.id,this.model.fields,"isChecked",!1)),e>0&&this.model.autoCheckParentNode?(f.setModel({checked:!0}),r.className+=" checked",o=t.firstChild.getElementsByTagName("a")[0].innerHTML,this._addHiddenInputElement(t,o),this._deepWatch&&this._updateField(this._newDataSource,t.id,this.model.fields,"isChecked",!1)):e>0&&!this.model.autoCheckParentNode&&(s.length>1?f.setModel({enableTriState:!0,checkState:"indeterminate"}):f.setModel({checked:!1}),n(r).removeClass("checked").removeClass("checked").children().remove(),this._removeCheckNodes(this._liList.index(t)),this._deepWatch&&this._updateField(this._newDataSource,t.id,this.model.fields,"isChecked",!1)),t=t.parentNode.parentNode,t.nodeName.toUpperCase()=="LI"&&this._doRecursiveUncheck(t,i))},_nodeUncheck:function(t,i){var a,r,s,e,h,o,u,l,f,c;if(n(t)[0]!=null){if(a=this,this._uncheckedArray=[],r=t.parentNode.parentNode.parentNode,n(r).find("div > .e-chkbox-wrap > .nodecheckbox").removeClass("checked").children().remove(),s=n(t).data("ejCheckBox"),this._removeCheckNodes(this._liList.index(r)),s){if(s.setModel({enableTriState:!1,checked:!1}),e=r.firstChild.getElementsByTagName("a")[0].lastChild.nodeValue,this._uncheckedArray.push({id:r.id,text:e}),this._deepWatch&&this._updateField(this._newDataSource,r.id,this.model.fields,"isChecked",!1),this.model.autoCheck){for(h=this._getChildUl(r),o=h?h.querySelectorAll(".e-item > div > .e-chkbox-wrap > .nodecheckbox"):[],u=0,l=o.length;u<l;u++)n(o[u]).ejCheckBox({enableTriState:!1,checked:!1}),f=o[u].parentNode.parentNode.parentNode,e=f.firstChild.getElementsByTagName("a")[0].lastChild.nodeValue,this._uncheckedArray.push({id:f.id,text:e}),this._deepWatch&&this._updateField(this._newDataSource,f.id,this.model.fields,"isChecked",!1),this._removeCheckNodes(this._liList.index(f));c=r.parentNode.parentNode;c.nodeName.toUpperCase()=="LI"&&this._doRecursiveUncheck(c,this._uncheckedArray)}i&&(i.unchecknode=this._uncheckedArray);this._onUnChecked(n(t),i)}this._deepWatch&&(this._oldDataSource=JSON.parse(JSON.stringify(this._newDataSource)),this.dataSource(this._newDataSource));this._persistValues(this.model.checkedNodes,"checkedNodes")}},_executeDataQuery:function(i,r,u){var f,o,e;if(f=t.Query(),f=this._columnToSelect(i),!t.isNullOrUndefined(r)&&r!=""){for(o=n.extend(!0,[],f._params),f._params=[],f.addParams(r,u),e=0;e<o.length;e++)o[e].key!=r&&f.addParams(o[e].key,o[e].value);f.where(r,t.FilterOperators.equal,u)}return i.dataSource.executeQuery(f)},_createChildNodesWhenExpand:function(i,r,u,f,e,o){var a,v,c,y,p,s,h,w,l;if(i.length>0&&i.find("ul .e-item").length==0){if(a=i.attr("id"),v=i.children("div").find(".e-text:first").text(),y=i.children("div").find("div.e-plus:first"),c={currentElement:i,targetElement:y[0],id:a,value:v,isChildLoaded:!1,hasParent:!0,async:!1},h=this,this._isEventTriggered=!0,this._triggerEvent("beforeExpand",c))return!1;if(this.dataSource()instanceof t.DataManager){if(p=c.currentElement.parents("ul").length,s=this._getChildTables(this.model.fields,p,1),t.isNullOrUndefined(s)&&t.isNullOrUndefined(this.model.fields.child)&&(s=this.model.fields),!s){n(c.targetElement).hasClass("e-load")&&n(c.targetElement).removeClass(n(c.targetElement).hasClass("e-plus")||n(c.targetElement).hasClass("e-minus")?"e-load":"e-icon e-load");return}s.query&&s.query.queries.length>0&&(s.query.queries=[]);this._treeList.push("false");w=this._executeDataQuery(s,s.parentId,this._typeOfFieldId=="number"?parseInt(c.currentElement[0].id):c.currentElement[0].id);w.done(function(n){if(h._treeList.pop(),l=n.xhr&&n.xhr.responseJSON&&n.xhr.responseJSON.d?n.xhr.responseJSON.d:n.result?n.result:[],l=h._getSortAndFilterList(s,l),l.length>0){var c=t.getObject(s.parentId,l[0]);h._updateRemoteData(h._newDataSource,c,l,h.model.fields)}h._appendChild(l,i,s,r,u,f);u&&h._expandByLevel(i.find("> ul"),u-1,f);h._treeList.length==0&&(e&&h._doAfterExpand(i,e,o),h._completeRendering())})}else l=this._getChildNodes(this._dataSource,{id:i[0].id}),this._appendChild(l,i,this.mo