@mescius/wijmo.nav 5.20232.939
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COMMERCIAL-LICENSE.html +485 -0
- package/README.md +363 -0
- package/es2015-commonjs.js +14 -0
- package/es2015-esm.js +14 -0
- package/es5-esm.js +14 -0
- package/index.d.ts +1413 -0
- package/index.js +14 -0
- package/package.json +44 -0
package/es5-esm.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
*
|
|
3
|
+
* Wijmo Library 5.20232.939
|
|
4
|
+
* https://developer.mescius.com/wijmo
|
|
5
|
+
*
|
|
6
|
+
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
7
|
+
*
|
|
8
|
+
* Licensed under the End-User License Agreement For MESCIUS Wijmo Software.
|
|
9
|
+
* us.sales@mescius.com
|
|
10
|
+
* https://developer.mescius.com/wijmo/licensing
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}(),__assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)};import{Binding,isString,isArray,assert,EventArgs,asType,asEnum,_startDrag,CancelEventArgs,hasClass,removeClass,addClass,toggleClass,setAttribute,setChecked,enable,isFunction,asBoolean,removeChild,animate as coreAnimate,Control,asArray,asFunction,closest,closestClass,getActiveElement,contains,Key,Event,createElement,Rect,setCss,asInt,animate,getElement,ObservableArray,isBoolean,_registerModule}from"@mescius/wijmo";import*as selfModule from"@mescius/wijmo.nav";var TabPanel=function(e){__extends(TabPanel,e);function TabPanel(t,n,i,r){var o=e.call(this,t,null,!0)||this;o._tabs=new ObservableArray;o._selectedIndex=-1;o._animated=!0;o._autoSwitch=!0;o.selectedIndexChanged=new Event;var s=o.hostElement,a=[];if(!i)for(;s.firstElementChild;){var d=s.firstElementChild;s.removeChild(d);r||a.push(d)}var l=o.getTemplate();o.applyTemplate("wj-control wj-tabpanel wj-animated",l,{_dRoot:"root",_dTabHeaders:"tabheaders",_dTabPanes:"tabpanes"});s.tabIndex=-1;o._dRoot.tabIndex=o._dTabHeaders.tabIndex=o._dTabPanes.tabIndex=-1;n&&isBoolean(n.isAnimated)&&(o.isAnimated=n.isAnimated);o.addEventListener(s,"click",o._click.bind(o));o.addEventListener(s,"keydown",o._keydown.bind(o));o._tabs.collectionChanged.addHandler(o._populateControl.bind(o));o.tabs.deferUpdate((function(){a.forEach((function(e){assert(2==e.childElementCount,"TabPanel children should contain header and pane elements");o.tabs.push(new Tab(e.children[0],e.children[1]))}))}));o.initialize(n);o.selectedIndex<0&&o.tabs.length?o.selectedIndex=0:o.onSelectedIndexChanged();return o}Object.defineProperty(TabPanel.prototype,"tabs",{get:function(){return this._tabs},enumerable:!0,configurable:!0});Object.defineProperty(TabPanel.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(e){if((e=asInt(e,!1))!=this._selectedIndex){this._selectedIndex=e;this._updateContent();this.onSelectedIndexChanged()}else this._updateContent()},enumerable:!0,configurable:!0});Object.defineProperty(TabPanel.prototype,"selectedTab",{get:function(){var e=this._selectedIndex;return e>-1?this._tabs[e]:null},set:function(e){for(var t=-1,n=0;n<this._tabs.length&&t<0;n++)this._tabs[n]==e&&(t=n);this.selectedIndex=t},enumerable:!0,configurable:!0});Object.defineProperty(TabPanel.prototype,"isAnimated",{get:function(){return this._animated},set:function(e){this._animated=asBoolean(e);toggleClass(this.hostElement,"wj-animated",this._animated)},enumerable:!0,configurable:!0});Object.defineProperty(TabPanel.prototype,"autoSwitch",{get:function(){return this._autoSwitch},set:function(e){if(e!=this._autoSwitch){this._autoSwitch=asBoolean(e);this._updateContent()}},enumerable:!0,configurable:!0});TabPanel.prototype.getTab=function(e){for(var t=0;t<this._tabs.length;t++){if((n=this._tabs[t]).header.id==e||n.pane.id==e)return n}for(t=0;t<this._tabs.length;t++){var n;if((n=this._tabs[t]).header.textContent==e)return n}return null};TabPanel.prototype.onSelectedIndexChanged=function(e){this.selectedIndexChanged.raise(this,e)};TabPanel.prototype._populateControl=function(){var e=this;this._removeChildren(this._dTabHeaders);this._removeChildren(this._dTabPanes);var t=-1;this._tabs.forEach((function(n,i){assert(n instanceof Tab,"tabs array must contain Tab objects.");n._setPanel(e);var r=n.header;addClass(r,"wj-tabheader");setAttribute(r,"role","tab");e._dTabHeaders.appendChild(r);var o=n.pane;addClass(o,"wj-tabpane");setAttribute(o,"role","tabpanel");setAttribute(o,"aria-labelledby",r.id?r.id:null);e._dTabPanes.appendChild(o);t<0&&(hasClass(r,"wj-state-active")||"true"==r.getAttribute("aria-selected"))&&(t=i)}));t<0&&this._tabs.length>0&&(t=0);t>-1?this.selectedIndex=t:this.selectedIndex>-1&&this.selectedIndex<this._tabs.length&&this._updateContent();this._validateSelection()};TabPanel.prototype._validateSelection=function(){var e=this.selectedTab;if(e&&(e.isDisabled||!e.isVisible)){var t=this._getNextIndex(this.selectedIndex,1);t<0&&(t=this._getNextIndex(this.selectedIndex,-1));this.selectedIndex=t}};TabPanel.prototype._updateContent=function(){var e=this,t=contains(this._dTabHeaders,getActiveElement()),n=this._dTabHeaders.children,i=this._dTabPanes.children,r=this._selectedIndex;if(r>-1&&r<i.length){var o=(l=i[r]).style;if(this.isAnimated){this._eAnim&&(this._eAnim.style.opacity="");this._toAnim&&clearInterval(this._toAnim);o.opacity="0";this._eAnim=l;this._toAnim=animate((function(t){if(1==t){e._eAnim=null;e._toAnim=null;o.opacity=""}else o.opacity=t.toString()}))}else o.opacity=""}for(var s=0;s<n.length;s++){var a=s==r,d=n[s];setAttribute(d,"aria-selected",a);toggleClass(d,"wj-state-active",a);var l=i[s];toggleClass(l,"wj-state-active",a);d.tabIndex=a||!this._autoSwitch?this._orgTabIndex:-1;if(a){t&&d.focus();this._szObserver||Control.invalidateAll(l)}}};TabPanel.prototype._removeChildren=function(e){for(;e.firstChild;)e.removeChild(e.firstChild)};TabPanel.prototype._click=function(e){var t=this._getTabIndex(e.target);if(t>-1){var n=this._tabs[t];!n.isDisabled&&n.isVisible&&(this.selectedIndex=t)}};TabPanel.prototype._keydown=function(e){if(!e.defaultPrevented){var t=this._getTabIndex(getActiveElement());if(t>-1){var n=this._getKeyCode(e);switch(n){case Key.Left:case Key.Up:case Key.Right:case Key.Down:case Key.Home:case Key.PageUp:case Key.End:case Key.PageDown:switch(n){case Key.Left:case Key.Up:t=this._getNextIndex(t,-1);break;case Key.Right:case Key.Down:t=this._getNextIndex(t,1);break;case Key.Home:case Key.PageUp:t=this._getNextIndex(-1,1);break;case Key.End:case Key.PageDown:t=this._getNextIndex(this._tabs.length,-1)}t>-1&&(this._autoSwitch?this.selectedIndex=t:this._tabs[t].header.focus());e.preventDefault();break;case Key.Enter:case Key.Space:if(t>-1){this._tabs[t].header.click()}e.preventDefault()}}}};TabPanel.prototype._getTabIndex=function(e){var t=closest(e,".wj-tabheader");if(t&&closest(t,".wj-tabpanel")==this.hostElement)for(var n=0;n<this._tabs.length;n++)if(this._tabs[n].header==t)return n;return-1};TabPanel.prototype._getNextIndex=function(e,t){for(var n=e+t;n>-1&&n<this._tabs.length;n+=t){var i=this._tabs[n];if(!i.isDisabled&&i.isVisible)return n}return-1};TabPanel.prototype._setIsDisabled=function(t){e.prototype._setIsDisabled.call(this,t);this._updateTabIndex()};TabPanel.prototype._setTabOrder=function(t){e.prototype._setTabOrder.call(this,t);this.isDisabled||this._updateTabIndex()};TabPanel.prototype._updateTabIndex=function(){var e=this._dTabHeaders.children,t=this._selectedIndex;if(t>-1&&t<e.length){e[t].tabIndex=this.isDisabled?-1:this._orgTabIndex}this.hostElement.tabIndex=-1};TabPanel.controlTemplate='<div wj-part="root"><div wj-part="tabheaders" class="wj-tabheaders" role="tablist"></div><div wj-part="tabpanes" class="wj-tabpanes"></div></div>';return TabPanel}(Control);export{TabPanel};var Tab=function(){function Tab(e,t){this._hdr=asType(getElement(e),HTMLElement);this._pane=asType(getElement(t),HTMLElement)}Object.defineProperty(Tab.prototype,"tabPanel",{get:function(){return this._p},enumerable:!0,configurable:!0});Object.defineProperty(Tab.prototype,"header",{get:function(){return this._hdr},enumerable:!0,configurable:!0});Object.defineProperty(Tab.prototype,"pane",{get:function(){return this._pane},enumerable:!0,configurable:!0});Object.defineProperty(Tab.prototype,"isDisabled",{get:function(){return hasClass(this._hdr,"wj-state-disabled")},set:function(e){toggleClass(this._hdr,"wj-state-disabled",asBoolean(e));this._p&&this._p._validateSelection()},enumerable:!0,configurable:!0});Object.defineProperty(Tab.prototype,"isVisible",{get:function(){return"none"!=this._hdr.style.display},set:function(e){this._hdr.style.display=asBoolean(e)?"":"none";this._p&&this._p._validateSelection()},enumerable:!0,configurable:!0});Tab.prototype._setParts=function(e,t){e=asType(getElement(e),HTMLElement);t=asType(getElement(t),HTMLElement,!1);if(this._hdr!==e||this._pane!==t){var n=this.isDisabled,i=this.isVisible;this._hdr=e;this._pane=t;this.isDisabled=n;this.isVisible=i;var r=this.tabPanel;r&&!r.tabs.isUpdating&&r._populateControl()}};Tab.prototype._setPanel=function(e){this._p=e};return Tab}();export{Tab};var _CLS_ACTIVE="wj-state-active",Accordion=function(e){__extends(Accordion,e);function Accordion(t,n,i){var r=e.call(this,t,null,!0)||this;r._panes=new ObservableArray;r._selectedIndex=-1;r._animated=!0;r._autoSwitch=!0;r._alCollapseAll=!1;r._alExpandMany=!1;r._autoSwitching=!1;r.selectedIndexChanged=new Event;var o=r.hostElement,s=r._panes,a=[];if(!i)for(;o.firstElementChild;){var d=o.firstElementChild;o.removeChild(d);a.push(d)}addClass(o,"wj-control wj-accordion wj-show-icons");o.tabIndex=-1;r.addEventListener(o,"click",r._click.bind(r));r.addEventListener(o,"keydown",r._keydown.bind(r));s.collectionChanged.addHandler(r._populateControl.bind(r));s.deferUpdate((function(){a.forEach((function(e){assert(2==e.childElementCount,"Accordion children should contain header and pane elements");s.push(new AccordionPane(e.children[0],e.children[1]))}))}));r.initialize(n);var l=n?n.selectedIndex:null;r.selectedIndex!=l&&r.selectedIndex<0&&s.length?r.selectedIndex=0:r.onSelectedIndexChanged();return r}Object.defineProperty(Accordion.prototype,"panes",{get:function(){return this._panes},enumerable:!0,configurable:!0});Object.defineProperty(Accordion.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(e){if((e=asInt(e,!1))!=this._selectedIndex){this._selectedIndex=e;this._updateContent();this.onSelectedIndexChanged()}else this._updateContent()},enumerable:!0,configurable:!0});Object.defineProperty(Accordion.prototype,"selectedPane",{get:function(){var e=this._selectedIndex;return e>-1?this._panes[e]:null},set:function(e){this.selectedIndex=this._getIndexOfPane(e)},enumerable:!0,configurable:!0});Object.defineProperty(Accordion.prototype,"isAnimated",{get:function(){return this._animated},set:function(e){this._animated=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(Accordion.prototype,"showIcons",{get:function(){return hasClass(this.hostElement,"wj-show-icons")},set:function(e){toggleClass(this.hostElement,"wj-show-icons",asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(Accordion.prototype,"autoSwitch",{get:function(){return this._autoSwitch},set:function(e){if(e!=this._autoSwitch){this._autoSwitch=asBoolean(e);this._updateContent()}},enumerable:!0,configurable:!0});Object.defineProperty(Accordion.prototype,"allowCollapseAll",{get:function(){return this._alCollapseAll},set:function(e){this._alCollapseAll=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(Accordion.prototype,"allowExpandMany",{get:function(){return this._alExpandMany},set:function(e){var t=this;if(e!=this._alExpandMany){this._alExpandMany=e=asBoolean(e);e||this.panes.forEach((function(e,n){var i=n==t.selectedIndex;toggleClass(e.header,"wj-state-active",i);setAttribute(e.header,"aria-expanded",i)}))}},enumerable:!0,configurable:!0});Accordion.prototype.getPane=function(e){for(var t=0;t<this._panes.length;t++){if((n=this._panes[t]).header.id==e||n.content.id==e)return n}for(t=0;t<this._panes.length;t++){var n;if((n=this._panes[t]).header.textContent==e)return n}return null};Accordion.prototype.onSelectedIndexChanged=function(e){this.selectedIndexChanged.raise(this,e)};Accordion.prototype._populateControl=function(){var e=this,t=-1,n=this.hostElement;this._panes.forEach((function(i,r){assert(i instanceof AccordionPane,"panes array must contain AccordionPane objects.");i._setAccordion(e);var o=i.header;addClass(o,"wj-header");setAttribute(o,"role","button");n.appendChild(o);var s=i.content;addClass(s,"wj-content");setAttribute(s,"role","region");setAttribute(s,"aria-labelledby",o.id?o.id:null);n.appendChild(s);t<0&&(hasClass(o,_CLS_ACTIVE)||"true"==o.getAttribute("aria-expanded"))&&(t=r)}));t>-1?this.selectedIndex=t:this.selectedIndex>-1&&this.selectedIndex<this._panes.length&&this._updateContent();this._validateSelection()};Accordion.prototype._validateSelection=function(){var e=this.selectedPane;if(e&&(e.isDisabled||!e.isVisible)){var t=this._getNextIndex(this.selectedIndex,1);t<0&&(t=this._getNextIndex(this.selectedIndex,-1));this.selectedIndex=t}};Accordion.prototype._updateContent=function(){var e=this,t=contains(this.hostElement,getActiveElement()),n=this._selectedIndex,i=this._panes,r=[];i.forEach((function(i,o){var s=i.header,a=o==n,d=hasClass(s,_CLS_ACTIVE),l=a||d&&e._alExpandMany&&i!=e._hidePane,h=l&&!d,c=d&&!l;e._animated&&(h||c)&&r.push({show:h,pane:i});setAttribute(s,"aria-expanded",l);e._animated||toggleClass(s,_CLS_ACTIVE,l);if(a){t&&s.focus();e._szObserver||Control.invalidateAll(i.content)}}));this._updatePanesTabIndex();if(this._animated&&r.length){r.forEach((function(e){toggleClass(e.pane.header,_CLS_ACTIVE,!0);e.height=e.pane.content.offsetHeight;e.show&&(e.pane.content.style.height="0")}));animate((function(e){e<1?r.forEach((function(t){var n=t.height*(t.show?e:1-e);t.pane.content.style.height=n.toFixed(0)+"px"})):r.forEach((function(e){e.pane.content.style.height="";toggleClass(e.pane.header,_CLS_ACTIVE,e.show)}))}))}this._hidePane=null};Accordion.prototype._updatePanesTabIndex=function(){var e=this;this._panes.forEach((function(t,n){t.header.tabIndex=e._selectedIndex!==n&&e._autoSwitch?-1:e._orgTabIndex}))};Accordion.prototype._setTabOrder=function(t){e.prototype._setTabOrder.call(this,t);this._updatePanesTabIndex()};Accordion.prototype._click=function(e){var t=this._getPaneIndex(e.target);if(t>-1){var n=this._panes[t];if(!n.isDisabled&&n.isVisible){if(!hasClass(n.header,_CLS_ACTIVE)||this._autoSwitching)this.selectedIndex=t;else{var i=this._getNextActiveIndex(t);if(i>-1||this._alCollapseAll){this._hidePane=n;this.selectedIndex=i}}}}};Accordion.prototype._keydown=function(e){if(!e.defaultPrevented){var t=this._getPaneIndex(getActiveElement());if(t>-1){var n=this._getKeyCode(e);switch(n){case Key.Left:case Key.Up:case Key.Right:case Key.Down:case Key.Home:case Key.PageUp:case Key.End:case Key.PageDown:switch(n){case Key.Left:case Key.Up:t=this._getNextIndex(t,-1);break;case Key.Right:case Key.Down:t=this._getNextIndex(t,1);break;case Key.Home:case Key.PageUp:t=this._getNextIndex(-1,1);break;case Key.End:case Key.PageDown:t=this._getNextIndex(this._panes.length,-1)}if(t>-1){var i=this._panes[t];if(this._autoSwitch){this._autoSwitching=!0;i.header.click();this._autoSwitching=!1}else i.header.focus()}e.preventDefault();break;case Key.Enter:case Key.Space:if(t>-1){(i=this._panes[t]).header.click()}e.preventDefault()}}}};Accordion.prototype._getPaneIndex=function(e){var t=closest(e,".wj-header");if(t&&closest(t,".wj-accordion")==this.hostElement)for(var n=0;n<this._panes.length;n++)if(this._panes[n].header==t)return n;return-1};Accordion.prototype._getNextIndex=function(e,t){for(var n=e+t;n>-1&&n<this._panes.length;n+=t){var i=this._panes[n];if(!i.isDisabled&&i.isVisible)return n}return-1};Accordion.prototype._getIndexOfPane=function(e){for(var t=-1,n=this._panes,i=0;i<n.length&&t<0;i++)n[i]==e&&(t=i);return t};Accordion.prototype._getNextActiveIndex=function(e){for(var t=-1,n=this.panes,i=1;i<n.length;i++){var r=(e+i)%n.length,o=n[r];if(hasClass(o.header,_CLS_ACTIVE)){t=r;break}}return t};Accordion.prototype._togglePane=function(e,t){if(e.isCollapsed!==t&&e.isVisible&&!e.isDisabled)if(t){if(this.allowCollapseAll||this.panes.filter((function(e){return!e.isCollapsed})).length>1){this._hidePane=e;var n=this._getIndexOfPane(e);this.selectedIndex=this._getNextActiveIndex(n)}}else this.selectedPane=e};return Accordion}(Control);export{Accordion};var AccordionPane=function(){function AccordionPane(e,t){this._hdr=asType(getElement(e),HTMLElement);this._content=asType(getElement(t),HTMLElement)}Object.defineProperty(AccordionPane.prototype,"accordion",{get:function(){return this._acc},enumerable:!0,configurable:!0});Object.defineProperty(AccordionPane.prototype,"header",{get:function(){return this._hdr},enumerable:!0,configurable:!0});Object.defineProperty(AccordionPane.prototype,"content",{get:function(){return this._content},enumerable:!0,configurable:!0});Object.defineProperty(AccordionPane.prototype,"isDisabled",{get:function(){return hasClass(this._hdr,"wj-state-disabled")},set:function(e){toggleClass(this._hdr,"wj-state-disabled",asBoolean(e));this._acc&&this._acc._validateSelection()},enumerable:!0,configurable:!0});Object.defineProperty(AccordionPane.prototype,"isVisible",{get:function(){return"none"!=this._hdr.style.display},set:function(e){this._hdr.style.display=asBoolean(e)?"":"none";this._acc&&this._acc._validateSelection()},enumerable:!0,configurable:!0});Object.defineProperty(AccordionPane.prototype,"isCollapsed",{get:function(){return!hasClass(this._hdr,_CLS_ACTIVE)},set:function(e){var t=this._acc;t?t._togglePane(this,e):toggleClass(this._hdr,_CLS_ACTIVE,!asBoolean(e))},enumerable:!0,configurable:!0});AccordionPane.prototype._setParts=function(e,t){e=asType(getElement(e),HTMLElement);t=asType(getElement(t),HTMLElement,!1);if(this._hdr!==e||this._content!==t){var n=this.isDisabled,i=this.isVisible;this._hdr=e;this._content=t;this.isDisabled=n;this.isVisible=i;var r=this.accordion;r&&!r.panes.isUpdating&&r._populateControl()}};AccordionPane.prototype._setAccordion=function(e){this._acc=e};return AccordionPane}();export{AccordionPane};var FormatNodeEventArgs=function(e){__extends(FormatNodeEventArgs,e);function FormatNodeEventArgs(t,n,i){var r=e.call(this)||this;r._data=t;r._e=asType(n,HTMLElement);r._level=i;return r}Object.defineProperty(FormatNodeEventArgs.prototype,"dataItem",{get:function(){return this._data},enumerable:!0,configurable:!0});Object.defineProperty(FormatNodeEventArgs.prototype,"element",{get:function(){return this._e},enumerable:!0,configurable:!0});Object.defineProperty(FormatNodeEventArgs.prototype,"level",{get:function(){return this._level},enumerable:!0,configurable:!0});return FormatNodeEventArgs}(EventArgs);export{FormatNodeEventArgs};var TreeNodeEventArgs=function(e){__extends(TreeNodeEventArgs,e);function TreeNodeEventArgs(t){var n=e.call(this)||this;n._node=t;return n}Object.defineProperty(TreeNodeEventArgs.prototype,"node",{get:function(){return this._node},enumerable:!0,configurable:!0});return TreeNodeEventArgs}(CancelEventArgs);export{TreeNodeEventArgs};var TreeNodeDragDropEventArgs=function(e){__extends(TreeNodeDragDropEventArgs,e);function TreeNodeDragDropEventArgs(t,n,i){var r=e.call(this)||this;r._src=asType(t,TreeNode);r._tgt=asType(n,TreeNode);r._pos=i;return r}Object.defineProperty(TreeNodeDragDropEventArgs.prototype,"dragSource",{get:function(){return this._src},enumerable:!0,configurable:!0});Object.defineProperty(TreeNodeDragDropEventArgs.prototype,"dropTarget",{get:function(){return this._tgt},enumerable:!0,configurable:!0});Object.defineProperty(TreeNodeDragDropEventArgs.prototype,"position",{get:function(){return this._pos},set:function(e){this._pos=asEnum(e,DropPosition)},enumerable:!0,configurable:!0});return TreeNodeDragDropEventArgs}(CancelEventArgs);export{TreeNodeDragDropEventArgs};export var DropPosition;!function(e){e[e.Before=0]="Before";e[e.After=1]="After";e[e.Into=2]="Into"}(DropPosition||(DropPosition={}));var TreeNode=function(){function TreeNode(e,t){if(hasClass(t,"wj-treeview")){e=Control.getControl(t);t=null}else TreeNode._assertNode(t);this._t=e;this._e=t}Object.defineProperty(TreeNode.prototype,"dataItem",{get:function(){return this._e[TreeView._DATAITEM_KEY]},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"element",{get:function(){return this._e},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"treeView",{get:function(){return this._t},enumerable:!0,configurable:!0});TreeNode.prototype.ensureVisible=function(){for(var e=this.parentNode;e;e=e.parentNode)e.isCollapsed=!1;var t=this._t.hostElement,n=this.element.getBoundingClientRect(),i=t.getBoundingClientRect();n.bottom>i.bottom?t.scrollTop+=n.bottom-i.bottom:n.top<i.top&&(t.scrollTop-=i.top-n.top)};TreeNode.prototype.equals=function(e){return null!=e&&e.element==this.element};TreeNode.prototype.select=function(){var e=this._t,t=e._selNode;if(!this.equals(t)){if(t){removeClass(t.element,TreeView._CSEL);setAttribute(t.element,"aria-selected",!1)}e._selNode=this;addClass(this.element,TreeView._CSEL);setAttribute(this.element,"aria-selected",!0);this.ensureVisible();e._updateFocus(t);e.onSelectedItemChanged()}};Object.defineProperty(TreeNode.prototype,"index",{get:function(){for(var e=0,t=this._pse(this.element);t;t=this._pse(t))TreeNode._isNode(t)&&e++;return e},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"parentNode",{get:function(){var e=null;if(this._e){var t=this._e.parentElement;TreeNode._assertNodeList(t);e=this._pse(t)}return e?new TreeNode(this._t,e):null},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"level",{get:function(){for(var e=-1,t=this;t;t=t.parentNode)e++;return e},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"hasChildren",{get:function(){return TreeNode._isNode(this._e)&&!TreeNode._isEmpty(this._e)},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"hasPendingChildren",{get:function(){return this.isCollapsed&&this.hasChildren&&!TreeNode._isNodeList(this.element.nextElementSibling)&&isFunction(this._t.lazyLoadFunction)},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"nodes",{get:function(){return this.hasChildren?TreeNode._getChildNodes(this._t,this._e.nextSibling):null},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"checkBox",{get:function(){return this._e.querySelector("input."+TreeView._CNDC)},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"isCollapsed",{get:function(){return this.hasChildren&&hasClass(this._e,TreeView._CCLD)},set:function(e){if(e!=this.isCollapsed){var t=this._t,n=new TreeNodeEventArgs(this);if(t.onIsCollapsedChanging(n)){this.setCollapsed(asBoolean(e),t.isAnimated,t.autoCollapse);t.onIsCollapsedChanged(n)}}},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"isChecked",{get:function(){var e=this.checkBox;return e&&!e.indeterminate?e.checked:null},set:function(e){if(e!=this.isChecked){var t=this._t,n=new TreeNodeEventArgs(this);if(t.onIsCheckedChanging(n)){this.setChecked(asBoolean(e),!0);t.onIsCheckedChanged(n)}}},enumerable:!0,configurable:!0});Object.defineProperty(TreeNode.prototype,"isDisabled",{get:function(){return this._e&&null!=this._e.getAttribute("disabled")},set:function(e){if((e=asBoolean(e,!0))!=this.isDisabled){enable(this._e,!e);this.isDisabled&&this._t&&this._t.collapseWhenDisabled&&(this.isCollapsed=!0)}},enumerable:!0,configurable:!0});TreeNode.prototype.previous=function(e,t){var n=this._pse(this._e);!n&&TreeNode._isNodeList(this._e.parentElement)&&(n=this._pse(this._e.parentElement));if(TreeNode._isNodeList(n)){for(;TreeNode._isNodeList(n)&&n.childElementCount;)n=n.lastChild;TreeNode._isNodeList(n)&&(n=this._pse(n))}var i=TreeNode._isNode(n)?new TreeNode(this._t,n):null;e&&i&&!i.element.offsetHeight&&(i=i.previous(e,t));t&&i&&i.isDisabled&&(i=i.previous(e,t));return i};TreeNode.prototype.next=function(e,t){var n=this._e.nextSibling;TreeNode._isNodeList(n)&&(n=n.childElementCount?n.firstChild:n.nextSibling);if(!n)for(var i=this._e.parentElement;!n&&TreeNode._isNodeList(i);i=i.parentElement)n=i.nextSibling;var r=TreeNode._isNode(n)?new TreeNode(this._t,n):null;e&&r&&!r.element.offsetHeight&&(r=r.next(e,t));t&&r&&r.isDisabled&&(r=r.next(e,t));return r};TreeNode.prototype.previousSibling=function(){for(var e=this._pse(this.element);TreeNode._isNodeList(e);)e=this._pse(e);return e?new TreeNode(this._t,e):null};TreeNode.prototype.nextSibling=function(){var e=this.element.nextSibling;TreeNode._isNodeList(e)&&(e=e.nextSibling);return e?new TreeNode(this._t,e):null};TreeNode.prototype.setCollapsed=function(e,t,n){var i=this._t,r=this._e,o=this._e.nextElementSibling,s=TreeNode._isNodeList(o);setAttribute(r,"aria-expanded",s?(!e).toString():null);if(e!=this.isCollapsed)if(e||s||!isFunction(i.lazyLoadFunction)){null==t&&(t=i.isAnimated);null==n&&(n=i.autoCollapse);if(t){if(s){var a=o.offsetHeight,d=o.style,l=i.hostElement,h=l.style;l.scrollHeight<=l.clientHeight&&(h.overflowY="hidden");if(e){toggleClass(r,TreeView._CCLG,!0);coreAnimate((function(e){if(e<1){e=1-e;d.height=(e*a).toFixed(0)+"px"}else{d.height=d.opacity=h.overflowY="";toggleClass(r,TreeView._CCLD,!0);toggleClass(r,TreeView._CCLG,!1)}}),TreeView._AN_DLY)}else{toggleClass(r,TreeView._CCLD,!1);d.height=d.opacity="0";coreAnimate((function(e){d.height=e>=1?d.opacity=h.overflowY="":(e*a).toFixed(0)+"px"}),TreeView._AN_DLY)}}}else toggleClass(r,TreeView._CCLD,e);if(!e&&n){var c=r.parentElement;if(TreeNode._isNodeList(c))for(var p=0;p<c.children.length;p++){var u=c.children[p];if(u!=r&&TreeNode._isNode(u)){toggleClass(u,TreeView._CCLD,!0);u.setAttribute("aria-expanded","false")}}}}else i._lazyLoadNode(this)};TreeNode.prototype.setChecked=function(e,t){var n=this.checkBox,i=n.checked!=e;setChecked(n,e);if(this.hasChildren)for(var r=0;r<this.nodes.length;r++)this.nodes[r].setChecked(e,!1);var o=this._t;o&&o.checkedMemberPath&&o._chkPath.setValue(this.dataItem,this.level,e);if(t){var s=this.parentNode;s&&s._updateCheckedState()}o&&i&&o._raiseCheckedItemsChanged()};TreeNode.prototype.remove=function(){var e=this._t,t=this.parentNode,n=this._getArray(),i=n.indexOf(this.dataItem);e.selectedNode==this&&(e.selectedNode=this.nextSibling()||this.previousSibling()||t);var r=this.element.nextSibling;TreeNode._isNodeList(r)&&removeChild(r);removeChild(this.element);t&&t._updateState();n.splice(i,1);this._t=null};TreeNode.prototype.addChildNode=function(e,t){var n=this._t._createNode(t),i=this.nodes;i?e<i.length?n.move(i[e],DropPosition.Before):n.move(i[i.length-1],DropPosition.After):n.move(this,DropPosition.Into);return n};TreeNode.prototype.refresh=function(e){var t=this._getArray();e&&(t[this.index]=e);e=t[this.index];var n=this._t._createNode(e),i=this.hasChildren&&!this.hasPendingChildren?this.element.nextSibling:null;i&&removeChild(i);(i=n.hasChildren&&!n.hasPendingChildren?n.element.nextSibling:null)&&this.element.parentElement.insertBefore(i,this.element.nextSibling);this.element.innerHTML=n.element.innerHTML;this._updateState()};TreeNode.prototype.move=function(e,t){if(e instanceof TreeNode&&this._contains(e))return!1;var n=this.parentNode,i=this._getArray();this._moveElements(e,t);e.treeView&&(this._t=e.treeView);n&&n._updateState();var r=this.parentNode;r&&r._updateState();var o=this.dataItem,s=i.indexOf(o),a=this._getArray();i.splice(s,1);a.splice(this.index,0,o);return!0};Object.defineProperty(TreeNode.prototype,"itemsSource",{get:function(){return this._getArray()},enumerable:!0,configurable:!0});TreeNode.prototype._pse=function(e){return e.previousElementSibling};TreeNode.prototype._contains=function(e){for(;e;e=e.parentNode)if(e.element==this.element)return!0;return!1};TreeNode.prototype._getArray=function(){var e=this._t,t=this.parentNode,n=e.itemsSource;if(t){var i=e._itmPath;if(!(n=i.getValue(t.dataItem,this.level))){n=[];i.setValue(t.dataItem,this.level,n)}}return n};TreeNode.prototype._moveElements=function(e,t){var n=document.createDocumentFragment(),i=this.hasChildren&&!this.hasPendingChildren?this.element.nextSibling:null;n.appendChild(this.element);if(i){TreeNode._assertNodeList(i);n.appendChild(i)}if(e instanceof TreeView)e._root.insertBefore(n,null);else{var r=e.element,o=r?r.parentElement:e.treeView._root;TreeNode._assertNodeList(o);var s=DropPosition;switch(t){case s.Before:o.insertBefore(n,r);break;case s.After:r=(e=e.nextSibling())?e.element:null;o.insertBefore(n,r);break;case s.Into:if(!e.hasChildren||e.hasPendingChildren){i=document.createElement("div");addClass(i,TreeView._CNDL);o.insertBefore(i,r.nextSibling)}o=e.element.nextSibling;TreeNode._assertNodeList(o);o.insertBefore(n,null)}}};TreeNode.prototype._updateState=function(){this._updateEmptyState();this._updateCheckedState()};TreeNode.prototype._updateEmptyState=function(){var e=this.element.nextSibling,t=!1;TreeNode._isNodeList(e)&&(e.childElementCount?t=!0:removeChild(e));toggleClass(this.element,TreeView._CEMP,!t);t||this.element.removeAttribute("aria-expanded")};TreeNode.prototype._updateCheckedState=function(){var e=this._t,t=this.checkBox,n=this.nodes,i=0,r=0,o=!1;if(t&&n){for(var s=0;s<n.length&&!o;s++){switch(n[s].isChecked){case!0:i++;break;case!1:r++;break;case null:o=!0}i&&r&&(o=!0)}setChecked(t,o?null:i>0);if(e&&e.checkedMemberPath){var a=o?null:t.checked;e._chkPath.setValue(this.dataItem,this.level,a)}}var d=this.parentNode;d&&d._updateCheckedState()};TreeNode._getChildNodes=function(e,t){var n=[];if(TreeNode._isNodeList(t))for(var i=t.children,r=0;r<i.length;r++){var o=i[r];TreeNode._isNode(o)&&n.push(new TreeNode(e,o))}return n};TreeNode._isNode=function(e){return e&&hasClass(e,TreeView._CND)};TreeNode._isNodeList=function(e){return e&&hasClass(e,TreeView._CNDL)};TreeNode._isEmpty=function(e){return TreeNode._isNode(e)&&hasClass(e,TreeView._CEMP)};TreeNode._isCollapsed=function(e){return TreeNode._isNode(e)&&!TreeNode._isEmpty(e)&&hasClass(e,TreeView._CCLD)};TreeNode._assertNode=function(e){assert(TreeNode._isNode(e),"node expected")};TreeNode._assertNodeList=function(e){assert(TreeNode._isNodeList(e),"nodeList expected")};return TreeNode}();export{TreeNode};var _BindingArray=function(){function _BindingArray(e){this.path=e}Object.defineProperty(_BindingArray.prototype,"path",{get:function(){return this._path},set:function(e){this._path=e;if(isString(e))this._bindings=[new Binding(e)];else if(isArray(e)){this._bindings=[];for(var t=0;t<e.length;t++)this._bindings.push(new Binding(e[t]))}else null!=e&&assert(!1,"Path should be a string or an array of strings.");this._maxLevel=this._bindings?this._bindings.length-1:-1},enumerable:!0,configurable:!0});_BindingArray.prototype.getValue=function(e,t){var n=Math.min(t,this._maxLevel);return n>-1?this._bindings[n].getValue(e):null};_BindingArray.prototype.setValue=function(e,t,n){var i=Math.min(t,this._maxLevel);i>-1&&this._bindings[i].setValue(e,n)};return _BindingArray}();export{_BindingArray};var TreeView=function(e){__extends(TreeView,e);function TreeView(t,n){void 0===n&&(n={});var i=e.call(this,t)||this;i._itmPath=new _BindingArray("items");i._chkPath=new _BindingArray;i._dspPath=new _BindingArray("header");i._imgPath=new _BindingArray;i._html=!1;i._animated=!0;i._chkOnClick=!1;i._collOnClick=!1;i._xpndOnClick=!0;i._xpndOnLoad=!0;i._autoColl=!0;i._showChk=!1;i._collapseWhenDisabled=!0;i._srch="";i._isReadOnly=!0;i.itemsSourceChanged=new Event;i.loadingItems=new Event;i.loadedItems=new Event;i.itemClicked=new Event;i.selectedItemChanged=new Event;i.checkedItemsChanged=new Event;i.isCollapsedChanging=new Event;i.isCollapsedChanged=new Event;i.isCheckedChanging=new Event;i.isCheckedChanged=new Event;i.formatItem=new Event((function(){i.invalidate()}));i.dragStart=new Event;i.dragOver=new Event;i.drop=new Event;i.dragEnd=new Event;i.nodeEditStarting=new Event;i.nodeEditStarted=new Event;i.nodeEditEnding=new Event;i.nodeEditEnded=new Event;i.options=n;var r=i.getTemplate();i.applyTemplate("wj-control wj-content wj-treeview",r,{_root:"root"});var o=i.hostElement;setAttribute(o,"role","tree",!0);addClass(i._root,TreeView._CNDL);setAttribute(i._root,"role","group",!0);i.addEventListener(o,"mousedown",i._mousedown.bind(i));i.addEventListener(o,"click",i._click.bind(i));i.addEventListener(o,"keydown",i._keydown.bind(i));i.addEventListener(o,"keypress",i._keypress.bind(i));i.addEventListener(o,"wheel",(function(e){o.scrollHeight>o.offsetHeight&&(e.deltaY<0&&0==o.scrollTop||e.deltaY>0&&o.scrollTop+o.offsetHeight>=o.scrollHeight)&&e.preventDefault()}));i.addEventListener(o,"blur",(function(){i._edtNode&&!contains(i._edtNode.element,getActiveElement())&&i.finishEditing()}),!0);i.addEventListener(o,"paste",(function(e){if(i._edtNode&&!i.isContentHtml){var t=(e.clipboardData||window.clipboardData).getData("text"),n=window.getSelection();if(t&&n.rangeCount){n.deleteFromDocument();n.getRangeAt(0).insertNode(document.createTextNode(t));e.preventDefault()}}}));i.initialize(n);i.refresh();return i}Object.defineProperty(TreeView.prototype,"itemsSource",{get:function(){return this._items},set:function(e){if(this._items!=e){this._items=asArray(e);this.onItemsSourceChanged();this._srcChanged=!0;this._reload()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"childItemsPath",{get:function(){return this._itmPath.path},set:function(e){if(e!=this.childItemsPath){this._itmPath.path=e;this._reload()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"displayMemberPath",{get:function(){return this._dspPath.path},set:function(e){if(e!=this.displayMemberPath){this._dspPath.path=e;this._reload()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"imageMemberPath",{get:function(){return this._imgPath.path},set:function(e){if(e!=this.imageMemberPath){this._imgPath.path=e;this._reload()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"checkedMemberPath",{get:function(){return this._chkPath.path},set:function(e){if(e!=this.checkedMemberPath){this._chkPath.path=e;this._reload()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"isContentHtml",{get:function(){return this._html},set:function(e){if(e!=this._html){this._html=asBoolean(e);this._reload()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"showCheckboxes",{get:function(){return this._showChk},set:function(e){if(e!=this._showChk){this._showChk=asBoolean(e);this._reload()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"autoCollapse",{get:function(){return this._autoColl},set:function(e){this._autoColl=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"collapseWhenDisabled",{get:function(){return this._collapseWhenDisabled},set:function(e){this._collapseWhenDisabled=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"isAnimated",{get:function(){return this._animated},set:function(e){this._animated=asBoolean(e);toggleClass(this.hostElement,"wj-animated",this._animated)},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"isReadOnly",{get:function(){return this._isReadOnly},set:function(e){this._isReadOnly=asBoolean(e);toggleClass(this.hostElement,"wj-state-readonly",this.isReadOnly)},enumerable:!0,configurable:!0});TreeView.prototype.startEditing=function(e){this._prevDragState=this.allowDragging;if(this.isReadOnly)return!1;e||(e=this.selectedNode);if(!e||e.isDisabled)return!1;if(!this.finishEditing())return!1;var t=e.element.querySelector("."+TreeView._CNDT);if(!t)return!1;var n=new TreeNodeEventArgs(e);if(!this.onNodeEditStarting(n))return!1;t.tabIndex=0;t.focus();t.contentEditable="true";t.style.cursor="auto";var i=document.createRange();i.selectNodeContents(t);var r=getSelection();r.removeAllRanges();r.addRange(i);this.allowDragging=!this.isTxtSelected(t);t.focus();setAttribute(t,"autocomplete","off");setAttribute(t,"autocorrect","off");this._edtNode=e;this.onNodeEditStarted(n);return!0};TreeView.prototype.finishEditing=function(e){var t=this._edtNode;if(t){var n=t.element.querySelector("."+TreeView._CNDT);if(!n)return!1;var i=new TreeNodeEventArgs(t);if(!this.onNodeEditEnding(i))return!1;var r=t.dataItem,o=t.level;this.isContentHtml?e?n.innerHTML=this._dspPath.getValue(r,o):this._dspPath.setValue(r,o,n.innerHTML):e?n.textContent=this._dspPath.getValue(r,o):this._dspPath.setValue(r,o,n.textContent);document.createRange().selectNodeContents(n);getSelection().removeAllRanges();n.contentEditable="false";n.style.cursor="";this.allowDragging=this._prevDragState;this._edtNode=null;this.onNodeEditEnded(i)}return!0};Object.defineProperty(TreeView.prototype,"allowDragging",{get:function(){return null!=this._dd},set:function(e){if(e!=this.allowDragging){if(asBoolean(e))this._dd=new _TreeDragDropManager(this);else{this._dd.dispose();this._dd=null}for(var t=this.hostElement.querySelectorAll("."+TreeView._CND),n=0;n<t.length;n++){var i=t[n];setAttribute(i,"draggable",!!this._dd||null)}}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"checkOnClick",{get:function(){return this._chkOnClick},set:function(e){this._chkOnClick=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"expandOnClick",{get:function(){return this._xpndOnClick},set:function(e){this._xpndOnClick=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"collapseOnClick",{get:function(){return this._collOnClick},set:function(e){this._collOnClick=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"expandOnLoad",{get:function(){return this._xpndOnLoad},set:function(e){this._xpndOnLoad=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"selectedItem",{get:function(){return this._selNode?this._selNode.dataItem:null},set:function(e){if(e!=this.selectedItem){this._isDirty&&this.refresh();this.selectedNode=e?this.getNode(e):null}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"selectedNode",{get:function(){return this._selNode},set:function(e){if(e!=this.selectedNode){this._prevSel=this._selNode;if(e)e.select();else if(this._selNode){var t=this._selNode.element;removeClass(t,TreeView._CSEL);setAttribute(t,"aria-selected",!1);this._selNode=null;this._updateFocus(this._prevSel);this.onSelectedItemChanged()}}},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"selectedPath",{get:function(){for(var e=[],t=this.selectedNode;t;t=t.parentNode){var n=this._dspPath.getValue(t.dataItem,t.level);e.splice(0,0,n)}return e},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"checkedItems",{get:function(){if(null==this._chkItems){var e=TreeView,t="."+e._CND+"."+e._CEMP+" > input:checked."+e._CNDC,n=this._root.querySelectorAll(t);this._chkItems=[];for(var i=0;i<n.length;i++){var r=n[i].parentElement[e._DATAITEM_KEY];this._chkItems.push(r)}}return this._chkItems},set:function(e){if(this.showCheckboxes){this._isDirty&&this.refresh();for(var t=TreeView,n="."+t._CND+"."+t._CEMP,i=this._root.querySelectorAll(n),r=0;r<i.length;r++){var o=new TreeNode(this,i[r]),s=e.indexOf(o.dataItem)>-1;o.isChecked!=s&&(o.isChecked=s)}}},enumerable:!0,configurable:!0});TreeView.prototype.checkAllItems=function(e){if(this.showCheckboxes)for(var t=TreeView,n="."+t._CND+"."+t._CEMP,i=this._root.querySelectorAll(n),r=0;r<i.length;r++){var o=new TreeNode(this,i[r]);o.isChecked!=e&&(o.isChecked=e)}};Object.defineProperty(TreeView.prototype,"totalItemCount",{get:function(){return this.hostElement.querySelectorAll("."+TreeView._CND).length},enumerable:!0,configurable:!0});Object.defineProperty(TreeView.prototype,"lazyLoadFunction",{get:function(){return this._lazyLoad},set:function(e){if(e!=this._lazyLoad){this._lazyLoad=asFunction(e);this._reload()}},enumerable:!0,configurable:!0});TreeView.prototype.getFirstNode=function(e,t){var n=this.hostElement.querySelector("."+TreeView._CND),i=n?new TreeNode(this,n):null;e&&i&&!i.element.offsetHeight&&(i=i.next(e,t));t&&i&&i.isDisabled&&(i=i.next(e,t));return i};TreeView.prototype.getLastNode=function(e,t){var n=this.hostElement.querySelectorAll("."+TreeView._CND+":last-child"),i=n.length?new TreeNode(this,n[n.length-1]):null;e&&i&&!i.element.offsetHeight&&(i=i.previous(e,t));t&&i&&i.isDisabled&&(i=i.previous(e,t));return i};Object.defineProperty(TreeView.prototype,"nodes",{get:function(){return TreeNode._getChildNodes(this,this._root)},enumerable:!0,configurable:!0});TreeView.prototype.getNode=function(e){this._isDirty&&this._loadTree();for(var t=this.hostElement.querySelectorAll("."+TreeView._CND),n=0;n<t.length;n++){var i=t[n];if(i[TreeView._DATAITEM_KEY]==e)return new TreeNode(this,i)}return null};TreeView.prototype.addChildNode=function(e,t){var n=this._createNode(t),i=this.nodes;i?e<i.length?n.move(i[e],DropPosition.Before):n.move(i[i.length-1],DropPosition.After):n.move(this,DropPosition.Into);return n};TreeView.prototype.collapseToLevel=function(e){var t=this._animated,n=this._autoColl;this._animated=this._autoColl=!1;this._collapseToLevel(this.nodes,e,0);this._animated=t;this._autoColl=n};TreeView.prototype.loadTree=function(e){this._loadTree(e)};TreeView.prototype.onItemsSourceChanged=function(e){this.itemsSourceChanged.raise(this,e)};TreeView.prototype.onLoadingItems=function(e){this.loadingItems.raise(this,e);return!e.cancel};TreeView.prototype.onLoadedItems=function(e){this.loadedItems.raise(this,e)};TreeView.prototype.onItemClicked=function(e){this.itemClicked.raise(this,e)};TreeView.prototype.onSelectedItemChanged=function(e){this.selectedItemChanged.raise(this,e)};TreeView.prototype.onCheckedItemsChanged=function(e){this._chkItems=null;this.checkedItemsChanged.raise(this,e)};TreeView.prototype.onIsCollapsedChanging=function(e){this.isCollapsedChanging.raise(this,e);return!e.cancel};TreeView.prototype.onIsCollapsedChanged=function(e){this.isCollapsedChanged.raise(this,e)};TreeView.prototype.onIsCheckedChanging=function(e){this.isCheckedChanging.raise(this,e);return!e.cancel};TreeView.prototype.onIsCheckedChanged=function(e){this.isCheckedChanged.raise(this,e)};TreeView.prototype.onFormatItem=function(e){this.formatItem.raise(this,e)};TreeView.prototype.onDragStart=function(e){this.dragStart.raise(this,e);return!e.cancel};TreeView.prototype.onDragOver=function(e){this.dragOver.raise(this,e);return!e.cancel};TreeView.prototype.onDrop=function(e){this.drop.raise(this,e);return!e.cancel};TreeView.prototype.onDragEnd=function(e){this.dragEnd.raise(this,e)};TreeView.prototype.onNodeEditStarting=function(e){this.nodeEditStarting.raise(this,e);return!e.cancel};TreeView.prototype.onNodeEditStarted=function(e){this.nodeEditStarted.raise(this,e)};TreeView.prototype.onNodeEditEnding=function(e){this.nodeEditEnding.raise(this,e);return!e.cancel};TreeView.prototype.onNodeEditEnded=function(e){this.nodeEditEnded.raise(this,e)};TreeView.prototype.refresh=function(t){void 0===t&&(t=!0);e.prototype.refresh.call(this,t);!this.isUpdating&&this._isDirty&&this._loadTree(!0)};TreeView.prototype._updateFocus=function(e){this._updateTabIndex();if(this.containsFocus()){var t=this._selNode;t?t.element.focus():this.hostElement.focus()}e&&(e.element.tabIndex=-1)};TreeView.prototype._updateTabIndex=function(){var e=this._selNode;e&&(e.element.tabIndex=this._orgTabIndex);this.hostElement.tabIndex=e||this.isDisabled?-1:this._orgTabIndex};TreeView.prototype._setTabOrder=function(e){this._orgTabIndex=e;this._updateTabIndex()};TreeView.prototype._raiseCheckedItemsChanged=function(){var e=this;this._toItemsChanged&&clearTimeout(this._toItemsChanged);this._toItemsChanged=setTimeout((function(){e._toItemsChanged=null;e.onCheckedItemsChanged()}),10)};TreeView.prototype._reload=function(){this._isDirty=!0;this.invalidate()};TreeView.prototype._createNode=function(e){var t=__assign({},this.options);this.formatItem&&(t.formatItem=this.formatItem.getHandler());return new TreeView(document.createElement("div"),__assign({},t,{expandOnLoad:this.expandOnLoad,allowDragging:this.allowDragging,lazyLoadFunction:this.lazyLoadFunction,childItemsPath:this.childItemsPath,displayMemberPath:this.displayMemberPath,imageMemberPath:this.imageMemberPath,isContentHtml:this.isContentHtml,showCheckboxes:this.showCheckboxes,itemsSource:[e]})).getFirstNode()};TreeView.prototype._mousedown=function(e){if(!e.defaultPrevented){var t=closestClass(e.target,TreeView._CND),n=t?new TreeNode(this,t):null;n&&!n.isDisabled&&(this.selectedNode=n)}};TreeView.prototype._click=function(e){if(!e.defaultPrevented){var t=closestClass(e.target,TreeView._CND);if(t){var n=new TreeNode(this,t),i="input."+TreeView._CNDC,r=closest(e.target,i),o=t.getBoundingClientRect(),s=this.rightToLeft?o.right-e.clientX:e.clientX-o.left;if(n.isDisabled)return;if(!r&&n.equals(this._edtNode))return;!r&&this._chkOnClick&&(!n.hasChildren||s>t.offsetHeight)&&(r=t.querySelector(i));var a=this._prevSel;this.selectedNode=n;t.focus();if(r){e.preventDefault();e.stopPropagation();setTimeout((function(){n.isChecked=!n.isChecked}))}if(!r){var d=(e.ctrlKey||e.metaKey)&&!n.hasPendingChildren,l=n.isCollapsed,h=!1;if(n.hasChildren)if(s<=t.offsetHeight){h=!0;d?this.collapseToLevel(l?n.level+1:n.level):n.isCollapsed=!l}else if(this.expandOnClick&&l){h=!0;d?this.collapseToLevel(n.level+1):n.isCollapsed=!1}else if(this.collapseOnClick&&!l){h=!0;d?this.collapseToLevel(n.level):n.isCollapsed=!0}h&&d&&this.selectedNode&&this.selectedNode.ensureVisible();if(!h&&!this.isReadOnly){var c=this.selectedNode;c&&c.equals(a)&&this.startEditing()}}this.selectedItem&&this.onItemClicked()}}};TreeView.prototype._keydown=function(e){if(!e.defaultPrevented){var t=this._getKeyCode(e),n=this._selNode,i=void 0,r=!0;if(!n)switch(t){case Key.Up:case Key.Down:case Key.Left:case Key.Right:case Key.Enter:case Key.Home:case Key.End:if(i=this.getFirstNode(!0,!0)){this.selectedNode=i;e.preventDefault();return}}if(n&&!n.isDisabled){switch(t){case Key.F2:this.startEditing();e.preventDefault();break;case Key.Escape:this.finishEditing(!0);e.preventDefault();break;case Key.Up:case Key.Down:this.finishEditing();break;case Key.Enter:if(this._edtNode){this.finishEditing();t=Key.Down}else{this.startEditing();e.preventDefault()}}if(this._edtNode)return;if(this.rightToLeft)switch(t){case Key.Left:t=Key.Right;break;case Key.Right:t=Key.Left}switch(t){case Key.Left:!n.isCollapsed&&n.hasChildren?n.isCollapsed=!0:(n=n.parentNode)&&n.select();break;case Key.Right:n.isCollapsed&&n.hasChildren&&(n.isCollapsed=!1);break;case Key.Up:i=n.previous(!0,!0);break;case Key.Down:i=n.next(!0,!0);break;case Key.Home:i=this.getFirstNode(!0,!0);break;case Key.End:i=this.getLastNode(!0,!0);break;case Key.Space:if(this.selectedItem){var o=n.checkBox;o&&(n.isChecked=o.indeterminate||!o.checked)}break;case Key.Enter:this.selectedItem&&this.onItemClicked();break;default:r=!1}if(r){e.preventDefault();i&&i.select()}}}};TreeView.prototype._keypress=function(e){var t=this;if(!e.defaultPrevented){if(e.ctrlKey||e.metaKey||e.altKey)return;if(e.target instanceof HTMLInputElement)return;if(this._edtNode)return;if(e.charCode>32&&this.startEditing(this.selectedNode)){var n=getActiveElement();if(contains(this._edtNode.element,n)){n.textContent=String.fromCharCode(e.charCode);e.preventDefault();var i=document.createRange();i.selectNodeContents(n);i.collapse(!1);var r=getSelection();r.removeAllRanges();r.addRange(i)}return}if(e.charCode>32||32==e.charCode&&this._srch){e.preventDefault();this._srch+=String.fromCharCode(e.charCode).toLowerCase();this._toSrch&&clearTimeout(this._toSrch);this._toSrch=setTimeout((function(){t._toSrch=null;t._srch=""}),TreeView._AS_DLY);var o=this._findNext();if(null==o&&this._srch.length>1){this._srch=this._srch[this._srch.length-1];o=this._findNext()}null!=o&&(this.selectedItem=o)}}};TreeView.prototype._findNext=function(){if(this.hostElement&&this.selectedItem){var e=this.getNode(this.selectedItem),t=e,n=!1,i=!1;1==this._srch.length&&(i=!0);for(;t;){if(!t.isDisabled&&!i){if(0==t.element.textContent.trim().toLowerCase().indexOf(this._srch))return t.dataItem}var r=t.next(!0,!0);if(r==e&&n)break;if(!r&&!n){r=this.getFirstNode(!0,!0);n=!0}t=r;i=!1}}return null};TreeView.prototype._loadTree=function(e){var t=this,n=this._root;if(n){if(!this.onLoadingItems(new CancelEventArgs))return;var i=this.containsFocus(),r=this._srcChanged;this._isDirty=!1;this._srcChanged=!1;var o=this.selectedItem;this.selectedItem=null;this._chkItems=null;this._ldLvl=-1;var s=void 0;if(e&&isFunction(window.Map)&&!r&&this.nodes.length>0){s=new Map;for(var a=this.hostElement.querySelectorAll("."+TreeView._CND),d=0;d<a.length;d++){var l=a[d];hasClass(l,TreeView._CCLD)&&s.set(l[TreeView._DATAITEM_KEY],!0)}}n.innerHTML="";this._items&&this._items.forEach((function(e){t._addItem(n,0,e)}));if(s)for(a=this.hostElement.querySelectorAll("."+TreeView._CND),d=0;d<a.length;d++){l=a[d];var h=TreeNode._isNodeList(l.nextElementSibling),c=!TreeNode._isEmpty(l),p=s.get(l[TreeView._DATAITEM_KEY]);c&&(p||h)&&toggleClass(l,TreeView._CCLD,1==p);setAttribute(l,"aria-expanded",c?(!hasClass(l,TreeView._CCLD)).toString():null)}i&&!this.containsFocus()&&this.focus();this.selectedItem=o;this.onLoadedItems();this._ldLvl=-1;this._srcChanged=!1}};TreeView.prototype._addItem=function(e,t,n){var i,r=this._dspPath.getValue(n,t),o=this._imgPath.getValue(n,t),s=asArray(this._itmPath.getValue(n,t),!0),a=document.createElement("div");addClass(a,TreeView._CND);a.tabIndex=-1;setAttribute(a,"role","treeitem",!0);setAttribute(a,"aria-selected",!1);var d=document.createElement("span");this.isContentHtml?d.innerHTML=r:d.textContent=r;addClass(d,TreeView._CNDT);a.appendChild(d);if(o){var l=document.createElement("img");l.src=o;a.insertBefore(l,a.firstChild)}if(this._showChk&&!this._lazyLoad){(i=document.createElement("input")).type="checkbox";i.tabIndex=-1;addClass(i,TreeView._CNDC);a.insertBefore(i,a.firstChild)}this._dd&&a.setAttribute("draggable","true");e.appendChild(a);a[TreeView._DATAITEM_KEY]=n;s&&0==s.length&&!this.lazyLoadFunction&&(s=null);if(s){var h=this.expandOnLoad;if(t>this._ldLvl&&h){this._ldLvl=t;if(0==s.length){h=!1;addClass(a,TreeView._CCLD)}}else{h=!1;addClass(a,TreeView._CCLD);t<this._ldLvl&&(this._ldLvl=100)}if(s.length>0){var c=document.createElement("div");c.tabIndex=-1;addClass(c,TreeView._CNDL);for(var p=0;p<s.length;p++)this._addItem(c,t+1,s[p]);e.appendChild(c);setAttribute(c,"role","group",!0)}setAttribute(a,"aria-expanded",h.toString(),!0)}else addClass(a,TreeView._CEMP);if(i&&this.checkedMemberPath)if(s&&s.length){new TreeNode(this,a)._updateCheckedState()}else i.checked=this._chkPath.getValue(n,t);this.formatItem.hasHandlers&&this.onFormatItem(new FormatNodeEventArgs(n,a,t))};TreeView.prototype._collapseToLevel=function(e,t,n){for(var i=0;i<e.length;i++){var r=e[i];if(!r.hasPendingChildren){r.isCollapsed=n>=t;r.hasChildren&&this._collapseToLevel(r.nodes,t,n+1)}}};TreeView.prototype._lazyLoadNode=function(e){var t=this.hostElement;if(!hasClass(t,TreeView._CLDG)){addClass(t,TreeView._CLDG);addClass(e.element,TreeView._CLDG);this.lazyLoadFunction(e,this._lazyLoadCallback.bind(e))}};TreeView.prototype._lazyLoadCallback=function(e){this.treeView._lazyLoadNodeDone(this,e)};TreeView.prototype._lazyLoadNodeDone=function(e,t){var n=TreeView;removeClass(e.element,n._CLDG);removeClass(this.hostElement,n._CLDG);var i=e.dataItem,r=e.level,o=asArray(t,!0);if(null==o||0==o.length){this._itmPath.setValue(i,r,null);addClass(e.element,n._CEMP);removeClass(e.element,n._CCLD)}else if(o.length){this._itmPath.setValue(i,r,o);var s=document.createElement("div"),a=e.element;addClass(s,n._CNDL);a.parentElement.insertBefore(s,a.nextSibling);for(var d=0;d<o.length;d++)this._addItem(s,r+1,o[d]);e.isCollapsed=!1}};TreeView.prototype.isTxtSelected=function(e){var t=window.getSelection();return t.anchorNode===e&&t.toString().length>0};TreeView._DATAITEM_KEY="wj-Data-Item";TreeView._AS_DLY=600;TreeView._AN_DLY=200;TreeView._CND="wj-node";TreeView._CNDL="wj-nodelist";TreeView._CEMP="wj-state-empty";TreeView._CNDT="wj-node-text";TreeView._CNDC="wj-node-check";TreeView._CSEL="wj-state-selected";TreeView._CCLD="wj-state-collapsed";TreeView._CCLG="wj-state-collapsing";TreeView._CLDG="wj-state-loading";TreeView.controlTemplate='<div wj-part="root"></div>';return TreeView}(Control);export{TreeView};var _TreeDragDropManager=function(){function _TreeDragDropManager(e){this._tree=asType(e,TreeView);this._dragstartBnd=this._dragstart.bind(this);this._dragoverBnd=this._dragover.bind(this);this._dropBnd=this._drop.bind(this);this._dragendBnd=this._dragend.bind(this);var t=this._tree,n=t.hostElement;t.addEventListener(n,"dragstart",this._dragstartBnd);t.addEventListener(n,"dragover",this._dragoverBnd);t.addEventListener(n,"dragleave",this._dragoverBnd);t.addEventListener(n,"drop",this._dropBnd);t.addEventListener(n,"dragend",this._dragendBnd);t.addEventListener(n,"keydown",this._keydown)}_TreeDragDropManager.prototype.dispose=function(){var e=this._tree,t=e.hostElement;e.removeEventListener(t,"dragstart",this._dragstartBnd);e.removeEventListener(t,"dragover",this._dragoverBnd);e.removeEventListener(t,"dragleave",this._dragoverBnd);e.removeEventListener(t,"drop",this._dropBnd);e.removeEventListener(t,"dragend",this._dragendBnd);e.removeEventListener(t,"keydown",this._keydown);this._showDragMarker()};_TreeDragDropManager.prototype._dragstart=function(e){if(!e.defaultPrevented){var t=this._tree,n=closestClass(e.target,TreeView._CND),i=_TreeDragDropManager;i._drgSrc=TreeNode._isNode(n)?new TreeNode(t,n):null;if(i._drgSrc){var r=new TreeNodeEventArgs(i._drgSrc);t.onDragStart(r)||(i._drgSrc=null)}if(i._drgSrc&&e.dataTransfer){_startDrag(e.dataTransfer,"copyMove");e.stopPropagation()}else e.preventDefault()}};_TreeDragDropManager.prototype._dragover=function(e){this._handleDragDrop(e,!1)};_TreeDragDropManager.prototype._drop=function(e){this._handleDragDrop(e,!0)};_TreeDragDropManager.prototype._dragend=function(e){_TreeDragDropManager._drgSrc=null;this._showDragMarker();this._tree.onDragEnd()};_TreeDragDropManager.prototype._keydown=function(e){e.defaultPrevented||e.keyCode==Key.Escape&&this._dragendBnd(null)};_TreeDragDropManager.prototype._handleDragDrop=function(e,t){var n,i,r=this._tree,o=_TreeDragDropManager,s=DropPosition,a=s.Into;if(!e.defaultPrevented&&o._drgSrc){var d=document.elementFromPoint(e.clientX,e.clientY),l=closestClass(d,TreeView._CND);if(null==l){var h=Control.getControl(closest(d,".wj-treeview"));h instanceof TreeView&&0==h.totalItemCount&&(l=h.hostElement)}l==o._drgSrc.element&&(l=null);if(l){i=l.getBoundingClientRect();var c=new TreeNode(r,l),p=c.hasPendingChildren?i.height/2:i.height/3;if(null==c.element){(i=Rect.fromBoundingRect(i)).inflate(-12,-12);a=s.Before}else if(e.clientY<i.top+p)a=s.Before;else if(e.clientY>i.bottom-p||c.hasPendingChildren){a=s.After;if(c.hasChildren&&!c.isCollapsed&&!c.hasPendingChildren){a=s.Before;i=(l=(c=c.next(!0,!1)).element).getBoundingClientRect()}}if(o._drgSrc._contains(c))l=null;else{(n=new TreeNodeDragDropEventArgs(o._drgSrc,c,a)).cancel=o._drgSrc.treeView!=c.treeView;r.onDragOver(n)||(l=null)}}if(l)if((a=n.position)==s.Before){var u=n.dragSource.next(!0,!1);u&&u.element==l&&(l=null)}else if(a==s.After){var _=n.dragSource.previous(!0,!1);_&&_.element==l&&(l=null)}if(l&&!t){e.dataTransfer.dropEffect="move";e.preventDefault();e.stopPropagation();this._showDragMarker(i,a)}else this._showDragMarker();if(l&&t&&r.onDrop(n)){r.hostElement.focus();var f=n.dragSource;f.move(n.dropTarget,n.position);f.ensureVisible();f.select()}}};_TreeDragDropManager.prototype._showDragMarker=function(e,t){var n=this._tree,i=_TreeDragDropManager._dMarker.parentElement;if(e){var r=n.hostElement.getBoundingClientRect(),o=t==DropPosition.After?e.bottom:e.top,s={top:Math.round(o-r.top+n.hostElement.scrollTop-2),width:"75%",height:t==DropPosition.Into?e.height:4,opacity:t==DropPosition.Into?"0.15":""};n.rightToLeft?s.right=Math.round(r.right-e.right):s.left=Math.round(e.left-r.left);setCss(_TreeDragDropManager._dMarker,s);i!=n._root&&n._root.appendChild(_TreeDragDropManager._dMarker)}else i&&i.removeChild(_TreeDragDropManager._dMarker)};_TreeDragDropManager._dMarker="undefined"!=typeof window?createElement('<div class="wj-marker"> </div>'):null;return _TreeDragDropManager}();export{_TreeDragDropManager};_registerModule("wijmo.nav",selfModule);
|