/* Inspire Tree * @version 4.3.1 * https://github.com/helion3/inspire-tree * @copyright Copyright 2015 Helion3, and other contributors * @license Licensed under MIT * see https://github.com/helion3/inspire-tree/blob/master/LICENSE */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("lodash")):"function"==typeof define&&define.amd?define(["lodash"],t):e.InspireTree=t(e._)}(this,function(e){"use strict";function t(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function n(e,t){return t={exports:{}},e(t,t.exports),t.exports}function i(e,t){var n=t||0,i=_;return i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]}function r(e,t,n){var i=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var r=(e=e||{}).random||(e.rng||k)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t)for(var s=0;s<16;++s)t[i+s]=r[s];return t||m(r)}function s(t){return e.each(t._tree.defaultState,function(e,n){t.state(n,e)}),t}function o(e,t,n,i,r){return i.state(e)!==t&&(i._tree.batch(),i._tree.config.nodes.resetStateOnRestore&&"restored"===n&&s(i),i.state(e,t),i._tree.emit("node."+n,i,!1),r&&i.hasChildren()&&i.children.recurseDown(function(i){o(e,t,n,i)}),i.markDirty(),i._tree.end()),i}function a(e,t){if(t)return this.extract(e);var n=c(e);return this.flatten(function(t){return("removed"===e||!t.removed())&&n(t)})}function u(t,n,i,r){return n=e.castArray(n),t._tree.batch(),t[r?"recurseDown":"each"](function(t){e.each(n,function(n){e.isFunction(t[n])&&t[n].apply(t,i)})}),t._tree.end(),t}function c(t){var n=t;return e.isString(t)&&(n=function(n){return e.isFunction(n[t])?n[t]():n[t]}),n}function l(t,n){var i=void 0;return t instanceof P?e.each(t,function(e){return i=l(e,n)}):t instanceof S&&!1!==(i=n(t))&&t.hasChildren()&&(i=l(t.children,n)),i}function h(t){return new w(function(n,i){if(!e.isObject(t))return i(new Error("Invalid Promise"));e.isFunction(t.then)&&t.then(n),e.isFunction(t.error)?t.error(i):e.isFunction(t.catch)&&t.catch(i)})}function d(t,n){var i={};return(n=e.castArray(n)).push("ref"),e.each(t,function(t,r){e.includes(n,r)||(i[r]=e.cloneDeep(t))}),i}function f(t,n,i){n.id=n.id||b(),"string"!=typeof n.id&&"number"!=typeof n.id&&(n.id=n.id.toString());var r=n.itree=n.itree||{};r.icon=r.icon||!1,r.dirty=!1;var s=r.li=r.li||{};s.attributes=s.attributes||{};var o=r.a=r.a||{};o.attributes=o.attributes||{};var a=r.state=r.state||{};return a.collapsed="boolean"==typeof a.collapsed?a.collapsed:t.defaultState.collapsed,a.selectable="boolean"==typeof a.selectable?a.selectable:t.defaultState.selectable,a.draggable="boolean"==typeof a.draggable?a.draggable:t.defaultState.draggable,a["drop-target"]="boolean"==typeof a["drop-target"]?a["drop-target"]:t.defaultState["drop-target"],a.checked="boolean"==typeof a.checked&&a.checked,a.editable="boolean"==typeof a.editable?a.editable:t.defaultState.editable,a.editing="boolean"==typeof a.editing?a.editing:t.defaultState.editing,a.focused=a.focused||t.defaultState.focused,a.hidden=a.hidden||t.defaultState.hidden,a.indeterminate=a.indeterminate||t.defaultState.indeterminate,a.loading=a.loading||t.defaultState.loading,a.removed=a.removed||t.defaultState.removed,a.rendered=a.rendered||t.defaultState.rendered,a.selected=a.selected||t.defaultState.selected,n.itree.parent=i,n=e.assign(new S(t),n),e.isArrayLike(n.children)&&(n.children=v(t,n.children,n)),t.allowsLoadEvents&&e.each(t.config.allowLoadEvents,function(e){a[e]&&t.emit("node."+e,n,!0)}),n}function v(t,n,i){var r=new P(t);return t.config.sort&&(n=e.sortBy(n,t.config.sort)),e.each(n,function(e){r.push(f(t,e,i))}),r._context=i,r}function y(e,t,n){return e.model[t].apply(e.model,n)}for(var p="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},k=n(function(e){var t="undefined"!=typeof crypto&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&msCrypto.getRandomValues.bind(msCrypto);if(t){var n=new Uint8Array(16);e.exports=function(){return t(n),n}}else{var i=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}}),_=[],g=0;g<256;++g)_[g]=(g+256).toString(16).substr(1);var m=i,b=r,w=n(function(e,n){/*! * @overview es6-promise - a tiny implementation of Promises/A+. * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) * @license Licensed under MIT license * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE * @version v4.2.2+97478eb6 */ !function(n,i){e.exports=function(){function e(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}function n(e){return"function"==typeof e}function i(e){q=e}function r(e){H=e}function s(){return void 0!==U?function(){U(a)}:o()}function o(){var e=setTimeout;return function(){return e(a,1)}}function a(){for(var e=0;e2&&void 0!==arguments[2]?arguments[2]:this;this._tree.batch();var i=this[e].remove(),r=n.insertAt(t,i);return this._tree.emit("node.moved",r,this,e,n,t),this._tree.end(),r}},{key:"node",value:function(e){var t=void 0;return this.recurseDown(function(n){if(n.id===e)return t=n,!1}),t}},{key:"nodes",value:function(t){var i=void 0;return e.isArray(t)&&(i=new n(this._tree),this.recurseDown(function(e){t.indexOf(e.id)>-1&&i.push(e)})),e.isArray(t)?i:this}},{key:"pagination",value:function(){return this._pagination}},{key:"recurseDown",value:function(e){return l(this,e),this}},{key:"remove",value:function(t){return e.remove(this,{id:t.id}),e.invoke(this._context,"markDirty"),this._tree.applyChanges(),this}},{key:"removed",value:function(e){return a.call(this,"removed",e)}},{key:"restore",value:function(){return this.invoke("restore")}},{key:"restoreDeep",value:function(){return this.invokeDeep("restore")}},{key:"select",value:function(){return this.invoke("select")}},{key:"selectable",value:function(e){return a.call(this,"selectable",e)}},{key:"selectDeep",value:function(){return this.invokeDeep("select")}},{key:"selected",value:function(e){return a.call(this,"selected",e)}},{key:"show",value:function(){return this.invoke("show")}},{key:"showDeep",value:function(){return this.invokeDeep("show")}},{key:"softRemove",value:function(){return this.invoke("softRemove")}},{key:"sortBy",value:function(t){var n=this;if(t=t||this._tree.config.sort){var i=e.sortBy(this,t);this.length=0,e.each(i,function(e){n.push(e)})}return this}},{key:"state",value:function(){return this.invoke("state",arguments)}},{key:"stateDeep",value:function(){return this.invokeDeep("state",arguments)}},{key:"swap",value:function(e,t){this._tree.batch();var n=e.context(),i=t.context(),r=n.indexOf(e),s=i.indexOf(t);return n===i?(this[r]=t,this[s]=e,this._tree.emit("node.moved",e,n,r,i,s),this._tree.emit("node.moved",t,i,s,n,r)):(n.move(r,i.indexOf(t),i),i.move(i.indexOf(t),r,n)),this._tree.end(),this._tree.emit("node.swapped",e,n,r,t,i,s),this}},{key:"tree",value:function(){return this._tree}},{key:"toArray",value:function(){var t=[];return e.each(this,function(e){t.push(e.toObject())}),t}},{key:"visible",value:function(e){return a.call(this,"visible",e)}}]),n}(function(e){function t(){e.apply(this,arguments)}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}(Array)),S=function(){function t(n,i,r){var s=this;x(this,t),this._tree=n,i instanceof t&&((r=e.castArray(r)).push("_tree"),e.each(i,function(t,n){e.includes(r,n)||(e.isObject(t)?s[n]=t instanceof P?t.clone():"itree"===n?d(t):e.cloneDeep(t):s[n]=t)}))}return D(t,[{key:"addChild",value:function(t){return!e.isArray(this.children)&&e.isArrayLike(this.children)||(this.children=new P(this._tree),this.children._context=this),this.children.addNode(t)}},{key:"addChildren",value:function(t){var n=this,i=new P(this._tree);return this._tree.batch(),e.each(t,function(e){i.push(n.addChild(e))}),this._tree.end(),i}},{key:"allowDynamicLoad",value:function(){return this._tree.isDynamic&&(e.isArrayLike(this.children)||!0===this.children)}},{key:"available",value:function(){return!this.hidden()&&!this.removed()}},{key:"blur",value:function(){return this.state("editing",!1),o("focused",!1,"blurred",this)}},{key:"check",value:function(e){return this._tree.batch(),o("checked",!0,"checked",this,!e&&this._tree.config.checkbox.autoCheckChildren),this.state("indeterminate",!1),this.hasParent()&&this.getParent().refreshIndeterminateState(),this._tree.end(),this}},{key:"checked",value:function(){return this.state("checked")}},{key:"clean",value:function(){return this.recurseUp(function(e){if(e.hasParent()){var t=e.getParent();t.hasVisibleChildren()||t.hide()}}),this}},{key:"clone",value:function(e){return new t(this._tree,this,e)}},{key:"collapse",value:function(){return o("collapsed",!0,"collapsed",this)}},{key:"collapsed",value:function(){return this.state("collapsed")}},{key:"context",value:function(){return this.hasParent()?this.getParent().children:this._tree.model}},{key:"copy",value:function(t){var n=this;return t&&(n=n.copyHierarchy()),{to:function(t){if(!e.isFunction(t.addNode))throw new Error("Destination must be an Inspire Tree instance.");return t.addNode(n.toObject())}}}},{key:"copyHierarchy",value:function(t){var n=[],i=this.getParents();if(e.each(i,function(e){n.push(e.toObject(t))}),i=n.reverse(),!t){var r=this.toObject(!0);this.hasChildren()&&(r.children=this.children.filterBy(function(e){return!e.state("hidden")}).toArray(),r.children._context=r),n.push(r)}var s=n[0],o=s,a=n.length;return e.each(n,function(e,t){var i=[];t+11)&&(this._tree.batch(),o("selected",!1,"deselected",this,!e&&this._tree.config.selection.autoSelectChildren),this._tree.end()),this}},{key:"editable",value:function(){return this._tree.config.editable&&this._tree.config.editing.edit&&this.state("editable")}},{key:"editing",value:function(){return this.state("editing")}},{key:"expand",value:function(){var e=this;return new w(function(t,n){(e.hasChildren()||e._tree.isDynamic&&!0===e.children)&&(e.collapsed()||e.hidden())?(e.state("collapsed",!1),e.state("hidden",!1),e._tree.emit("node.expanded",e),e._tree.isDynamic&&!0===e.children?e.loadChildren().then(t).catch(n):(e.markDirty(),e._tree.applyChanges(),t(e))):t(e)})}},{key:"expanded",value:function(){return!this.collapsed()}},{key:"expandParents",value:function(){return this.hasParent()&&this.getParent().recurseUp(function(e){e.expand()}),this}},{key:"focus",value:function(){return this.focused()||(this._tree.batch(),this._tree.blurDeep(),this.state("focused",!0),this._tree.emit("node.focused",this),this.markDirty(),this._tree.end()),this}},{key:"focused",value:function(){return this.state("focused")}},{key:"getChildren",value:function(){return this.hasChildren()?this.children:new P(this._tree)}},{key:"getParent",value:function(){return this.itree.parent}},{key:"getParents",value:function(){var e=new P(this._tree);return this.hasParent()&&this.getParent().recurseUp(function(t){e.push(t)}),e}},{key:"getTextualHierarchy",value:function(){var e=[];return this.recurseUp(function(t){e.unshift(t.text)}),e}},{key:"hasAncestor",value:function(e){var t=!1;return this.recurseUp(function(n){return!(t=n.id===e.id)}),t}},{key:"hasChildren",value:function(){return e.isArrayLike(this.children)&&this.children.length>0}},{key:"hasLoadedChildren",value:function(){return e.isArrayLike(this.children)}},{key:"hasOrWillHaveChildren",value:function(){return e.isArrayLike(this.children)?Boolean(this.children.length):this.allowDynamicLoad()}},{key:"hasParent",value:function(){return Boolean(this.itree.parent)}},{key:"hasVisibleChildren",value:function(){var e=!1;return this.hasChildren()&&(e=this.children.filterBy("available").length>0),e}},{key:"hide",value:function(){var e=o("hidden",!0,"hidden",this);return e.hasChildren()&&e.children.hide(),e}},{key:"hidden",value:function(){return this.state("hidden")}},{key:"indexPath",value:function(){var t=[];return this.recurseUp(function(n){t.push(e.indexOf(n.context(),n))}),t.reverse().join(".")}},{key:"indeterminate",value:function(){return this.state("indeterminate")}},{key:"lastDeepestVisibleChild",value:function(){var t=void 0;if(this.hasChildren()&&!this.collapsed()){var n=(t=e.findLast(this.children,function(e){return e.visible()})).lastDeepestVisibleChild();n&&(t=n)}return t}},{key:"loadChildren",value:function(){var t=this;return new w(function(n,i){if(!t.allowDynamicLoad())return i(new Error("Node does not have or support dynamic children."));t.state("loading",!0),t.markDirty(),t._tree.applyChanges();var r=function(r,s){if(!e.isArrayLike(r))return i(new TypeError("Loader requires an array-like `nodes` parameter."));t._tree.batch(),t.state("loading",!1);var o=v(t._tree,r,t);e.isArrayLike(t.children)?t.children=t.children.concat(o):t.children=o,e.parseInt(s)>r.length&&(t.children._pagination.total=e.parseInt(s)),"checkbox"===t._tree.config.selection.mode&&t.selected()&&t.children.select(),t.markDirty(),t._tree.end(),n(t.children),t._tree.emit("children.loaded",t)},s=function(e){t.state("loading",!1),t.children=new P(t._tree),t.children._context=t,t.markDirty(),t._tree.applyChanges(),i(e),t._tree.emit("tree.loaderror",e)},o=t._tree.constructor.isTreeNodes(t.children)?t.children.pagination():null,a=t._tree.config.data(t,r,s,o);e.isObject(a)&&h(a).then(r).catch(s)})}},{key:"loading",value:function(){return this.state("loading")}},{key:"loadMore",value:function(){return this.children&&!0!==this.children?this.children.loadMore():w.reject(new Error("Children have not yet been loaded."))}},{key:"markDirty",value:function(){return this.itree.dirty||(this.itree.dirty=!0,this.hasParent()&&this.getParent().markDirty()),this}},{key:"matched",value:function(){return this.state("matched")}},{key:"nextVisibleAncestralSiblingNode",value:function(){var e=void 0;if(this.hasParent()){var t=this.getParent();(e=t.nextVisibleSiblingNode())||(e=t.nextVisibleAncestralSiblingNode())}return e}},{key:"nextVisibleChildNode",value:function(){var t=void 0;return this.hasChildren()&&(t=e.find(this.children,function(e){return e.visible()})),t}},{key:"nextVisibleNode",value:function(){var e=void 0;return(e=this.nextVisibleChildNode())||(e=this.nextVisibleSiblingNode()),e||(e=this.nextVisibleAncestralSiblingNode()),e}},{key:"nextVisibleSiblingNode",value:function(){var t=this.hasParent()?this.getParent().children:this._tree.nodes(),n=e.findIndex(t,{id:this.id});return e.find(e.slice(t,n+1),function(e){return e.visible()})}},{key:"pagination",value:function(){return e.get(this,"children._pagination")}},{key:"previousVisibleNode",value:function(){var e=void 0;return(e=this.previousVisibleSiblingNode())&&e.hasChildren()&&!e.collapsed()&&(e=e.lastDeepestVisibleChild()),!e&&this.hasParent()&&(e=this.getParent()),e}},{key:"previousVisibleSiblingNode",value:function(){var t=this.hasParent()?this.getParent().children:this._tree.nodes(),n=e.findIndex(t,{id:this.id});return e.findLast(e.slice(t,0,n),function(e){return e.visible()})}},{key:"recurseDown",value:function(e){return l(this,e),this}},{key:"recurseUp",value:function(e){return!1!==e(this)&&this.hasParent()&&this.getParent().recurseUp(e),this}},{key:"refreshIndeterminateState",value:function(){var e=this.indeterminate();if(this.state("indeterminate",!1),this.hasChildren()){var t=this.children.length,n=0,i=0;this.children.each(function(e){e.checked()&&i++,e.indeterminate()&&n++}),i===t?o("checked",!0,"checked",this):o("checked",!1,"unchecked",this),this.checked()||this.state("indeterminate",n>0||t>0&&i>0&&i0&&void 0!==arguments[0]&&arguments[0],t=this.getParent();this.context().remove(this),t&&(t.refreshIndeterminateState(),t.markDirty()),(t?t.pagination():this._tree.pagination()).total--;var n=this.toObject(!1,e);return this._tree.emit("node.removed",n,t),this._tree.applyChanges(),n}},{key:"removed",value:function(){return this.state("removed")}},{key:"rendered",value:function(){return this.state("rendered")}},{key:"restore",value:function(){return o("removed",!1,"restored",this)}},{key:"select",value:function(e){if(!this.selected()&&this.selectable()){if(this._tree.batch(),this._tree.canAutoDeselect()){var t=this._tree.config.selection.require;this._tree.config.selection.require=!1,this._tree.deselectDeep(),this._tree.config.selection.require=t}o("selected",!0,"selected",this,!e&&this._tree.config.selection.autoSelectChildren),this._tree._lastSelectedNode=this,this.markDirty(),this._tree.end()}return this}},{key:"selectable",value:function(){var e=this._tree.config.selection.allow(this);return"boolean"==typeof e?e:this.state("selectable")}},{key:"selected",value:function(){return this.state("selected")}},{key:"set",value:function(e,t){return this[e]=t,this.markDirty(),this._tree.applyChanges(),this}},{key:"show",value:function(){return o("hidden",!1,"shown",this)}},{key:"state",value:function(e,t){var n=this.itree.state[e];return void 0!==t&&n!==t&&(this.itree.state[e]=t,"rendered"!==e&&this.markDirty(),this._tree.emit("node.state.changed",this,e,n,t)),n}},{key:"states",value:function(t,n){var i=this,r=[];return this._tree.batch(),e.each(t,function(e){r.push(i.state(e,n))}),this._tree.end(),r}},{key:"swap",value:function(e){return this.context().swap(this,e),this}},{key:"softRemove",value:function(){return o("removed",!0,"softremoved",this,"softRemove")}},{key:"toggleCheck",value:function(){return this.checked()?this.uncheck():this.check()}},{key:"toggleCollapse",value:function(){return this.collapsed()?this.expand():this.collapse()}},{key:"toggleEditing",value:function(){return this.state("editing",!this.state("editing")),this.markDirty(),this._tree.applyChanges(),this}},{key:"toggleSelect",value:function(){return this.selected()?this.deselect():this.select()}},{key:"toObject",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r={},s=e.pull(Object.keys(this),"_tree","children","itree");e.each(s,function(e){r[e]=t[e]});var o=r.itree={};return o.a=this.itree.a,o.icon=this.itree.icon,o.li=this.itree.li,i&&(o.state=this.itree.state),!n&&this.hasChildren()&&e.isFunction(this.children.toArray)&&(r.children=this.children.toArray()),r}},{key:"toString",value:function(){return this.text}},{key:"tree",value:function(){return this.context().tree()}},{key:"uncheck",value:function(e){return this._tree.batch(),o("checked",!1,"unchecked",this,!e&&this._tree.config.checkbox.autoCheckChildren),this.state("indeterminate",!1),this.hasParent()&&this.getParent().refreshIndeterminateState(),this._tree.end(),this}},{key:"visible",value:function(){return!(this.hidden()||this.removed()||this._tree.usesNativeDOM&&!this.rendered())&&(!this.hasParent()||!this.getParent().collapsed()&&this.getParent().visible())}}]),t}();return function(t){function n(t){x(this,n);var i=L(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),r=i;r._lastSelectedNode,r._muted=!1,r.allowsLoadEvents=!1,r.batching=0,r.id=b(),r.initialized=!1,r.isDynamic=!1,r.opts=t,r.preventDeselection=!1,r.config=e.defaultsDeep({},t,{allowLoadEvents:[],checkbox:{autoCheckChildren:!0},contextMenu:!1,data:!1,editable:!1,editing:{add:!1,edit:!1,remove:!1},nodes:{resetStateOnRestore:!0},pagination:{limit:-1},renderer:!1,search:{matcher:!1,matchProcessor:!1},selection:{allow:e.noop,autoDeselect:!0,autoSelectChildren:!1,disableDirectDeselection:!1,mode:"default",multiple:!1,require:!1},showCheckboxes:!1,sort:!1}),"checkbox"===r.config.selection.mode&&(r.config.selection.autoSelectChildren=!0,r.on("node.checked",function(e){e.selected()||e.select(!0)}),r.on("node.selected",function(e){e.checked()||e.check(!0)}),r.on("node.unchecked",function(e){e.selected()&&e.deselect(!0)}),r.on("node.deselected",function(e){e.checked()&&e.uncheck(!0)})),r.config.selection.autoSelectChildren&&(r.config.selection.multiple=!0,r.config.selection.autoDeselect=!1),t.editable&&!t.editing&&(r.config.editing.add=!0,r.config.editing.edit=!0,r.config.editing.remove=!0),e.isFunction(t.search)&&(r.config.search={matcher:t.search,matchProcessor:!1}),r.defaultState={collapsed:!0,editable:e.get(r,"config.editing.edit"),editing:!1,draggable:!0,"drop-target":!0,focused:!1,hidden:!1,indeterminate:!1,loading:!1,matched:!1,removed:!1,rendered:!1,selectable:!0,selected:!1},r.allowsLoadEvents=e.isArray(r.config.allowLoadEvents)&&r.config.allowLoadEvents.length>0,r.isDynamic=e.isFunction(r.config.data);var s=r.emit;return r.emit=function(t){if(!r.isEventMuted(t)){if(e.isFunction(e.get(arguments,"[1].preventDefault"))){var n=arguments[1];n.treeDefaultPrevented=!1,n.preventTreeDefault=function(){n.treeDefaultPrevented=!0}}s.apply(r,arguments)}},r.model=new P(r),r.config.data&&r.load(r.config.data),r.initialized=!0,i}return A(n,t),D(n,[{key:"addNode",value:function(){return y(this,"addNode",arguments)}},{key:"addNodes",value:function(t){var n=this;this.batch();var i=new P(this);return e.each(t,function(e){i.push(n.addNode(e))}),this.end(),i}},{key:"applyChanges",value:function(){this.batching>0||this.emit("changes.applied")}},{key:"available",value:function(){return y(this,"available",arguments)}},{key:"batch",value:function(){this.batching<0&&(this.batching=0),this.batching++}},{key:"blur",value:function(){return y(this,"blur",arguments)}},{key:"blurDeep",value:function(){return y(this,"blurDeep",arguments)}},{key:"boundingNodes",value:function(){var t=e.transform(arguments,function(e,t){e[t.indexPath().replace(/\./g,"")]=t},{}),n=e.sortBy(Object.keys(t)),i=C(n),r=i[0],s=i.slice(1);return[e.get(t,r),e.get(t,s)]}},{key:"canAutoDeselect",value:function(){return this.config.selection.autoDeselect&&!this.preventDeselection}},{key:"checked",value:function(){return y(this,"checked",arguments)}},{key:"clean",value:function(){return y(this,"clean",arguments)}},{key:"clearSearch",value:function(){return this.matched().state("matched",!1),this.showDeep().collapseDeep().tree()}},{key:"clone",value:function(){return y(this,"clone",arguments)}},{key:"collapse",value:function(){return y(this,"collapse",arguments)}},{key:"collapsed",value:function(){return y(this,"collapsed",arguments)}},{key:"collapseDeep",value:function(){return y(this,"collapseDeep",arguments)}},{key:"concat",value:function(){return y(this,"concat",arguments)}},{key:"copy",value:function(){return y(this,"copy",arguments)}},{key:"createNode",value:function(e){return n.isTreeNode(e)?e:f(this,e)}},{key:"deepest",value:function(){return y(this,"deepest",arguments)}},{key:"deselect",value:function(){return y(this,"deselect",arguments)}},{key:"deselectDeep",value:function(){return y(this,"deselectDeep",arguments)}},{key:"disableDeselection",value:function(){return this.config.selection.multiple&&(this.preventDeselection=!0),this}},{key:"each",value:function(){return y(this,"each",arguments)}},{key:"every",value:function(){return y(this,"every",arguments)}},{key:"editable",value:function(){return y(this,"editable",arguments)}},{key:"editing",value:function(){return y(this,"editing",arguments)}},{key:"enableDeselection",value:function(){return this.preventDeselection=!1,this}},{key:"end",value:function(){0===--this.batching&&this.applyChanges()}},{key:"expand",value:function(){return y(this,"expand",arguments)}},{key:"expandDeep",value:function(){return y(this,"expandDeep",arguments)}},{key:"expanded",value:function(){return y(this,"expanded",arguments)}},{key:"extract",value:function(){return y(this,"extract",arguments)}},{key:"filter",value:function(){return y(this,"filter",arguments)}},{key:"filterBy",value:function(){return y(this,"filterBy",arguments)}},{key:"flatten",value:function(){return y(this,"flatten",arguments)}},{key:"focused",value:function(){return y(this,"focused",arguments)}},{key:"forEach",value:function(){return y(this,"each",arguments)}},{key:"get",value:function(){return y(this,"get",arguments)}},{key:"hidden",value:function(){return y(this,"hidden",arguments)}},{key:"hide",value:function(){return y(this,"hide",arguments)}},{key:"hideDeep",value:function(){return y(this,"hideDeep",arguments)}},{key:"indeterminate",value:function(){return y(this,"indeterminate",arguments)}},{key:"indexOf",value:function(){return y(this,"indexOf",arguments)}},{key:"insertAt",value:function(){return y(this,"insertAt",arguments)}},{key:"invoke",value:function(){return y(this,"invoke",arguments)}},{key:"invokeDeep",value:function(){return y(this,"invokeDeep",arguments)}},{key:"isEventMuted",value:function(t){return e.isBoolean(this.muted())?this.muted():e.includes(this.muted(),t)}},{key:"isTree",value:function(e){return e instanceof n}},{key:"join",value:function(){return y(this,"join",arguments)}},{key:"lastSelectedNode",value:function(){return this._lastSelectedNode}},{key:"load",value:function(t){var n=this,i=new w(function(i,r){var s=function(t,s){if(!e.isArrayLike(t))return r(new TypeError("Loader requires an array-like `nodes` parameter."));!n.initialized&&e.isArrayLike(t)?setTimeout(function(){n.emit("data.loaded",t)}):n.emit("data.loaded",t);var o=v(n,t);n.config.deferredLoading?n.model=n.model.concat(o):n.model=o,n.model._pagination.total=t.length,e.parseInt(s)>t.length&&(n.model._pagination.total=e.parseInt(s)),s||n.model.recurseDown(function(e){e.hasChildren()&&(e.children._pagination.total=e.children.length)}),n.config.selection.require&&!n.selected().length&&n.selectFirstAvailableNode();var a=function(){n.emit("model.loaded",n.model),i(n.model),n.applyChanges()};!n.initialized&&e.isArray(t)?setTimeout(a):a()};if(e.isArrayLike(t))s(t);else if(e.isFunction(t)){var o=t(null,s,r,n.pagination());o&&(t=o)}e.isObject(t)?h(t).then(s).catch(r):error(new Error("Invalid data loader."))});return i.catch(function(e){n.emit("data.loaderror",e)}),this._loader={promise:i},i}},{key:"loading",value:function(){return y(this,"loading",arguments)}},{key:"loadMore",value:function(){return y(this,"loadMore",arguments)}},{key:"map",value:function(){return y(this,"map",arguments)}},{key:"matched",value:function(){return y(this,"matched",arguments)}},{key:"move",value:function(){return y(this,"move",arguments)}},{key:"mute",value:function(t){return e.isString(t)||e.isArray(t)?this._muted=e.castArray(t):this._muted=!0,this}},{key:"muted",value:function(){return this._muted}},{key:"node",value:function(){return y(this,"node",arguments)}},{key:"nodes",value:function(){return y(this,"nodes",arguments)}},{key:"pagination",value:function(){return y(this,"pagination",arguments)}},{key:"pop",value:function(){return y(this,"pop",arguments)}},{key:"push",value:function(){return y(this,"push",arguments)}},{key:"recurseDown",value:function(){return y(this,"recurseDown",arguments)}},{key:"reduce",value:function(){return y(this,"reduce",arguments)}},{key:"reduceRight",value:function(){return y(this,"reduceRight",arguments)}},{key:"reload",value:function(){return this.removeAll(),this.load(this.opts.data||this.config.data)}},{key:"remove",value:function(){return y(this,"remove",arguments)}},{key:"removeAll",value:function(){return this.model=new P(this),this.applyChanges(),this}},{key:"removed",value:function(){return y(this,"removed",arguments)}},{key:"restore",value:function(){return y(this,"restore",arguments)}},{key:"restoreDeep",value:function(){return y(this,"restoreDeep",arguments)}},{key:"reverse",value:function(){return y(this,"reverse",arguments)}},{key:"search",value:function(t){var i=this,r=this.config.search,s=r.matcher,o=r.matchProcessor;return!t||e.isString(t)&&e.isEmpty(t)?w.resolve(this.clearSearch()):(this.batch(),this.recurseDown(function(e){e.state("hidden",!0),e.state("matched",!1)}),this.end(),s=e.isFunction(s)?s:function(t,n){var r=new P(i);e.isString(t)&&(t=new RegExp(t,"i"));var s=void 0;s=e.isRegExp(t)?function(e){return t.test(e.text)}:t,i.model.recurseDown(function(e){e.removed()||s(e)&&r.push(e)}),n(r)},o=e.isFunction(o)?o:function(e){e.each(function(e){e.show().state("matched",!0),e.expandParents().collapse(),e.hasChildren()&&e.children.showDeep()})},new w(function(r,a){s(t,function(t){n.isTreeNodes(t)||(t=i.nodes(e.map(t,"id"))),i.batch(),o(t),i.end(),r(t)},a)}))}},{key:"select",value:function(){return y(this,"select",arguments)}},{key:"selectable",value:function(){return y(this,"selectable",arguments)}},{key:"selectBetween",value:function(e,t){this.batch();for(var n=e.nextVisibleNode();n.id!==t.id;)n.select(),n=n.nextVisibleNode();return this.end(),this}},{key:"selectDeep",value:function(){return y(this,"selectDeep",arguments)}},{key:"selected",value:function(){return y(this,"selected",arguments)}},{key:"selectFirstAvailableNode",value:function(){var e=this.model.filterBy("available").get(0);return e&&e.select(),e}},{key:"shift",value:function(){return y(this,"shift",arguments)}},{key:"show",value:function(){return y(this,"show",arguments)}},{key:"showDeep",value:function(){return y(this,"showDeep",arguments)}},{key:"slice",value:function(){return y(this,"slice",arguments)}},{key:"softRemove",value:function(){return y(this,"softRemove",arguments)}},{key:"some",value:function(){return y(this,"some",arguments)}},{key:"sort",value:function(){return y(this,"sort",arguments)}},{key:"sortBy",value:function(){return y(this,"sortBy",arguments)}},{key:"splice",value:function(){return y(this,"slice",arguments)}},{key:"state",value:function(){return y(this,"state",arguments)}},{key:"stateDeep",value:function(){return y(this,"stateDeep",arguments)}},{key:"swap",value:function(){return y(this,"swap",arguments)}},{key:"toArray",value:function(){return y(this,"toArray",arguments)}},{key:"toString",value:function(){return y(this,"toString",arguments)}},{key:"unmute",value:function(t){return e.isString(t)||e.isArray(t)?(this._muted=e.difference(this._muted,e.castArray(t)),this._muted.length||(this._muted=!1)):this._muted=!1,this}},{key:"unshift",value:function(){return y(this,"unshift",arguments)}},{key:"visible",value:function(){return y(this,"visible",arguments)}}],[{key:"isTreeNode",value:function(e){return e instanceof S}},{key:"isTreeNodes",value:function(e){return e instanceof P}}]),n}(n(function(e,t){!function(t){function n(){this._events={},this._conf&&i.call(this,this._conf)}function i(e){e?(this._conf=e,e.delimiter&&(this.delimiter=e.delimiter),this._maxListeners=e.maxListeners!==t?e.maxListeners:c,e.wildcard&&(this.wildcard=e.wildcard),e.newListener&&(this._newListener=e.newListener),e.removeListener&&(this._removeListener=e.removeListener),e.verboseMemoryLeak&&(this.verboseMemoryLeak=e.verboseMemoryLeak),this.wildcard&&(this.listenerTree={})):this._maxListeners=c}function r(e,t){var n="(node) warning: possible EventEmitter memory leak detected. "+e+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(n+=" Event name: "+t+"."),"undefined"!=typeof process&&process.emitWarning){var i=new Error(n);i.name="MaxListenersExceededWarning",i.emitter=this,i.count=e,process.emitWarning(i)}else console.error(n),console.trace&&console.trace()}function s(e){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,i.call(this,e)}function o(e,t,n,i){if(!n)return[];var r,s,a,u,c,l,h,d=[],f=t.length,v=t[i],y=t[i+1];if(i===f&&n._listeners){if("function"==typeof n._listeners)return e&&e.push(n._listeners),[n];for(r=0,s=n._listeners.length;r0&&o._listeners.length>this._maxListeners&&(o._listeners.warned=!0,r.call(this,o._listeners.length,a))):o._listeners=n,!0;a=e.shift()}return!0}var u=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},c=10;s.EventEmitter2=s,s.prototype.delimiter=".",s.prototype.setMaxListeners=function(e){e!==t&&(this._maxListeners=e,this._conf||(this._conf={}),this._conf.maxListeners=e)},s.prototype.event="",s.prototype.once=function(e,t){return this._once(e,t,!1)},s.prototype.prependOnceListener=function(e,t){return this._once(e,t,!0)},s.prototype._once=function(e,t,n){return this._many(e,1,t,n),this},s.prototype.many=function(e,t,n){return this._many(e,t,n,!1)},s.prototype.prependMany=function(e,t,n){return this._many(e,t,n,!0)},s.prototype._many=function(e,t,n,i){function r(){return 0==--t&&s.off(e,r),n.apply(this,arguments)}var s=this;if("function"!=typeof n)throw new Error("many only accepts instances of Function");return r._origin=n,this._on(e,r,i),s},s.prototype.emit=function(){this._events||n.call(this);var e=arguments[0];if("newListener"===e&&!this._newListener&&!this._events.newListener)return!1;var t,i,r,s,a,u=arguments.length;if(this._all&&this._all.length){if(a=this._all.slice(),u>3)for(t=new Array(u),s=0;s3)for(t=new Array(u-1),s=1;s3)for(t=new Array(c),s=1;s3)for(t=new Array(c-1),s=1;s0&&this._events[e].length>this._maxListeners&&(this._events[e].warned=!0,r.call(this,this._events[e].length,e))):this._events[e]=t,this)},s.prototype.off=function(e,n){function i(e){if(e!==t){var n=Object.keys(e);for(var r in n){var s=n[r],o=e[s];o instanceof Function||"object"!=typeof o||null===o||(Object.keys(o).length>0&&i(e[s]),0===Object.keys(o).length&&delete e[s])}}}if("function"!=typeof n)throw new Error("removeListener only takes instances of Function");var r,s=[];if(this.wildcard){var a="string"==typeof e?e.split(this.delimiter):e.slice();s=o.call(this,null,a,this.listenerTree,0)}else{if(!this._events[e])return this;r=this._events[e],s.push({_listeners:r})}for(var c=0;c0){for(n=0,i=(t=this._all).length;n