xl-infinite-tree
Version:
A browser-ready tree library that can efficiently display a large amount of data using infinite scrolling.
14 lines • 67.8 kB
JavaScript
/*! xl-infinite-tree v1.14.14 | (c) 2020 Cheton Wu <cheton@gmail.com> | MIT | https://github.com/cheton/infinite-tree */
!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory():"function"==typeof define&&define.amd?define([],factory):"object"==typeof exports?exports.InfiniteTree=factory():root.InfiniteTree=factory()}("undefined"!=typeof self?self:this,function(){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=7)}([function(module,exports,__webpack_require__){"use strict";function ProcessEmitWarning(warning){console&&console.warn&&console.warn(warning)}function EventEmitter(){EventEmitter.init.call(this)}function checkListener(listener){if("function"!=typeof listener)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}function _getMaxListeners(that){return void 0===that._maxListeners?EventEmitter.defaultMaxListeners:that._maxListeners}function _addListener(target,type,listener,prepend){var m,events,existing;if(checkListener(listener),events=target._events,void 0===events?(events=target._events=Object.create(null),target._eventsCount=0):(void 0!==events.newListener&&(target.emit("newListener",type,listener.listener?listener.listener:listener),events=target._events),existing=events[type]),void 0===existing)existing=events[type]=listener,++target._eventsCount;else if("function"==typeof existing?existing=events[type]=prepend?[listener,existing]:[existing,listener]:prepend?existing.unshift(listener):existing.push(listener),(m=_getMaxListeners(target))>0&&existing.length>m&&!existing.warned){existing.warned=!0;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners added. Use emitter.setMaxListeners() to increase limit");w.name="MaxListenersExceededWarning",w.emitter=target,w.type=type,w.count=existing.length,ProcessEmitWarning(w)}return target}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(target,type,listener){var state={fired:!1,wrapFn:void 0,target:target,type:type,listener:listener},wrapped=onceWrapper.bind(state);return wrapped.listener=listener,state.wrapFn=wrapped,wrapped}function _listeners(target,type,unwrap){var events=target._events;if(void 0===events)return[];var evlistener=events[type];return void 0===evlistener?[]:"function"==typeof evlistener?unwrap?[evlistener.listener||evlistener]:[evlistener]:unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}function listenerCount(type){var events=this._events;if(void 0!==events){var evlistener=events[type];if("function"==typeof evlistener)return 1;if(void 0!==evlistener)return evlistener.length}return 0}function arrayClone(arr,n){for(var copy=new Array(n),i=0;i<n;++i)copy[i]=arr[i];return copy}function spliceOne(list,index){for(;index+1<list.length;index++)list[index]=list[index+1];list.pop()}function unwrapListeners(arr){for(var ret=new Array(arr.length),i=0;i<ret.length;++i)ret[i]=arr[i].listener||arr[i];return ret}var ReflectOwnKeys,R="object"==typeof Reflect?Reflect:null,ReflectApply=R&&"function"==typeof R.apply?R.apply:function(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};ReflectOwnKeys=R&&"function"==typeof R.ownKeys?R.ownKeys:Object.getOwnPropertySymbols?function(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}:function(target){return Object.getOwnPropertyNames(target)};var NumberIsNaN=Number.isNaN||function(value){return value!==value};module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var defaultMaxListeners=10;Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(arg){if("number"!=typeof arg||arg<0||NumberIsNaN(arg))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".");defaultMaxListeners=arg}}),EventEmitter.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},EventEmitter.prototype.setMaxListeners=function(n){if("number"!=typeof n||n<0||NumberIsNaN(n))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".");return this._maxListeners=n,this},EventEmitter.prototype.getMaxListeners=function(){return _getMaxListeners(this)},EventEmitter.prototype.emit=function(type){for(var args=[],i=1;i<arguments.length;i++)args.push(arguments[i]);var doError="error"===type,events=this._events;if(void 0!==events)doError=doError&&void 0===events.error;else if(!doError)return!1;if(doError){var er;if(args.length>0&&(er=args[0]),er instanceof Error)throw er;var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));throw err.context=er,err}var handler=events[type];if(void 0===handler)return!1;if("function"==typeof handler)ReflectApply(handler,this,args);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)ReflectApply(listeners[i],this,args);return!0},EventEmitter.prototype.addListener=function(type,listener){return _addListener(this,type,listener,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function(type,listener){return _addListener(this,type,listener,!0)},EventEmitter.prototype.once=function(type,listener){return checkListener(listener),this.on(type,_onceWrap(this,type,listener)),this},EventEmitter.prototype.prependOnceListener=function(type,listener){return checkListener(listener),this.prependListener(type,_onceWrap(this,type,listener)),this},EventEmitter.prototype.removeListener=function(type,listener){var list,events,position,i,originalListener;if(checkListener(listener),void 0===(events=this._events))return this;if(void 0===(list=events[type]))return this;if(list===listener||list.listener===listener)0==--this._eventsCount?this._events=Object.create(null):(delete events[type],events.removeListener&&this.emit("removeListener",type,list.listener||listener));else if("function"!=typeof list){for(position=-1,i=list.length-1;i>=0;i--)if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener,position=i;break}if(position<0)return this;0===position?list.shift():spliceOne(list,position),1===list.length&&(events[type]=list[0]),void 0!==events.removeListener&&this.emit("removeListener",type,originalListener||listener)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function(type){var listeners,events,i;if(void 0===(events=this._events))return this;if(void 0===events.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==events[type]&&(0==--this._eventsCount?this._events=Object.create(null):delete events[type]),this;if(0===arguments.length){var key,keys=Object.keys(events);for(i=0;i<keys.length;++i)"removeListener"!==(key=keys[i])&&this.removeAllListeners(key);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(listeners=events[type]))this.removeListener(type,listeners);else if(void 0!==listeners)for(i=listeners.length-1;i>=0;i--)this.removeListener(type,listeners[i]);return this},EventEmitter.prototype.listeners=function(type){return _listeners(this,type,!0)},EventEmitter.prototype.rawListeners=function(type){return _listeners(this,type,!1)},EventEmitter.listenerCount=function(emitter,type){return"function"==typeof emitter.listenerCount?emitter.listenerCount(type):listenerCount.call(emitter,type)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]}},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;/*!
Copyright (c) 2017 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
!function(){"use strict";function classNames(){for(var classes=[],i=0;i<arguments.length;i++){var arg=arguments[i];if(arg){var argType=typeof arg;if("string"===argType||"number"===argType)classes.push(arg);else if(Array.isArray(arg)&&arg.length){var inner=classNames.apply(null,arg);inner&&classes.push(inner)}else if("object"===argType)for(var key in arg)hasOwn.call(arg,key)&&arg[key]&&classes.push(key)}}return classes.join(" ")}var hasOwn={}.hasOwnProperty;void 0!==module&&module.exports?(classNames.default=classNames,module.exports=classNames):(__WEBPACK_AMD_DEFINE_ARRAY__=[],void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return classNames}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}()},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var extend=function(target){for(var _len=arguments.length,sources=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)sources[_key-1]=arguments[_key];if(void 0===target||null===target)throw new TypeError("Cannot convert undefined or null to object");for(var output=Object(target),index=0;index<sources.length;index++){var source=sources[index];if(void 0!==source&&null!==source)for(var key in source)source.hasOwnProperty(key)&&(output[key]=source[key])}return output};exports.default=extend},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var _extend=__webpack_require__(2),_extend2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_extend),Node=function(){function Node(node){_classCallCheck(this,Node),this.id=null,this.parent=null,this.children=[],this.state={},(0,_extend2.default)(this,node),this.children=this.children||[]}return Node.prototype.contains=function(node){for(;node instanceof Node&&node!==this;){if(node.parent===this)return!0;node=node.parent}return!1},Node.prototype.getChildAt=function(index){var node=null;return this.children.length>0&&index>=0&&index<this.children.length&&(node=this.children[index]),node},Node.prototype.getChildren=function(){return this.children},Node.prototype.getFirstChild=function(){var node=null;return this.children.length>0&&(node=this.children[0]),node},Node.prototype.getLastChild=function(){var node=null;return this.children.length>0&&(node=this.children[this.children.length-1]),node},Node.prototype.getNextSibling=function(){var node=null;if(this.parent){var index=this.parent.children.indexOf(this);index>=0&&index<this.parent.children.length-1&&(node=this.parent.children[index+1])}return node},Node.prototype.getParent=function(){return this.parent},Node.prototype.getPreviousSibling=function(){var node=null;if(this.parent){var index=this.parent.children.indexOf(this);index>0&&index<this.parent.children.length&&(node=this.parent.children[index-1])}return node},Node.prototype.hasChildren=function(){return this.children.length>0},Node.prototype.isLastChild=function(){return!this.getNextSibling()},Node}();exports.default=Node},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var ensureArray=function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return 0===args.length||void 0===args[0]||null===args[0]?[]:[].concat(1===args.length?args[0]:args)};exports.default=ensureArray},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var getElementStyle=function(el,prop){return window.getComputedStyle?window.getComputedStyle(el)[prop]:el.currentStyle[prop]},preventDefault=function(e){void 0!==e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation=function(e){void 0!==e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},addEventListener=function(target,type,listener){target.addEventListener?target.addEventListener(type,listener,!1):target.attachEvent&&target.attachEvent("on"+type,listener)},removeEventListener=function(target,type,listener){target.removeEventListener?target.removeEventListener(type,listener,!1):target.detachEvent&&target.detachEvent("on"+type,listener)};exports.getElementStyle=getElementStyle,exports.preventDefault=preventDefault,exports.stopPropagation=stopPropagation,exports.addEventListener=addEventListener,exports.removeEventListener=removeEventListener},function(module,exports,__webpack_require__){"use strict";function escapeHtml(string){var str=""+string,match=matchHtmlRegExp.exec(str);if(!match)return str;var escape,html="",index=0,lastIndex=0;for(index=match.index;index<str.length;index++){switch(str.charCodeAt(index)){case 34:escape=""";break;case 38:escape="&";break;case 39:escape="'";break;case 60:escape="<";break;case 62:escape=">";break;default:continue}lastIndex!==index&&(html+=str.substring(lastIndex,index)),lastIndex=index+1,html+=escape}return lastIndex!==index?html+str.substring(lastIndex,index):html}/*!
* escape-html
* Copyright(c) 2012-2013 TJ Holowaychuk
* Copyright(c) 2015 Andreas Lubbe
* Copyright(c) 2015 Tiancheng "Timothy" Gu
* MIT Licensed
*/
var matchHtmlRegExp=/["'&<>]/;module.exports=escapeHtml},function(module,exports,__webpack_require__){"use strict";var _infiniteTree=__webpack_require__(8),_infiniteTree2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_infiniteTree);module.exports=_infiniteTree2.default},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}exports.__esModule=!0;var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_events=__webpack_require__(0),_events2=_interopRequireDefault(_events),_classnames=__webpack_require__(1),_classnames2=_interopRequireDefault(_classnames),_elementClass=__webpack_require__(9),_elementClass2=_interopRequireDefault(_elementClass),_isDom=__webpack_require__(10),_isDom2=_interopRequireDefault(_isDom),_flattree=__webpack_require__(13),_clusterize=__webpack_require__(15),_clusterize2=_interopRequireDefault(_clusterize),_ensureArray=__webpack_require__(4),_ensureArray2=_interopRequireDefault(_ensureArray),_extend=__webpack_require__(17),_extend2=_interopRequireDefault(_extend),_utilities=__webpack_require__(18),_lookupTable=__webpack_require__(19),_lookupTable2=_interopRequireDefault(_lookupTable),_renderer=__webpack_require__(20),_dom=__webpack_require__(5),noop=function(){},error=function(format){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];var argIndex=0,message="Error: "+format.replace(/%s/g,function(){return args[argIndex++]});console&&console.error&&console.error(message);try{throw new Error(message)}catch(e){}},ensureNodeInstance=function(node){return!!node&&(node instanceof _flattree.Node||(error("The node must be a Node object."),!1))},createRootNode=function(rootNode){return(0,_extend2.default)(rootNode||new _flattree.Node,{parent:null,children:[],state:{depth:-1,open:!0,path:"",prefixMask:"",total:0}})},InfiniteTree=function(_events$EventEmitter){function InfiniteTree(el,options){_classCallCheck(this,InfiniteTree);var _this=_possibleConstructorReturn(this,_events$EventEmitter.call(this));return _this.options={autoOpen:!1,blocksInCluster:4,droppable:!1,shouldLoadNodes:null,loadNodes:null,rowRenderer:_renderer.defaultRowRenderer,selectable:!0,shouldSelectNode:null,el:null,layout:"div",noDataClass:"infinite-tree-no-data",noDataText:"No data",nodeIdAttr:"data-id",togglerClass:"infinite-tree-toggler"},_this.state={openNodes:[],rootNode:createRootNode(),selectedNode:null},_this.clusterize=null,_this.nodeTable=new _lookupTable2.default,_this.nodes=[],_this.rows=[],_this.filtered=!1,_this.scrollElement=null,_this.contentElement=null,_this.draggableTarget=null,_this.droppableTarget=null,_this.contentListener={click:function(event){event=event||window.event;var stopPropagation=event.stopPropagation;event.stopPropagation=function(){event.cancelBubble=!0,stopPropagation&&stopPropagation.call(event)},setTimeout(function(){if(!0!==event.cancelBubble&&(_this.emit("click",event),!0!==event.cancelBubble)){var itemTarget=null,clickToggler=!1;for(event.target?itemTarget=event.target!==event.currentTarget?event.target:null:event.srcElement&&(itemTarget=event.srcElement);itemTarget&&itemTarget.parentElement!==_this.contentElement;)(0,_elementClass2.default)(itemTarget).has(_this.options.togglerClass)&&(clickToggler=!0),itemTarget=itemTarget.parentElement;if(itemTarget&&!itemTarget.hasAttribute("disabled")){var id=itemTarget.getAttribute(_this.options.nodeIdAttr),node=_this.getNodeById(id);if(node)return clickToggler?void _this.toggleNode(node,{async:!0}):void _this.selectNode(node)}}},0)},dblclick:function(event){_this.emit("doubleClick",event)},keydown:function(event){_this.emit("keyDown",event)},keyup:function(event){_this.emit("keyUp",event)},dragstart:function(event){event=event||window.event,_this.draggableTarget=event.target||event.srcElement},dragend:function(event){event=event||window.event;var _this$options$droppab=_this.options.droppable.hoverClass,hoverClass=void 0===_this$options$droppab?"":_this$options$droppab;_this.draggableTarget=null,_this.droppableTarget&&((0,_elementClass2.default)(_this.droppableTarget).remove(hoverClass),_this.droppableTarget=null)},dragenter:function(event){event=event||window.event;var itemTarget=null;for(event.target?itemTarget=event.target!==event.currentTarget?event.target:null:event.srcElement&&(itemTarget=event.srcElement);itemTarget&&itemTarget.parentElement!==_this.contentElement;)itemTarget=itemTarget.parentElement;if(itemTarget&&_this.droppableTarget!==itemTarget){var _this$options$droppab2=_this.options.droppable,accept=_this$options$droppab2.accept,_this$options$droppab3=_this$options$droppab2.hoverClass,hoverClass=void 0===_this$options$droppab3?"":_this$options$droppab3;(0,_elementClass2.default)(_this.droppableTarget).remove(hoverClass),_this.droppableTarget=null;var canDrop=!0;if("function"==typeof accept){var id=itemTarget.getAttribute(_this.options.nodeIdAttr),node=_this.getNodeById(id);canDrop=!!accept.call(_this,event,{type:"dragenter",draggableTarget:_this.draggableTarget,droppableTarget:itemTarget,node:node})}canDrop&&((0,_elementClass2.default)(itemTarget).add(hoverClass),_this.droppableTarget=itemTarget)}},dragover:function(event){event=event||window.event,(0,_dom.preventDefault)(event)},drop:function(event){if(event=event||window.event,(0,_dom.preventDefault)(event),_this.draggableTarget&&_this.droppableTarget){var _this$options$droppab4=_this.options.droppable,accept=_this$options$droppab4.accept,drop=_this$options$droppab4.drop,_this$options$droppab5=_this$options$droppab4.hoverClass,hoverClass=void 0===_this$options$droppab5?"":_this$options$droppab5,id=_this.droppableTarget.getAttribute(_this.options.nodeIdAttr),node=_this.getNodeById(id),canDrop=!0;"function"==typeof accept&&(canDrop=!!accept.call(_this,event,{type:"drop",draggableTarget:_this.draggableTarget,droppableTarget:_this.droppableTarget,node:node})),canDrop&&"function"==typeof drop&&drop.call(_this,event,{draggableTarget:_this.draggableTarget,droppableTarget:_this.droppableTarget,node:node}),(0,_elementClass2.default)(_this.droppableTarget).remove(hoverClass),_this.droppableTarget=null}}},(0,_isDom2.default)(el)?options=_extends({},options,{el:el}):el&&"object"===(void 0===el?"undefined":_typeof(el))&&(options=el),_this.options=_extends({},_this.options,options),_this.create(),_this.options.data&&_this.loadData(_this.options.data),_this}return _inherits(InfiniteTree,_events$EventEmitter),InfiniteTree.prototype.create=function(){var _this2=this;if(this.options.el){var tag=null;if(this.scrollElement=document.createElement("div"),"table"===this.options.layout){var tableElement=document.createElement("table");tableElement.className=(0,_classnames2.default)("infinite-tree","infinite-tree-table");var contentElement=document.createElement("tbody");tableElement.appendChild(contentElement),this.scrollElement.appendChild(tableElement),this.contentElement=contentElement,tag="tr"}else{var _contentElement=document.createElement("div");this.scrollElement.appendChild(_contentElement),this.contentElement=_contentElement,tag="div"}this.scrollElement.className=(0,_classnames2.default)("infinite-tree","infinite-tree-scroll"),this.contentElement.className=(0,_classnames2.default)("infinite-tree","infinite-tree-content"),this.options.el.appendChild(this.scrollElement),this.clusterize=new _clusterize2.default({tag:tag,rows:[],scrollElement:this.scrollElement,contentElement:this.contentElement,emptyText:this.options.noDataText,emptyClass:this.options.noDataClass,blocksInCluster:this.options.blocksInCluster}),this.clusterize.on("clusterWillChange",function(){_this2.emit("clusterWillChange")}),this.clusterize.on("clusterDidChange",function(){_this2.emit("clusterDidChange")}),(0,_dom.addEventListener)(this.contentElement,"click",this.contentListener.click),(0,_dom.addEventListener)(this.contentElement,"dblclick",this.contentListener.dblclick),(0,_dom.addEventListener)(this.contentElement,"keydown",this.contentListener.keydown),(0,_dom.addEventListener)(this.contentElement,"keyup",this.contentListener.keyup),this.options.droppable&&((0,_dom.addEventListener)(document,"dragstart",this.contentListener.dragstart),(0,_dom.addEventListener)(document,"dragend",this.contentListener.dragend),(0,_dom.addEventListener)(this.contentElement,"dragenter",this.contentListener.dragenter),(0,_dom.addEventListener)(this.contentElement,"dragleave",this.contentListener.dragleave),(0,_dom.addEventListener)(this.contentElement,"dragover",this.contentListener.dragover),(0,_dom.addEventListener)(this.contentElement,"drop",this.contentListener.drop))}},InfiniteTree.prototype.destroy=function(){if(this.clear(),this.options.el){for((0,_dom.removeEventListener)(this.contentElement,"click",this.contentListener.click),(0,_dom.removeEventListener)(this.contentElement,"dblclick",this.contentListener.dblclick),(0,_dom.removeEventListener)(this.contentElement,"keydown",this.contentListener.keydown),(0,_dom.removeEventListener)(this.contentElement,"keyup",this.contentListener.keyup),this.options.droppable&&((0,_dom.removeEventListener)(document,"dragstart",this.contentListener.dragstart),(0,_dom.removeEventListener)(document,"dragend",this.contentListener.dragend),(0,_dom.removeEventListener)(this.contentElement,"dragenter",this.contentListener.dragenter),(0,_dom.removeEventListener)(this.contentElement,"dragleave",this.contentListener.dragleave),(0,_dom.removeEventListener)(this.contentElement,"dragover",this.contentListener.dragover),(0,_dom.removeEventListener)(this.contentElement,"drop",this.contentListener.drop)),this.clusterize&&(this.clusterize.destroy(!0),this.clusterize=null);this.contentElement.firstChild;)this.contentElement.removeChild(this.contentElement.firstChild);for(;this.scrollElement.firstChild;)this.scrollElement.removeChild(this.scrollElement.firstChild);for(var containerElement=this.options.el;containerElement.firstChild;)containerElement.removeChild(containerElement.firstChild);this.contentElement=null,this.scrollElement=null}},InfiniteTree.prototype.addChildNodes=function(newNodes,index,parentNode){var _this3=this;if(newNodes=[].concat(newNodes||[]),0===newNodes.length)return!1;if(parentNode=parentNode||this.state.rootNode,void 0===index&&(index=parentNode.children.length),!ensureNodeInstance(parentNode))return!1;newNodes.forEach(function(newNode){newNode.parent=parentNode}),parentNode.children.splice.apply(parentNode.children,[index,0].concat(newNodes)),index=parentNode.children.indexOf(newNodes[0]);var deleteCount=parentNode.state.total,nodes=(0,_flattree.flatten)(parentNode.children,{openNodes:this.state.openNodes}),rows=[];rows.length=nodes.length;for(var i=0;i<nodes.length;++i){var node=nodes[i];rows[i]=this.options.rowRenderer(node,this.options)}if(parentNode===this.state.rootNode)this.nodes=nodes,this.rows=rows;else{var parentOffset=this.nodes.indexOf(parentNode);parentOffset>=0&&(!0===parentNode.state.open&&(this.nodes.splice.apply(this.nodes,[parentOffset+1,deleteCount].concat(nodes)),this.rows.splice.apply(this.rows,[parentOffset+1,deleteCount].concat(rows))),this.rows[parentOffset]=this.options.rowRenderer(parentNode,this.options))}return parentNode.children.slice(index).forEach(function(childNode){_this3.flattenNode(childNode).forEach(function(node){void 0!==node.id&&_this3.nodeTable.set(node.id,node)})}),this.update(),!0},InfiniteTree.prototype.appendChildNode=function(newNode,parentNode){if(parentNode=parentNode||this.state.rootNode,!ensureNodeInstance(parentNode))return!1;var index=parentNode.children.length,newNodes=[].concat(newNode||[]);return this.addChildNodes(newNodes,index,parentNode)},InfiniteTree.prototype.checkNode=function(node,checked){if(!ensureNodeInstance(node))return!1;if(this.emit("willCheckNode",node),this.nodes.indexOf(node)<0)return error("Invalid node index"),!1;!0===checked?(node.state.checked=!0,node.state.indeterminate=!1):!1===checked?(node.state.checked=!1,node.state.indeterminate=!1):(node.state.checked=!!node.state.checked,node.state.indeterminate=!!node.state.indeterminate,node.state.checked=node.state.checked&&node.state.indeterminate||!node.state.checked,node.state.indeterminate=!1);var topmostNode=node;return function(parentNode){for(var childNode=parentNode.getFirstChild();childNode;)if(childNode.state.checked=parentNode.state.checked,childNode.state.indeterminate=!1,childNode.hasChildren())childNode=childNode.getFirstChild();else{for(;null!==childNode&&null===childNode.getNextSibling()&&childNode.parent!==parentNode;)childNode=childNode.getParent();null!==childNode&&(childNode=childNode.getNextSibling())}}(node),function(childNode){for(var parentNode=childNode.parent;parentNode&&parentNode.state.depth>=0;){topmostNode=parentNode;for(var checkedCount=0,indeterminate=!1,len=parentNode.children?parentNode.children.length:0,i=0;i<len;++i){var _childNode=parentNode.children[i];indeterminate=indeterminate||!!_childNode.state.indeterminate,_childNode.state.checked&&checkedCount++}0===checkedCount?(parentNode.state.indeterminate=!1,parentNode.state.checked=!1):checkedCount>0&&checkedCount<len||indeterminate?(parentNode.state.indeterminate=!0,parentNode.state.checked=!0):(parentNode.state.indeterminate=!1,parentNode.state.checked=!0),parentNode=parentNode.parent}}(node),this.updateNode(topmostNode),this.emit("checkNode",node),!0},InfiniteTree.prototype.clear=function(){this.clusterize&&this.clusterize.clear(),this.nodeTable.clear(),this.nodes=[],this.rows=[],this.state.openNodes=[],this.state.rootNode=createRootNode(this.state.rootNode),this.state.selectedNode=null},InfiniteTree.prototype.closeNode=function(node,options){var _this4=this,_options=_extends({},options),_options$async=_options.async,async=void 0!==_options$async&&_options$async,_options$asyncCallbac=_options.asyncCallback,asyncCallback=void 0===_options$asyncCallbac?noop:_options$asyncCallbac,_options$silent=_options.silent,silent=void 0!==_options$silent&&_options$silent;if(!ensureNodeInstance(node))return!1;if(this.emit("willCloseNode",node),node===this.state.rootNode)return error("Cannot close the root node"),!1;if(this.nodes.indexOf(node)<0)return error("Invalid node index"),!1;if(this.state.openNodes.indexOf(node)<0)return!1;node.state.collapsing=!0,this.rows[this.nodes.indexOf(node)]=this.options.rowRenderer(node,this.options),this.update();var fn=function(){if(_this4.state.selectedNode&&_this4.state.selectedNode!==node){var selectedIndex=_this4.nodes.indexOf(_this4.state.selectedNode),_total=node.state.total,rangeFrom=_this4.nodes.indexOf(node)+1,rangeTo=_this4.nodes.indexOf(node)+_total;rangeFrom<=selectedIndex&&selectedIndex<=rangeTo&&_this4.selectNode(node,options)}node.state.open=!1;var openNodes=_this4.state.openNodes.filter(function(node){return node.state.open});_this4.state.openNodes=openNodes;for(var total=node.state.total,p=node;null!==p;p=p.parent)p.state.total=p.state.total-total;_this4.nodes.splice(_this4.nodes.indexOf(node)+1,total),_this4.rows.splice(_this4.nodes.indexOf(node)+1,total),node.state.collapsing=!1,_this4.rows[_this4.nodes.indexOf(node)]=_this4.options.rowRenderer(node,_this4.options),_this4.update(),silent||_this4.emit("closeNode",node),"function"==typeof asyncCallback&&asyncCallback()};return async?setTimeout(fn,0):fn(),!0},InfiniteTree.prototype.filter=function(predicate,options){options=_extends({caseSensitive:!1,exactMatch:!1,filterPath:"name",includeAncestors:!0,includeDescendants:!0},options),this.filtered=!0;var rootNode=this.state.rootNode;!function traverse(node){var filterNode=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!node||!node.children)return!1;if(node===rootNode)node.state.filtered=!1;else if(filterNode)node.state.filtered=!0;else if("string"==typeof predicate){var filterText=(0,_utilities.get)(node,options.filterPath,"");Number.isFinite(filterText)&&(filterText=String(filterText)),"string"!=typeof filterText&&(filterText="");var keyword=predicate;options.caseSensitive||(filterText=filterText.toLowerCase(),keyword=keyword.toLowerCase()),node.state.filtered=options.exactMatch?filterText===keyword:filterText.indexOf(keyword)>=0}else if("function"==typeof predicate){var callback=predicate;node.state.filtered=!!callback(node)}else node.state.filtered=!1;options.includeDescendants&&(filterNode=filterNode||node.state.filtered);for(var filtered=!1,i=0;i<node.children.length;++i){var childNode=node.children[i];childNode&&(traverse(childNode,filterNode)&&(filtered=!0))}return options.includeAncestors&&filtered&&(node.state.filtered=!0),node.state.filtered}(rootNode),this.rows.length=this.nodes.length;for(var i=0;i<this.nodes.length;++i){var node=this.nodes[i];this.rows[i]=this.options.rowRenderer(node,this.options)}this.update()},InfiniteTree.prototype.flattenChildNodes=function(parentNode){if(parentNode=parentNode||this.state.rootNode,!ensureNodeInstance(parentNode))return[];for(var list=[],node=parentNode.getFirstChild();node;)if(list.push(node),node.hasChildren())node=node.getFirstChild();else{for(;null!==node&&null===node.getNextSibling()&&node.parent!==parentNode;)node=node.getParent();null!==node&&(node=node.getNextSibling())}return list},InfiniteTree.prototype.flattenNode=function(node){return ensureNodeInstance(node)?[node].concat(this.flattenChildNodes(node)):[]},InfiniteTree.prototype.getChildNodes=function(parentNode){return parentNode=parentNode||this.state.rootNode,ensureNodeInstance(parentNode)?parentNode.children:[]},InfiniteTree.prototype.getNodeById=function(id){var node=this.nodeTable.get(id);if(!node){if(!(node=this.nodes.filter(function(node){return node.id===id})[0]))return null;this.nodeTable.set(node.id,node)}return node},InfiniteTree.prototype.getNodeFromPoint=function(x,y){for(var el=document.elementFromPoint(x,y);el&&el.parentElement!==this.contentElement;)el=el.parentElement;if(!el)return null;var id=el.getAttribute(this.options.nodeIdAttr);return this.getNodeById(id)},InfiniteTree.prototype.getOpenNodes=function(){return this.state.openNodes.slice()},InfiniteTree.prototype.getRootNode=function(){return this.state.rootNode},InfiniteTree.prototype.getSelectedNode=function(){return this.state.selectedNode},InfiniteTree.prototype.getSelectedIndex=function(){return this.nodes.indexOf(this.state.selectedNode)},InfiniteTree.prototype.insertNodeAfter=function(newNode,referenceNode){if(!ensureNodeInstance(referenceNode))return!1;var parentNode=referenceNode.getParent(),index=parentNode.children.indexOf(referenceNode)+1,newNodes=[].concat(newNode||[]);return this.addChildNodes(newNodes,index,parentNode)},InfiniteTree.prototype.insertNodeBefore=function(newNode,referenceNode){if(!ensureNodeInstance(referenceNode))return!1;var parentNode=referenceNode.getParent(),index=parentNode.children.indexOf(referenceNode),newNodes=[].concat(newNode||[]);return this.addChildNodes(newNodes,index,parentNode)},InfiniteTree.prototype.loadData=function(){var _this5=this,data=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.nodes=(0,_flattree.flatten)(data,{openAllNodes:this.options.autoOpen}),this.nodeTable.clear(),this.state.openNodes=this.nodes.filter(function(node){return node.state.open}),this.state.selectedNode=null;var rootNode=function(){for(var node=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;node&&null!==node.parent;)node=node.parent;return node}(this.nodes.length>0?this.nodes[0]:null);this.state.rootNode=rootNode||createRootNode(this.state.rootNode),this.flattenChildNodes(this.state.rootNode).forEach(function(node){void 0!==node.id&&_this5.nodeTable.set(node.id,node)}),this.rows.length=this.nodes.length;for(var i=0;i<this.nodes.length;++i){var node=this.nodes[i];this.rows[i]=this.options.rowRenderer(node,this.options)}this.update()},InfiniteTree.prototype.moveNodeTo=function(node,parentNode,index){if(!ensureNodeInstance(node)||!ensureNodeInstance(parentNode))return!1;for(var p=parentNode;null!==p;p=p.parent)if(p===node)return error("Cannot move an ancestor node (id="+node.id+") to the specified parent node (id="+parentNode.id+")."),!1;return this.removeNode(node)&&this.addChildNodes(node,index,parentNode)},InfiniteTree.prototype.openNode=function(node,options){var _this6=this,_options2=_extends({},options),_options2$async=_options2.async,async=void 0!==_options2$async&&_options2$async,_options2$asyncCallba=_options2.asyncCallback,asyncCallback=void 0===_options2$asyncCallba?noop:_options2$asyncCallba,_options2$silent=_options2.silent,silent=void 0!==_options2$silent&&_options2$silent;if(!ensureNodeInstance(node))return!1;if(!this.nodeTable.has(node.id))return error("Cannot open node with the given node id:",node.id),!1;if(this.state.openNodes.indexOf(node)>=0)return!1;this.emit("willOpenNode",node);var fn=function(){node.state.open=!0,_this6.state.openNodes.indexOf(node)<0&&(_this6.state.openNodes=[node].concat(_this6.state.openNodes));var nodes=(0,_flattree.flatten)(node.children,{openNodes:_this6.state.openNodes});if(nodes.length>0&&!_this6.nodeTable.get(nodes[0])&&nodes.forEach(function(node){void 0!==node.id&&_this6.nodeTable.set(node.id,node)}),node.state.expanding=!1,_this6.nodes.indexOf(node)>=0){var rows=[];rows.length=nodes.length;for(var i=0;i<nodes.length;++i){var _node=nodes[i];rows[i]=_this6.options.rowRenderer(_node,_this6.options)}_this6.nodes.splice.apply(_this6.nodes,[_this6.nodes.indexOf(node)+1,0].concat(nodes)),_this6.rows.splice.apply(_this6.rows,[_this6.nodes.indexOf(node)+1,0].concat(rows)),_this6.rows[_this6.nodes.indexOf(node)]=_this6.options.rowRenderer(node,_this6.options),_this6.update()}silent||_this6.emit("openNode",node),"function"==typeof asyncCallback&&asyncCallback()};return this.nodes.indexOf(node)<0?(node.state.expanding=!0,async?setTimeout(fn,0):fn(),!0):("function"==typeof this.options.shouldLoadNodes?this.options.shouldLoadNodes(node):!node.hasChildren()&&node.loadOnDemand)?"function"==typeof this.options.loadNodes&&!0!==node.state.loading&&(node.state.loading=!0,this.rows[this.nodes.indexOf(node)]=this.options.rowRenderer(node,this.options),this.update(),setTimeout(function(){_this6.options.loadNodes(node,function(err,nodes){var done=arguments.length>2&&void 0!==arguments[2]?arguments[2]:noop;if(nodes=(0,_ensureArray2.default)(nodes),0===nodes.length&&_this6.nodes.indexOf(node)>=0&&(node.state.open=!0,_this6.state.openNodes.indexOf(node)<0&&(_this6.state.openNodes=[node].concat(_this6.state.openNodes))),err||0===nodes.length)return node.state.loading=!1,_this6.rows[_this6.nodes.indexOf(node)]=_this6.options.rowRenderer(node,_this6.options),_this6.update(),void("function"==typeof done&&done());_this6.addChildNodes(nodes,void 0,node),node.hasChildren()?_this6.openNode(node,_extends({},options,{async:!0,asyncCallback:function(){node.state.loading=!1,_this6.rows[_this6.nodes.indexOf(node)]=_this6.options.rowRenderer(node,_this6.options),_this6.update(),"function"==typeof done&&done()}})):(node.state.loading=!1,_this6.rows[_this6.nodes.indexOf(node)]=_this6.options.rowRenderer(node,_this6.options),_this6.update(),"function"==typeof done&&done())})},0),!0):(node.state.expanding=!0,this.rows[this.nodes.indexOf(node)]=this.options.rowRenderer(node,this.options),this.update(),async?setTimeout(fn,0):fn(),!0)},InfiniteTree.prototype.removeChildNodes=function(parentNode,options){var _this7=this;if(!ensureNodeInstance(parentNode))return!1;if(0===parentNode.children.length)return!1;if(parentNode===this.state.rootNode)return this.clear(),!0;var parentNodeIndex=this.nodes.indexOf(parentNode);if(parentNodeIndex>=0&&this.state.selectedNode){var selectedIndex=this.nodes.indexOf(this.state.selectedNode),rangeFrom=parentNodeIndex+1,rangeTo=parentNodeIndex+parentNode.state.total;rangeFrom<=selectedIndex&&selectedIndex<=rangeTo&&(parentNode===this.state.rootNode?this.selectNode(null,options):this.selectNode(parentNode,options))}for(var removedNodes=this.flattenChildNodes(parentNode),deleteCount=parentNode.state.total,p=parentNode;null!==p;p=p.parent)p.state.total=p.state.total-deleteCount;return parentNode.children=[],parentNode!==this.state.rootNode&&(parentNode.state.open=parentNode.state.open&&parentNode.children.length>0),parentNodeIndex>=0&&(this.nodes.splice(parentNodeIndex+1,deleteCount),this.rows.splice(parentNodeIndex+1,deleteCount),this.rows[parentNodeIndex]=this.options.rowRenderer(parentNode,this.options)),this.state.openNodes=this.state.openNodes.filter(function(node){return removedNodes.indexOf(node)<0&&node.state.open}),removedNodes.forEach(function(node){_this7.nodeTable.unset(node.id)}),this.update(),!0},InfiniteTree.prototype.removeNode=function(node,options){var _this8=this;if(!ensureNodeInstance(node))return!1;var parentNode=node.parent;if(!parentNode)return!1;var nodeIndex=this.nodes.indexOf(node),parentNodeIndex=this.nodes.indexOf(parentNode);if(nodeIndex>=0&&this.state.selectedNode){var selectedIndex=this.nodes.indexOf(this.state.selectedNode),rangeFrom=nodeIndex,rangeTo=nodeIndex+node.state.total+1;if(rangeFrom<=selectedIndex&&selectedIndex<=rangeTo){var selectedNode=node.getNextSibling()||node.getPreviousSibling()||node.getParent();selectedNode===this.state.rootNode?this.selectNode(null,options):this.selectNode(selectedNode,options)}}for(var removedNodes=this.flattenNode(node),deleteCount=node.state.total+1,p=parentNode;null!==p;p=p.parent)p.state.total=p.state.total-deleteCount;return parentNode.children.splice(parentNode.children.indexOf(node),1),parentNode!==this.state.rootNode&&(parentNode.state.open=parentNode.state.open&&parentNode.children.length>0),nodeIndex>=0&&(this.nodes.splice(nodeIndex,deleteCount),this.rows.splice(nodeIndex,deleteCount)),parentNodeIndex>=0&&(this.rows[parentNodeIndex]=this.options.rowRenderer(parentNode,this.options)),this.state.openNodes=this.state.openNodes.filter(function(node){return removedNodes.indexOf(node)<0&&node.state.open}),removedNodes.forEach(function(node){_this8.nodeTable.unset(node.id)}),this.update(),!0},InfiniteTree.prototype.queryNodeById=function(nodeId){var queryId=nodeId?nodeId.replace(/"/g,'\\"',nodeId):nodeId,nodeSelector="["+this.options.nodeIdAttr+'="'+queryId+'"]';return this.contentElement.querySelector(nodeSelector)},InfiniteTree.prototype.scrollToNode=function(node){if(!ensureNodeInstance(node))return!1;var nodeIndex=this.nodes.indexOf(node);if(nodeIndex<0)return!1;if(!this.contentElement)return!1;for(var firstChild=this.contentElement.firstChild;firstChild;){if((firstChild.className||"").indexOf("clusterize-extra-row")<0&&firstChild.offsetHeight>0)break;firstChild=firstChild.nextSibling}var offsetHeight=firstChild&&firstChild.offsetHeight||0;offsetHeight>0&&this.scrollTop(nodeIndex*offsetHeight);var nodeEl=this.queryNodeById(node.id);return nodeEl&&this.scrollTop(nodeEl.offsetTop),!0},InfiniteTree.prototype.scrollTop=function(value){return this.scrollElement?(void 0!==value&&(this.scrollElement.scrollTop=Number(value)),this.scrollElement.scrollTop):0},InfiniteTree.prototype.selectNode=function(){var node=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,options=arguments[1],_options3=this.options,selectable=_options3.selectable,shouldSelectNode=_options3.shouldSelectNode,_options4=_extends({},options),_options4$autoScroll=_options4.autoScroll,autoScroll=void 0===_options4$autoScroll||_options4$autoScroll,_options4$silent=_options4.silent,silent=void 0!==_options4$silent&&_options4$silent;if(this.emit("willSelectNode",node),!selectable)return!1;if("function"==typeof shouldSelectNode&&!shouldSelectNode(node))return!1;if(node===this.state.rootNode)return!1;if(null===node){if(this.state.selectedNode){var selectedNode=this.state.selectedNode,selectedIndex=this.nodes.indexOf(this.state.selectedNode);return selectedNode.state.selected=!1,this.rows[selectedIndex]=this.options.rowRenderer(selectedNode,this.options),this.state.selectedNode=null,this.update(),silent||this.emit("selectNode",null),!0}return!1}if(!ensureNodeInstance(node))return!1;var nodeIndex=this.nodes.indexOf(node);if(nodeIndex<0)return!1;if(this.state.selectedNode!==node&&(node.state.selected=!0,this.rows[nodeIndex]=this.options.rowRenderer(node,this.options)),this.state.selectedNode){var _selectedNode=this.state.selectedNode,_selectedIndex=this.nodes.indexOf(this.state.selectedNode);_selectedNode.state.selected=!1,this.rows[_selectedIndex]=this.options.rowRenderer(_selectedNode,this.options)}if(this.state.selectedNode!==node){if(this.state.selectedNode=node,silent||this.emit("selectNode",node),autoScroll&&this.scrollElement&&this.contentElement){var nodeEl=this.queryNodeById(node.id);if(nodeEl){var offsetTop=nodeEl.offsetTop||0,offsetHeight=nodeEl.offsetHeight||0;offsetTop<this.scrollElement.scrollTop&&(this.scrollElement.scrollTop=offsetTop),offsetTop+offsetHeight>=this.scrollElement.scrollTop+this.scrollElement.clientHeight&&(this.scrollElement.scrollTop+=offsetHeight)}}}else this.state.selectedNode=null,silent||this.emit("selectNode",null);return this.update(),!0},InfiniteTree.prototype.swapNodes=function(node1,node2){if(!ensureNodeInstance(node1)||!ensureNodeInstance(node1.parent))return!1;if(!ensureNodeInstance(node2)||!ensureNodeInstance(node2.parent))return!1;for(var parentNode1=node1.parent,parentNode2=node2.parent,p=parentNode1;null!==p;p=p.parent)if(p===node2)return error("Cannot swap two nodes with one being an ancestor of the other."),!1;for(var _p=parentNode2;null!==_p;_p=_p.parent)if(_p===node1)return error("Cannot swap two nodes with one being an ancestor of the other."),!1;var nodeIndex1=parentNode1.children.indexOf(node1),nodeIndex2=parentNode2.children.indexOf(node2);return this.moveNodeTo(node1,parentNode2,nodeIndex2)&&this.moveNodeTo(node2,parentNode1,nodeIndex1)},InfiniteTree.prototype.toggleNode=function(node,options){return!!ensureNodeInstance(node)&&(this.state.openNodes.indexOf(node)>=0?this.closeNode(node,options):this.openNode(node,options))},InfiniteTree.prototype.toString=function(){var node=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return node||(node=this.state.rootNode),function traverse(node){var s="[";if(node&&node.children)for(var i=0;i<node.children.length;++i)!function(i){var list=[];s+="{",Object.keys(node).forEach(function(key){var value=node[key];if("parent"!==key)return"children"===key?void list.push('"'+key+'":'+traverse(node.children[i])):void("string"==typeof value||"object"===(void 0===value?"undefined":_typeof(value))?list.push('"'+key+'":'+JSON.stringify(value)):list.push('"'+key+'":'+value))}),s+=list.join(","),s=s+"}"+(i===node.children.length-1?"":",")}(i);return s+="]"}(node)},InfiniteTree.prototype.unfilter=function(){this.filtered=!1;var rootNode=this.state.rootNode;!function traverse(node){if(node&&(delete node.state.filtered,node.children))for(var i=0;i<node.children.length;++i){var childNode=node.children[i];childNode&&traverse(childNode)}}(rootNode),this.rows.length=this.nodes.length;for(var i=0;i<this.nodes.length;++i){var node=this.nodes[i];this.rows[i]=this.options.rowRenderer(node,this.options)}this.update()},InfiniteTree.prototype.update=function(){if(this.emit("contentWillUpdate"),this.clusterize){var rows=this.rows.filter(function(row){return!!row});this.clusterize.update(rows)}this.emit("contentDidUpdate")},InfiniteTree.prototype.updateNode=function(node,data,options){if(ensureNodeInstance(node)){data=_extends({},data),void 0!==data.id&&null!==data.id&&(this.nodeTable.unset(node.id),this.nodeTable.set(data.id,node),node.id=data.id),delete data.id,delete data.children,delete data.parent,delete data.state,node=(0,_extend2.default)(node,data);var nodeIndex=this.nodes.indexOf(node);if(nodeIndex>=0){var _options5=_extends({},options),_options5$shallowRend=_options5.shallowRendering,shallowRendering=void 0!==_options5$shallowRend&&_options5$shallowRend;if(this.rows[nodeIndex]=this.options.rowRenderer(node,this.options),!shallowRendering)for(var total=node.state.total,rangeFrom=nodeIndex+1,rangeTo=nodeIndex+total,index=rangeFrom;index<=rangeTo;++index)this.rows[index]=this.options.rowRenderer(this.nodes[index],this.options);this.update()}}},InfiniteTree}(_events2.default.EventEmitter);exports.default=InfiniteTree},function(module,exports){function indexOf(arr,prop){if(arr.indexOf)return arr.indexOf(prop);for(var i=0,len=arr.length;i<len;i++)if(arr[i]===prop)return i;return-1}function ElementClass(opts){if(!(this instanceof ElementClass))return new ElementClass(opts);opts||(opts={}),opts.nodeType&&(opts={el:opts}),this.opts=opts,this.el=opts.el||document.body,"object"!=typeof this.el&&(this.el=document.querySelector(this.el))}module.exports=function(opts){return new ElementClass(opts)},ElementClass.prototype.add=function(className){var el=this.el;if(el){if(""===el.className)return el.className=className;var classes=el.className.split(" ");return indexOf(classes,className)>-1?classes:(classes.push(className),el.className=classes.join(" "),classes)}},ElementClass.prototype.remove=function(className){var el=this.el;if(el&&""!==el.className){var classes=el.className.split(" "),idx=indexOf(classes,className);return idx>-1&&classes.splice(idx,1),el.className=classes.join(" "),classes}},ElementClass.prototype.has=function(className){var el=this.el;if(el){return indexOf(el.className.split(" "),className)>-1}},ElementClass.prototype.toggle=function(className){this.el&&(this.has(className)?this.remove(className):this.add(className))}},function(module,exports,__webpack_require__){function isNode(val){return!(!isObject(val)||!isWindow(window)||"function"!=typeof window.Node)&&("number"==typeof val.nodeType&&"string"==typeof val.nodeName)}var isObject=__webpack_require__(11),isWindow=__webpack_require__(12);module.exports=isNode},function(module,exports,__webpack_require__){"use strict";module.exports=function(x){return"object"==typeof x&&null!==x}},function(module,exports,__webpack_require__){"use strict";module.exports=function(obj){if(null==obj)return!1;var o=Object(obj);return o===o.window}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.__esModule=!0,exports.Node=exports.flatten=void 0;var _flatten=__webpack_require__(14),_flatten2=_interopRequireDefault(_flatten),_node=__webpack_require__(3),_node2=_interopRequireDefault(_node);exports.flatten=_flatten2.default,exports.Node=_node2.default},function(module,exports,__webpack_require__){"use s