12345678910 |
- /*!
- * filename: ej2-lists.min.js
- * version : 19.1.56
- * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
- * Use of this code is subject to the terms of our license.
- * A copy of the current license can be obtained at any time by e-mailing
- * licensing@syncfusion.com. Any infringement will be prosecuted under
- * applicable laws.
- */
- this.ej=this.ej||{},this.ej.lists=function(e,t,i,s){"use strict";function n(e,i){var s={};if(t.isNullOrUndefined(e)||"string"==typeof e||"number"==typeof e||!t.isNullOrUndefined(e.isHeader))return e;for(var n=0,l=Object.keys(i);n<l.length;n++){var r=i[l[n]],a=t.isNullOrUndefined(r)||"string"!=typeof r?void 0:t.getValue(r,e);t.isNullOrUndefined(a)||(s[r]=a)}return s}function l(e,i,s,n){var l=[];if(i||(i=e),s&&s.length?s.forEach(function(t){l.push(e.children[t])}):l=[].slice.call(e.children),t.isNullOrUndefined(n))l.forEach(function(e){i.appendChild(e)});else{var r=i.children[n];l.forEach(function(e){i.insertBefore(e,r)})}}e.cssClass={li:"e-list-item",ul:"e-list-parent e-ul",group:"e-list-group-item",icon:"e-list-icon",text:"e-list-text",check:"e-list-check",checked:"e-checked",selected:"e-selected",expanded:"e-expanded",textContent:"e-text-content",hasChild:"e-has-child",level:"e-level",url:"e-list-url",collapsible:"e-icon-collapsible",disabled:"e-disabled",image:"e-list-img",iconWrapper:"e-icon-wrapper",anchorWrap:"e-anchor-wrap",navigable:"e-navigable"},function(s){function l(e,i,s,n,l){var a=t.extend({},D,s),o=t.extend({},k,a.ariaAttributes),h=v(i).typeof;return"string"===h||"number"===h?r(e,i,n,s,l):c(e,i,s,o.level,n,l)}function r(e,t,i,s,n){return E(e,a(e,t,i,s,n),null,s)}function a(i,s,n,l,r){var a=[],o=t.extend({},D,l);e.cssClass=L(o.moduleName);for(var c=w(),h=0;h<s.length;h++)if(!t.isNullOrUndefined(s[h])){var d=void 0;if(o.itemCreating&&"function"==typeof o.itemCreating){u={dataSource:s,curData:s[h],text:s[h],options:o};o.itemCreating(u)}if(d=n?x(i,s[h],void 0,null,null,[],null,c,h,l):V(i,s[h],void 0,null,null,l,r),o.itemCreated&&"function"==typeof o.itemCreated){var u={dataSource:s,curData:s[h],text:s[h],item:d,options:o};o.itemCreated(u)}a.push(d)}return a}function o(i,l,r,a,o,c){var h=t.extend({},D,r);e.cssClass=L(h.moduleName);var d,u=t.extend({},s.defaultMappedFields,h.fields),p=t.extend({},k,h.ariaAttributes),m=[];a&&(p.level=a);var f,g,y=[];l&&l.length&&!t.isNullOrUndefined(v(l).item)&&!v(l).item.hasOwnProperty(u.id)&&(d=w());for(var b=0;b<l.length;b++){var C=n(l[b],u);if(!t.isNullOrUndefined(l[b])){if(h.itemCreating&&"function"==typeof h.itemCreating){A={dataSource:l,curData:l[b],text:C[u.text],options:h,fields:u};h.itemCreating(A)}var E=l[b];h.itemCreating&&"function"==typeof h.itemCreating&&(C=n(l[b],u)),C.hasOwnProperty(u.id)&&!t.isNullOrUndefined(C[u.id])&&(d=C[u.id]);var O=[];if(h.showCheckBox&&(h.itemNavigable&&(C[u.url]||C[u.urlAttributes])?m.push(i("input",{className:e.cssClass.check,attrs:{type:"checkbox"}})):O.push(i("input",{className:e.cssClass.check,attrs:{type:"checkbox"}}))),!0===o)h.showIcon&&C.hasOwnProperty(u.iconCss)&&!t.isNullOrUndefined(C[u.iconCss])&&O.push(i("span",{className:e.cssClass.icon+" "+C[u.iconCss]})),g=(f=x(i,E,C,u,h.itemClass,O,!(!E.hasOwnProperty("isHeader")||!E.isHeader),d,b,r)).querySelector("."+e.cssClass.anchorWrap),h.itemNavigable&&m.length&&t.prepend(m,f.firstElementChild);else{if((f=V(i,E,C,u,h.itemClass,r,c)).classList.add(e.cssClass.level+"-"+p.level),f.setAttribute("aria-level",p.level.toString()),g=f.querySelector("."+e.cssClass.anchorWrap),C.hasOwnProperty(u.tooltip)&&f.setAttribute("title",C[u.tooltip]),C.hasOwnProperty(u.htmlAttributes)&&C[u.htmlAttributes]&&I(f,C[u.htmlAttributes]),C.hasOwnProperty(u.enabled)&&!1===C[u.enabled]&&f.classList.add(e.cssClass.disabled),C.hasOwnProperty(u.isVisible)&&!1===C[u.isVisible]&&(f.style.display="none"),C.hasOwnProperty(u.imageUrl)&&!t.isNullOrUndefined(C[u.imageUrl])&&!h.template){var B={src:C[u.imageUrl]};t.merge(B,C[u.imageAttributes]);var T=i("img",{className:e.cssClass.image,attrs:B});g?g.insertAdjacentElement("afterbegin",T):t.prepend([T],f.firstElementChild)}if(h.showIcon&&C.hasOwnProperty(u.iconCss)&&!t.isNullOrUndefined(C[u.iconCss])&&!h.template){var H=i("div",{className:e.cssClass.icon+" "+C[u.iconCss]});g?g.insertAdjacentElement("afterbegin",H):t.prepend([H],f.firstElementChild)}O.length&&t.prepend(O,f.firstElementChild),h.itemNavigable&&m.length&&t.prepend(m,f.firstElementChild),S(i,C,u,l,h,f,p.level)}if(g&&t.addClass([f],[e.cssClass.navigable]),h.itemCreated&&"function"==typeof h.itemCreated){var A={dataSource:l,curData:l[b],text:C[u.text],item:f,options:h,fields:u};h.itemCreated(A)}m=[],y.push(f)}}return y}function c(e,i,s,n,l,r){var a=t.extend({},D,s);return E(e,o(e,i,s,n,l,r),a.listClass,s)}function h(i,s,n){if(e.cssClass=L(D.moduleName),i&&i.length){var l,r,a=Array.prototype.slice.call(i);for(l=a[(r=s?d(s,a):!0===n?a.length:-1)+(!0===n?-1:1)];l&&(!t.isVisible(l)||l.classList.contains(e.cssClass.disabled));)l=a[r+=!0===n?-1:1];return l}}function d(e,t){if(t&&e){return Array.prototype.slice.call(t).indexOf(e)}}function u(e,n,l){void 0===l&&(l="None");var r=t.extend({},s.defaultMappedFields,n),a=(new i.Query).group(r.groupBy),o=m(e,a=p(l,"key",a));e=[];for(var c=0;c<o.length;c++){var h=o[c].items,d={};d[r.text]=o[c].key,d.isHeader=!0;var u=r.text;"id"===u&&(d[u="text"]=o[c].key),d._id="group-list-item-"+(o[c].key?o[c].key.toString().trim():"undefined"),d.items=h,e.push(d);for(var f=0;f<h.length;f++)e.push(h[f])}return e}function p(e,t,s){if(void 0===s&&(s=new i.Query),"Ascending"===e)s.sortBy(t,"ascending",!0);else if("Descending"===e)s.sortBy(t,"descending",!0);else for(var n=0;n<s.queries.length;n++)"onSortBy"===s.queries[n].fn&&s.queries.splice(n,1);return s}function m(e,t){return new i.DataManager(e).executeLocal(t)}function f(e,i){var n=t.extend({},D,i),l=t.extend({},s.defaultMappedFields,n.fields),r=e.cloneNode(!0),a=[];r.classList.add("json-parent");var o=r.querySelectorAll(".json-parent>li");r.classList.remove("json-parent");for(var c=0;c<o.length;c++){for(var h=o[c],d=h.querySelector("a"),u=h.querySelector("ul"),p={},m=d?d.childNodes:h.childNodes,v=Object.keys(m),I=0;I<m.length;I++)m[Number(v[I])].hasChildNodes()||(p[l.text]=m[Number(v[I])].textContent);var y=g(h);y.id?(p[l.id]=y.id,delete y.id):p[l.id]=w(),Object.keys(y).length&&(p[l.htmlAttributes]=y),d&&(y=g(d),Object.keys(y).length&&(p[l.urlAttributes]=y)),u&&(p[l.child]=f(u,i)),a.push(p)}return a}function v(e){for(var i={typeof:null,item:null},s=0;s<e.length;s++)if(!t.isNullOrUndefined(e[s]))return i={typeof:typeof e[s],item:e[s]};return i}function I(e,i){var s={};t.merge(s,i),s.class&&(t.addClass([e],s.class.split(" ")),delete s.class),t.attributes(e,s)}function g(e){for(var t={},i=e.attributes,s=0;s<i.length;s++)t[i[s].nodeName]=i[s].nodeValue;return t}function y(i,l,r,a,o,c){e.cssClass=L(D.moduleName);for(var h,d=i("ul",{className:e.cssClass.ul,attrs:{role:"presentation"}}),u=t.extend({},D,o),p=t.extend({},s.defaultMappedFields,a),m=t.compile(l),f=[],v=w(),I=0;I<r.length;I++){var g=n(r[I],p),y=r[I],b=y.isHeader;if(h="string"==typeof r[I]||"number"==typeof r[I]?y:g[p.value],u.itemCreating&&"function"==typeof u.itemCreating){C={dataSource:r,curData:y,text:h,options:u,fields:p};u.itemCreating(C)}u.itemCreating&&"function"==typeof u.itemCreating&&(g=n(r[I],p),h="string"==typeof r[I]||"number"==typeof r[I]?y:g[p.value]);var S=i("li",{id:v+"-"+I,className:b?e.cssClass.group:e.cssClass.li,attrs:{role:"presentation"}});if(b)"string"==typeof r[I]||"number"==typeof r[I]?S.innerText=y:S.innerText=g[p.text];else{var x=b?u.groupTemplateID:u.templateID;b?t.append(m(y,c,"headerTemplate",x,!!u.isStringTemplate),S):t.append(m(y,c,"template",x,!!u.isStringTemplate),S),S.setAttribute("data-value",t.isNullOrUndefined(h)?"null":h),S.setAttribute("role","option")}if(u.itemCreated&&"function"==typeof u.itemCreated){var C={dataSource:r,curData:y,text:h,item:S,options:u,fields:p};u.itemCreated(C)}f.push(S)}return t.append(f,d),d}function b(e,i,n,l,r,a){for(var o=t.compile(e),c=t.extend({},s.defaultMappedFields,n),h=t.extend({},D,r),d=c.groupBy,u=0,p=l;u<p.length;u++){var m=p[u],f={};f[d]=m.textContent,m.innerHTML="",t.append(o(f,a,"groupTemplate",h.groupTemplateID,!!h.isStringTemplate),m)}return l}function w(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}function S(i,s,n,l,r,a,o){var h=s[n.child]||[],d=s[n.hasChildren];if(h.length&&(d=!0,a.classList.add(e.cssClass.hasChild),r.processSubChild)){var u=c(i,h,r,++o);a.appendChild(u)}r.expandCollapse&&d&&!r.template&&(a.firstElementChild.classList.add(e.cssClass.iconWrapper),("Left"===r.expandIconPosition?t.prepend:t.append)([i("div",{className:"e-icons "+r.expandIconClass})],a.querySelector("."+e.cssClass.textContent)))}function x(i,s,n,l,r,a,o,c,h,d){var u,p=t.extend({},D,d),m=t.extend({},k,p.ariaAttributes),f=s,v=s;"string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s&&(u=s,f="boolean"==typeof n[l.text]||"number"==typeof n[l.text]?n[l.text]:n[l.text]||"",v=n[l.value]);var g;g=t.isNullOrUndefined(u)||t.isNullOrUndefined(n[l.id])||""===n[l.id]?c+"-"+h:c;var y=i("li",{className:(!0===o?e.cssClass.group:e.cssClass.li)+" "+(t.isNullOrUndefined(r)?"":r),id:g,attrs:""!==m.groupItemRole&&""!==m.itemRole?{role:!0===o?m.groupItemRole:m.itemRole}:{}});return u&&n.hasOwnProperty(l.enabled)&&"false"===n[l.enabled].toString()&&y.classList.add(e.cssClass.disabled),o?y.innerText=f:(y.setAttribute("data-value",t.isNullOrUndefined(v)?"null":v),y.setAttribute("role","option"),u&&n.hasOwnProperty(l.htmlAttributes)&&n[l.htmlAttributes]&&I(y,n[l.htmlAttributes]),a.length&&!p.itemNavigable&&t.append(a,y),u&&(n[l.url]||n[l.urlAttributes]&&n[l.urlAttributes].href)?y.appendChild(C(i,u,l,f,a,p.itemNavigable)):(a.length&&p.itemNavigable&&t.append(a,y),y.appendChild(document.createTextNode(f)))),y}function L(e){return{li:"e-"+e+"-item",ul:"e-"+e+"-parent e-ul",group:"e-"+e+"-group-item",icon:"e-"+e+"-icon",text:"e-"+e+"-text",check:"e-"+e+"-check",checked:"e-checked",selected:"e-selected",expanded:"e-expanded",textContent:"e-text-content",hasChild:"e-has-child",level:"e-level",url:"e-"+e+"-url",collapsible:"e-icon-collapsible",disabled:"e-disabled",image:"e-"+e+"-img",iconWrapper:"e-icon-wrapper",anchorWrap:"e-anchor-wrap",navigable:"e-navigable"}}function C(i,s,l,r,a,o){var c=n(s,l),h={href:c[l.url]};c.hasOwnProperty(l.urlAttributes)&&c[l.urlAttributes]&&(t.merge(h,c[l.urlAttributes]),h.href=c[l.url]?c[l.url]:c[l.urlAttributes].href);var d;if(o){d=i("a",{className:e.cssClass.text+" "+e.cssClass.url});var u=i("div",{className:e.cssClass.anchorWrap});a&&a.length&&t.append(a,u),u.appendChild(document.createTextNode(r)),t.append([u],d)}else d=i("a",{className:e.cssClass.text+" "+e.cssClass.url,innerHTML:r});return I(d,h),d}function V(i,s,n,l,r,a,o){var c,h,d,u=t.extend({},D,a),p=t.extend({},k,u.ariaAttributes),m=s;"string"!=typeof s&&"number"!=typeof s&&(d=s,m=n[l.text]||"",c=t.isNullOrUndefined(n._id)?n[l.id]:n._id,h=!(!s.hasOwnProperty("isHeader")||!s.isHeader)),a&&a.enableHtmlSanitizer&&(m=m);var f=i("li",{className:(!0===h?e.cssClass.group:e.cssClass.li)+" "+(t.isNullOrUndefined(r)?"":r),attrs:""!==p.groupItemRole&&""!==p.itemRole?{role:!0===h?p.groupItemRole:p.itemRole}:{}});!0==!t.isNullOrUndefined(c)?f.setAttribute("data-uid",c):f.setAttribute("data-uid",w());if(a&&a.removeBlazorID&&"object"==typeof s&&s.hasOwnProperty("BlazId")&&delete s.BlazId,h&&a&&a.groupTemplate){v=t.compile(a.groupTemplate);t.append(v(s,o,"groupTemplate",u.groupTemplateID,!!u.isStringTemplate),f)}else if(!h&&a&&a.template){var v=t.compile(a.template);t.append(v(s,o,"template",u.templateID,!!u.isStringTemplate),f)}else{var I=i("div",{className:e.cssClass.textContent,attrs:""!==p.wrapperRole?{role:p.wrapperRole}:{}});if(d&&(n[l.url]||n[l.urlAttributes]&&n[l.urlAttributes].href))I.appendChild(C(i,d,l,m,null,u.itemNavigable));else{var g=i("span",{className:e.cssClass.text,attrs:""!==p.itemText?{role:p.itemText}:{}});a&&a.enableHtmlSanitizer?g.innerText=m:g.innerHTML=m,I.appendChild(g)}f.appendChild(I)}return f}function E(i,s,n,l){var r=t.extend({},D,l),a=t.extend({},k,r.ariaAttributes);e.cssClass=L(r.moduleName);var o=i("ul",{className:e.cssClass.ul+" "+(t.isNullOrUndefined(n)?"":n),attrs:""!==a.listRole?{role:a.listRole}:{}});return t.append(s,o),o}function O(i,s,n,l){var r=t.extend({},D,l);return e.cssClass=L(r.moduleName),("Left"===r.expandIconPosition?t.prepend:t.append)([i("div",{className:"e-icons "+r.expandIconClass+" "+(t.isNullOrUndefined(n)?"":n)})],s.querySelector("."+e.cssClass.textContent)),s}s.defaultMappedFields={id:"id",text:"text",url:"url",value:"value",isChecked:"isChecked",enabled:"enabled",expanded:"expanded",selected:"selected",iconCss:"iconCss",child:"child",isVisible:"isVisible",hasChildren:"hasChildren",tooltip:"tooltip",htmlAttributes:"htmlAttributes",urlAttributes:"urlAttributes",imageAttributes:"imageAttributes",imageUrl:"imageUrl",groupBy:null};var k={level:1,listRole:"presentation",itemRole:"presentation",groupItemRole:"group",itemText:"list-item",wrapperRole:"presentation"},D={showCheckBox:!1,showIcon:!1,enableHtmlSanitizer:!1,expandCollapse:!1,fields:s.defaultMappedFields,ariaAttributes:k,listClass:"",itemClass:"",processSubChild:!1,sortOrder:"None",template:null,groupTemplate:null,headerTemplate:null,expandIconClass:"e-icon-collapsible",moduleName:"list",expandIconPosition:"Right",itemNavigable:!1};s.createList=l,s.createListFromArray=r,s.createListItemFromArray=a,s.createListItemFromJson=o,s.createListFromJson=c,s.getSiblingLI=h,s.indexOf=d,s.groupDataSource=u,s.addSorting=p,s.getDataSource=m,s.createJsonFromElement=f,s.renderContentTemplate=y,s.renderGroupTemplate=b,s.generateId=w,s.generateUL=E,s.generateIcon=O}(e.ListBase||(e.ListBase={}));var r=function(){var e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(t,i)};return function(t,i){function s(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(s.prototype=i.prototype,new s)}}(),a=function(e,t,i,s){var n,l=arguments.length,r=l<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(l<3?n(r):l>3?n(t,i,r):n(t,i))||r);return l>3&&r&&Object.defineProperty(t,i,r),r},o={None:[],SlideLeft:["SlideRightOut","SlideLeftOut","SlideLeftIn","SlideRightIn"],SlideDown:["SlideTopOut","SlideBottomOut","SlideBottomIn","SlideTopIn"],Zoom:["FadeOut","FadeZoomOut","FadeZoomIn","FadeIn"],Fade:["FadeOut","FadeOut","FadeIn","FadeIn"]},c={None:[],SlideLeft:["SlideLeftOut","SlideRightOut","SlideRightIn","SlideLeftIn"],SlideDown:["SlideBottomOut","SlideTopOut","SlideTopIn","SlideBottomIn"],Zoom:["FadeZoomOut","FadeOut","FadeIn","FadeZoomIn"],Fade:["FadeOut","FadeOut","FadeIn","FadeIn"]},h={root:"e-listview",hover:"e-hover",selected:"e-active",focused:"e-focused",parentItem:"e-list-parent",listItem:"e-list-item",listIcon:"e-list-icon",textContent:"e-text-content",listItemText:"e-list-text",groupListItem:"e-list-group-item",hasChild:"e-has-child",view:"e-view",header:"e-list-header",headerText:"e-headertext",headerTemplateText:"e-headertemplate-text",text:"e-text",disable:"e-disabled",content:"e-content",icon:"e-icons",backIcon:"e-icon-back",checkboxWrapper:"e-checkbox-wrapper",checkbox:"e-checkbox",checked:"e-check",checklist:"e-checklist",checkboxIcon:"e-frame",checkboxRight:"e-checkbox-right",checkboxLeft:"e-checkbox-left",listviewCheckbox:"e-listview-checkbox",itemCheckList:"e-checklist",virtualElementContainer:"e-list-virtualcontainer"},d=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return r(i,e),a([t.Property("id")],i.prototype,"id",void 0),a([t.Property("text")],i.prototype,"text",void 0),a([t.Property("isChecked")],i.prototype,"isChecked",void 0),a([t.Property("isVisible")],i.prototype,"isVisible",void 0),a([t.Property("enabled")],i.prototype,"enabled",void 0),a([t.Property("iconCss")],i.prototype,"iconCss",void 0),a([t.Property("child")],i.prototype,"child",void 0),a([t.Property("tooltip")],i.prototype,"tooltip",void 0),a([t.Property("groupBy")],i.prototype,"groupBy",void 0),a([t.Property("text")],i.prototype,"sortBy",void 0),a([t.Property("htmlAttributes")],i.prototype,"htmlAttributes",void 0),a([t.Property("tableName")],i.prototype,"tableName",void 0),i}(t.ChildProperty),u=function(l){function u(e,t){var i=l.call(this,e,t)||this;return i.itemReRender=!1,i.previousSelectedItems=[],i.hiddenItems=[],i.enabledItems=[],i.disabledItems=[],i}return r(u,l),u.prototype.onPropertyChanged=function(e,i){for(var s=0,n=Object.keys(e);s<n.length;s++)switch(n[s]){case"htmlAttributes":this.setHTMLAttribute();break;case"cssClass":this.setCSSClass(i.cssClass);break;case"enable":this.setEnable();break;case"width":case"height":this.setSize();break;case"enableRtl":this.setEnableRTL();break;case"fields":this.listBaseOption.fields=this.fields.properties,this.enableVirtualization?this.isServerRendered&&t.isBlazor()||this.virtualizationModule.reRenderUiVirtualization():(t.isBlazor()&&this.isServerRendered&&!this.enableVirtualization&&(this.itemReRender=!0),this.reRender());break;case"headerTitle":this.curDSLevel.length||this.header(this.headerTitle,!1,"header");break;case"query":this.enableVirtualization?t.isBlazor()&&this.isServerRendered||this.virtualizationModule.reRenderUiVirtualization():(t.isBlazor()&&this.isServerRendered&&!this.enableVirtualization&&(this.itemReRender=!0),this.reRender());break;case"showHeader":this.header(this.headerTitle,!1,"header");break;case"enableVirtualization":t.isNullOrUndefined(this.contentContainer)||t.detach(this.contentContainer),this.refresh();break;case"showCheckBox":case"checkBoxPosition":t.isBlazor()&&this.isServerRendered||(this.enableVirtualization?this.virtualizationModule.reRenderUiVirtualization():this.setCheckbox());break;case"dataSource":this.enableVirtualization?this.isServerRendered&&t.isBlazor()||this.virtualizationModule.reRenderUiVirtualization():(t.isBlazor()&&this.isServerRendered&&!this.enableVirtualization&&(this.itemReRender=!0),this.reRender());break;case"sortOrder":case"template":this.enableVirtualization||this.isServerRendered&&t.isBlazor()||this.refresh();break;case"showIcon":t.isBlazor()&&this.isServerRendered?this.interopAdaptor.invokeMethodAsync("ItemSorting"):this.enableVirtualization?this.virtualizationModule.reRenderUiVirtualization():(this.listBaseOption.showIcon=this.showIcon,this.curViewDS=this.getSubDS(),this.resetCurrentList())}},u.prototype.setHTMLAttribute=function(){Object.keys(this.htmlAttributes).length&&t.attributes(this.element,this.htmlAttributes)},u.prototype.setCSSClass=function(e){this.cssClass&&t.addClass([this.element],this.cssClass.split(" ").filter(function(e){return e})),e&&t.removeClass([this.element],e.split(" ").filter(function(e){return e}))},u.prototype.setSize=function(){this.element.style.height=t.formatUnit(this.height),this.element.style.width=t.formatUnit(this.width),this.isWindow=!this.element.clientHeight},u.prototype.setEnable=function(){this.enableElement(this.element,this.enable)},u.prototype.setEnableRTL=function(){this.enableRtl?this.element.classList.add("e-rtl"):this.element.classList.remove("e-rtl")},u.prototype.enableElement=function(e,t){t?e.classList.remove(h.disable):e.classList.add(h.disable)},u.prototype.header=function(e,i,s){if(t.isBlazor()&&this.isServerRendered){var n={HeaderText:e,BackButton:i};this.interopAdaptor.invokeMethodAsync("HeaderTitle",n)}else if(void 0===this.headerEle&&this.showHeader){this.enableHtmlSanitizer&&this.setProperties({headerTitle:t.SanitizeHtmlHelper.sanitize(this.headerTitle)},!0),this.headerEle=this.createElement("div",{className:h.header});var l=this.createElement("span",{className:h.headerText,innerHTML:this.headerTitle}),r=this.createElement("div",{className:h.text,innerHTML:l.outerHTML}),a=this.createElement("div",{className:h.icon+" "+h.backIcon+" e-but-back",attrs:{style:"display:none;"}});if(this.headerEle.appendChild(a),this.headerEle.appendChild(r),this.headerTemplate){var o=t.compile(this.headerTemplate),c=this.createElement("div",{className:h.headerTemplateText}),d=o({},this,s,this.LISTVIEW_HEADERTEMPLATE_ID,null,null,this.headerEle);d&&t.append(d,c),t.append([c],this.headerEle),this.updateBlazorTemplates(!1,!0,!0),this.isReact&&this.renderReactTemplates()}this.headerTemplate&&this.headerTitle&&r.classList.add("header"),this.element.classList.add("e-has-header"),t.prepend([this.headerEle],this.element)}else if(this.headerEle)if(this.showHeader){this.headerEle.style.display="";var r=this.headerEle.querySelector("."+h.headerText),a=this.headerEle.querySelector("."+h.backIcon);this.enableHtmlSanitizer&&(e=t.SanitizeHtmlHelper.sanitize(e)),r.innerHTML=e,this.headerTemplate&&i&&(r.parentElement.classList.remove("header"),this.headerEle.querySelector("."+h.headerTemplateText).classList.add("nested-header")),this.headerTemplate&&!i&&(r.parentElement.classList.add("header"),this.headerEle.querySelector("."+h.headerTemplateText).classList.remove("nested-header"),this.headerEle.querySelector("."+h.headerTemplateText).classList.add("header")),a.style.display=!0===i?"":"none"}else this.headerEle.style.display="none"},u.prototype.switchView=function(e,t,i){var s=this;if(e&&t){var n=e.style.position,l="hidden"!==this.element.style.overflow?this.element.style.overflow:"";e.style.position="absolute",e.classList.add("e-view");var r=void 0,a=this.animation.duration;if(this.animation.effect)r=this.enableRtl?c[this.animation.effect]:o[this.animation.effect];else{r=o.SlideLeft,i=this.enableRtl,a=0}this.element.style.overflow="hidden",this.aniObj.animate(e,{name:!0===i?r[0]:r[1],duration:a,timingFunction:this.animation.easing,end:function(t){e.style.display="none",s.element.style.overflow=l,e.style.position=n,e.classList.remove("e-view")}}),t.style.display="",this.aniObj.animate(t,{name:!0===i?r[2]:r[3],duration:a,timingFunction:this.animation.easing,end:function(){s.trigger("actionComplete")}}),this.curUL=t}},u.prototype.preRender=function(){if(this.template)try{document.querySelectorAll(this.template).length&&(this.template=document.querySelector(this.template).innerHTML.trim())}catch(e){t.compile(this.template),this.isReact&&this.renderReactTemplates()}this.listBaseOption={template:this.template,headerTemplate:this.headerTemplate,groupTemplate:this.groupTemplate,expandCollapse:!0,listClass:"",ariaAttributes:{itemRole:"option",listRole:"presentation",itemText:"",groupItemRole:"group",wrapperRole:"presentation"},fields:this.fields.properties,sortOrder:this.sortOrder,showIcon:this.showIcon,itemCreated:this.renderCheckbox.bind(this),templateID:this.element.id+"Template",groupTemplateID:this.element.id+"GroupTemplate",enableHtmlSanitizer:this.enableHtmlSanitizer,removeBlazorID:!0},this.initialization()},u.prototype.updateLiElementHeight=function(){var e=this.element.querySelector("."+h.virtualElementContainer);e.children[0]&&(this.liElementHeight=e.children[0].getBoundingClientRect().height,this.interopAdaptor.invokeMethodAsync("LiElementHeight",this.liElementHeight))},u.prototype.initialization=function(){if(t.isBlazor()&&this.isServerRendered&&this.enableVirtualization){var e=this.element.querySelector("."+h.virtualElementContainer);null!==e&&(""===this.height&&(this.interopAdaptor.invokeMethodAsync("SetComponentHeight",window.innerHeight),this.isWindow=!0,e.scrollIntoView()),-1!==this.height.toString().indexOf("%")&&this.interopAdaptor.invokeMethodAsync("SetContainerHeight",this.element.getBoundingClientRect().height.toString()),e.children[0]&&(this.liElementHeight=e.children[0].getBoundingClientRect().height,this.interopAdaptor.invokeMethodAsync("LiElementHeight",this.liElementHeight)))}this.curDSLevel=[],this.animateOptions={},this.curViewDS=[],this.currentLiElements=[],this.isNestedList=!1,this.selectedData=[],this.selectedId=[],this.LISTVIEW_TEMPLATE_ID=this.element.id+"Template",this.LISTVIEW_GROUPTEMPLATE_ID=this.element.id+"GroupTemplate",this.LISTVIEW_HEADERTEMPLATE_ID=this.element.id+"HeaderTemplate",this.aniObj=new t.Animation(this.animateOptions),this.removeElement(this.curUL),this.removeElement(this.ulElement),this.removeElement(this.headerEle),this.removeElement(this.contentContainer),this.isReact&&this.clearTemplate(),this.curUL=this.ulElement=this.liCollection=this.headerEle=this.contentContainer=void 0},u.prototype.renderCheckbox=function(e){if(e.item.classList.contains(h.hasChild)&&(this.isNestedList=!0),this.showCheckBox&&this.isValidLI(e.item)){var t=void 0;(t=s.createCheckBox(this.createElement,!1,{checked:!1,enableRtl:this.enableRtl,cssClass:h.listviewCheckbox})).setAttribute("role","checkbox");var i=t.querySelector("."+h.checkboxIcon);e.item.classList.add(h.itemCheckList),e.item.firstElementChild.classList.add(h.checkbox),"string"!=typeof this.dataSource[0]&&"number"!=typeof this.dataSource[0]?n(e.curData,this.listBaseOption.fields)[this.listBaseOption.fields.isChecked]&&this.checkInternally(e,t):"string"!=typeof this.dataSource[0]&&"number"!=typeof this.dataSource[0]||-1===this.selectedData.indexOf(e.text)||this.checkInternally(e,t),t.setAttribute("aria-checked",i.classList.contains(h.checked)?"true":"false"),"Left"===this.checkBoxPosition?(t.classList.add(h.checkboxLeft),e.item.firstElementChild.classList.add(h.checkboxLeft),e.item.firstElementChild.insertBefore(t,e.item.firstElementChild.childNodes[0])):(t.classList.add(h.checkboxRight),e.item.firstElementChild.classList.add(h.checkboxRight),e.item.firstElementChild.appendChild(t)),this.currentLiElements.push(e.item),"Left"===this.checkBoxPosition?this.virtualCheckBox=e.item.firstElementChild.children[0]:this.virtualCheckBox=e.item.firstElementChild.lastElementChild}},u.prototype.checkInternally=function(e,t){e.item.classList.add(h.selected),e.item.setAttribute("aria-selected","true"),t.querySelector("."+h.checkboxIcon).classList.add(h.checked),t.setAttribute("aria-checked","true")},u.prototype.checkItem=function(e){this.toggleCheckBase(e,!0)},u.prototype.toggleCheckBase=function(e,i){if(this.showCheckBox){var s=e;if(e instanceof Object&&e.constructor!==HTMLLIElement&&(s=this.getLiFromObjOrElement(e)),!t.isNullOrUndefined(s)){var n=s.querySelector("."+h.checkboxIcon);!0===i?s.classList.add(h.selected):s.classList.remove(h.selected),s.setAttribute("aria-selected",i?"true":"false"),!0===i?n.classList.add(h.checked):n.classList.remove(h.checked),n.parentElement.setAttribute("aria-checked",i?"true":"false")}this.setSelectedItemData(s)}},u.prototype.uncheckItem=function(e){this.toggleCheckBase(e,!1)},u.prototype.checkAllItems=function(){this.toggleAllCheckBase(!0)},u.prototype.uncheckAllItems=function(){this.toggleAllCheckBase(!1)},u.prototype.toggleAllCheckBase=function(e){if(this.showCheckBox){for(var t=0;t<this.liCollection.length;t++){var i=this.liCollection[t].querySelector("."+h.checkboxIcon);i&&(e?i.classList.contains(h.checked)||this.checkItem(this.liCollection[t]):i.classList.contains(h.checked)&&this.uncheckItem(this.liCollection[t]))}this.enableVirtualization&&this.virtualizationModule.checkedItem(e)}},u.prototype.setCheckbox=function(){if(this.showCheckBox)for(var e=Array.prototype.slice.call(this.element.querySelectorAll("."+h.listItem)),t={item:void 0,curData:void 0,dataSource:void 0,fields:void 0,options:void 0,text:""},i=0;i<e.length;i++){var s=e[i];t.item=s,t.curData=this.getItemData(s),s.querySelector("."+h.checkboxWrapper)&&this.removeElement(s.querySelector("."+h.checkboxWrapper)),this.renderCheckbox(t),t.item.classList.contains(h.selected)&&this.checkInternally(t,t.item.querySelector("."+h.checkboxWrapper))}else{for(var e=Array.prototype.slice.call(this.element.querySelectorAll("."+h.itemCheckList)),i=0;i<e.length;i++)(s=e[i]).classList.remove(h.selected),s.firstElementChild.classList.remove(h.checkbox),this.removeElement(s.querySelector("."+h.checkboxWrapper));this.selectedItems&&this.selectedItems.item.classList.add(h.selected)}},u.prototype.refreshItemHeight=function(){this.virtualizationModule&&this.virtualizationModule.refreshItemHeight()},u.prototype.clickHandler=function(e){var i,s=e.target,n=s.classList;if(n.contains(h.backIcon)||n.contains(h.headerText))this.showCheckBox&&this.curDSLevel[this.curDSLevel.length-1]&&this.uncheckAllItems(),this.back();else{var l=t.closest(s.parentNode,"."+h.listItem);if(null===l&&(l=s),this.removeFocus(),this.enable&&this.showCheckBox&&this.isValidLI(l))if(e.target.classList.contains(h.checkboxIcon)){if(l.classList.add(h.focused),t.isNullOrUndefined(l.querySelector("."+h.checked))){var r={curData:void 0,dataSource:void 0,fields:void 0,options:void 0,text:void 0,item:l};this.checkInternally(r,r.item.querySelector("."+h.checkboxWrapper))}else this.uncheckItem(l),l.classList.add(h.focused);if(this.enableVirtualization&&this.virtualizationModule.setCheckboxLI(l,e),e){var a=this.selectEventData(l,e),o=l.querySelector("."+h.checkboxIcon);t.merge(a,{isChecked:o.classList.contains(h.checked)}),this.trigger("select",a)}}else l.classList.contains(h.hasChild)?(this.removeHover(),this.removeSelect(),this.removeSelect(l),this.setSelectLI(l,e),l.classList.remove(h.selected)):this.setCheckboxLI(l,e);else this.setSelectLI(l,e);i=t.closest(e.target,"li"),t.isNullOrUndefined(i)||i.classList.contains("e-has-child")&&!e.target.parentElement.classList.contains("e-listview-checkbox")&&i.classList.add(h.disable)}if(t.isBlazor()&&this.isServerRendered&&this.enableVirtualization){var c=this.element.querySelector("."+h.virtualElementContainer);if(c.querySelector(".e-active")){var d=c.querySelectorAll(".e-active");if(this.showCheckBox)for(var u=0;u<d.length;u++)this.previousSelectedItems.includes(d[u].getAttribute("data-uid"))||this.previousSelectedItems.push(d[u].getAttribute("data-uid"));else this.previousSelectedItems[0]=c.querySelector(".e-active").getAttribute("data-uid")}if(c.querySelector(".e-focused")){var p=c.querySelector(".e-focused");if(!p.classList.contains("e-active")){var m=p.getAttribute("data-uid");if(this.previousSelectedItems.includes(m)){var f=this.previousSelectedItems.slice(0,this.previousSelectedItems.indexOf(m)),v=this.previousSelectedItems.slice(this.previousSelectedItems.indexOf(m)+1,this.previousSelectedItems.length);this.previousSelectedItems=f.concat(v)}}}}},u.prototype.removeElement=function(e){return e&&e.parentNode&&e.parentNode.removeChild(e)},u.prototype.hoverHandler=function(e){var i=t.closest(e.target.parentNode,"."+h.listItem);this.setHoverLI(i)},u.prototype.leaveHandler=function(e){this.removeHover()},u.prototype.homeKeyHandler=function(e,t){if(Object.keys(this.dataSource).length&&this.curUL){this.selectedItems&&this.selectedItems.item.setAttribute("aria-selected","false");var i=this.curUL.querySelectorAll("."+h.listItem),s=this.curUL.querySelector("."+h.focused)||this.curUL.querySelector("."+h.selected);s&&(s.classList.remove(h.focused),this.showCheckBox||s.classList.remove(h.selected));var n=t?i.length-1:0;i[n].classList.contains(h.hasChild)||this.showCheckBox?i[n].classList.add(h.focused):this.setSelectLI(i[n],e),i[n]?this.element.setAttribute("aria-activedescendant",i[n].id.toString()):this.element.removeAttribute("aria-activedescendant")}},u.prototype.onArrowKeyDown=function(i,s){var n,l;return!t.isNullOrUndefined(this.curUL.querySelector("."+h.hasChild))||this.showCheckBox?(l=this.curUL.querySelector("."+h.focused)||this.curUL.querySelector("."+h.selected),n=e.ListBase.getSiblingLI(this.curUL.querySelectorAll("."+h.listItem),l,s),t.isNullOrUndefined(n)||(l&&(l.classList.remove(h.focused),this.showCheckBox||l.classList.remove(h.selected)),n.classList.contains(h.hasChild)||this.showCheckBox?n.classList.add(h.focused):this.setSelectLI(n,i))):(l=this.curUL.querySelector("."+h.selected),n=e.ListBase.getSiblingLI(this.curUL.querySelectorAll("."+h.listItem),l,s),this.setSelectLI(n,i)),n?this.element.setAttribute("aria-activedescendant",n.id.toString()):this.element.removeAttribute("aria-activedescendant"),n},u.prototype.arrowKeyHandler=function(e,t){var i=this;if(e.preventDefault(),Object.keys(this.dataSource).length&&this.curUL){var s=this.onArrowKeyDown(e,t),n=this.element.getBoundingClientRect().top,l=this.element.getBoundingClientRect().height,r=this.curUL.querySelector("."+h.listItem).getBoundingClientRect(),a=void 0,o=void 0;if(this.fields.groupBy&&(o=this.curUL.querySelector("."+h.groupListItem).getBoundingClientRect()),s){var c=s.getBoundingClientRect().top,d=s.getBoundingClientRect().height;if(t)(a=this.isWindow?c:c-n)<0&&(!0===this.isWindow?window.scroll(0,pageYOffset+a):this.element.scrollTop=this.element.scrollTop+a);else{var u=this.isWindow?window.innerHeight:l;(a=this.isWindow?c+d:c-n+d)>u&&(!0===this.isWindow?window.scroll(0,pageYOffset+(a-u)):this.element.scrollTop=this.element.scrollTop+(a-u))}}else if(this.enableVirtualization&&t&&this.virtualizationModule.uiFirstIndex)this.onUIScrolled=function(){i.onArrowKeyDown(e,t),i.onUIScrolled=void 0},a=this.virtualizationModule.listItemHeight,!0===this.isWindow?window.scroll(0,pageYOffset-a):this.element.scrollTop=this.element.scrollTop-a;else if(t)if(this.showHeader&&this.headerEle){var p=o?o.top:r.top,m=this.headerEle.getBoundingClientRect();a=m.top<0?m.height-p:0,!0===this.isWindow?window.scroll(0,pageYOffset-a):this.element.scrollTop=0}else this.fields.groupBy&&(a=this.isWindow?o.top<0?o.top:0:n-r.top+o.height,!0===this.isWindow?window.scroll(0,pageYOffset+a):this.element.scrollTop=this.element.scrollTop-a)}},u.prototype.enterKeyHandler=function(e){if(Object.keys(this.dataSource).length&&this.curUL){var i=!t.isNullOrUndefined(this.curUL.querySelector("."+h.hasChild)),s=this.curUL.querySelector("."+h.focused);i&&s&&(s.classList.remove(h.focused),this.showCheckBox&&(this.removeSelect(),this.removeSelect(s),this.removeHover()),this.setSelectLI(s,e))}},u.prototype.spaceKeyHandler=function(){if(this.enable&&this.showCheckBox&&Object.keys(this.dataSource).length&&this.curUL){var e=this.curUL.querySelector("."+h.focused);if(!t.isNullOrUndefined(e)&&t.isNullOrUndefined(e.querySelector("."+h.checked))){var i={curData:void 0,dataSource:void 0,fields:void 0,options:void 0,text:void 0,item:e};this.checkInternally(i,i.item.querySelector("."+h.checkboxWrapper))}else this.uncheckItem(e)}},u.prototype.keyActionHandler=function(e){switch(e.keyCode){case 36:this.homeKeyHandler(e);break;case 35:this.homeKeyHandler(e,!0);break;case 40:this.arrowKeyHandler(e);break;case 38:this.arrowKeyHandler(e,!0);break;case 13:this.enterKeyHandler(e);break;case 8:this.showCheckBox&&this.curDSLevel[this.curDSLevel.length-1]&&this.uncheckAllItems(),this.back();break;case 32:this.spaceKeyHandler()}},u.prototype.swipeActionHandler=function(e){"Right"===e.swipeDirection&&e.velocity>.5&&"touchend"===e.originalEvent.type&&(this.showCheckBox&&this.curDSLevel[this.curDSLevel.length-1]&&this.uncheckAllItems(),this.back())},u.prototype.focusout=function(){if(Object.keys(this.dataSource).length&&this.curUL){var e=this.curUL.querySelector("."+h.focused),t=this.curUL.querySelector("[aria-selected = true]");e&&(e.classList.remove(h.focused),t&&!this.showCheckBox&&t.classList.add(h.selected))}},u.prototype.wireEvents=function(){t.EventHandler.add(this.element,"keydown",this.keyActionHandler,this),t.EventHandler.add(this.element,"click",this.clickHandler,this),t.EventHandler.add(this.element,"mouseover",this.hoverHandler,this),t.EventHandler.add(this.element,"mouseout",this.leaveHandler,this),t.EventHandler.add(this.element,"focusout",this.focusout,this),this.touchModule=new t.Touch(this.element,{swipe:this.swipeActionHandler.bind(this)})},u.prototype.unWireEvents=function(){t.EventHandler.remove(this.element,"click",this.clickHandler),t.EventHandler.remove(this.element,"mouseover",this.hoverHandler),t.EventHandler.remove(this.element,"mouseout",this.leaveHandler),t.EventHandler.remove(this.element,"mouseover",this.hoverHandler),t.EventHandler.remove(this.element,"mouseout",this.leaveHandler),this.touchModule.destroy()},u.prototype.removeFocus=function(){for(var e=0,t=this.element.querySelectorAll("."+h.focused);e<t.length;e++)t[e].classList.remove(h.focused)},u.prototype.removeHover=function(){var e=this.element.querySelector("."+h.hover);e&&e.classList.remove(h.hover)},u.prototype.removeSelect=function(e){if(t.isNullOrUndefined(e))for(var i=0,s=this.element.querySelectorAll("."+h.selected);i<s.length;i++){var n=s[i];this.showCheckBox&&n.querySelector("."+h.checked)||(n.setAttribute("aria-selected","false"),n.classList.remove(h.selected))}else e.classList.remove(h.selected),e.setAttribute("aria-selected","false")},u.prototype.isValidLI=function(e){return e&&e.classList.contains(h.listItem)&&!e.classList.contains(h.groupListItem)&&!e.classList.contains(h.disable)},u.prototype.setCheckboxLI=function(e,i){if(this.isValidLI(e)&&this.enable&&this.showCheckBox){this.curUL.querySelector("."+h.focused)&&this.curUL.querySelector("."+h.focused).classList.remove(h.focused),e.classList.add(h.focused);var s=e.querySelector("."+h.checkboxWrapper),n=s.querySelector("."+h.checkboxIcon+"."+h.icon);this.removeHover(),n.classList.contains(h.checked)?(n.classList.remove(h.checked),e.classList.remove(h.selected),e.setAttribute("aria-selected","false")):(n.classList.add(h.checked),e.classList.add(h.selected),e.setAttribute("aria-selected","true")),s.setAttribute("aria-checked",n.classList.contains(h.checked)?"true":"false");var l=this.selectEventData(e,i);t.merge(l,{isChecked:n.classList.contains(h.checked)}),this.enableVirtualization&&this.virtualizationModule.setCheckboxLI(e,i),this.trigger("select",l),this.setSelectedItemData(e),this.renderSubList(e)}},u.prototype.selectEventData=function(e,i){var s,l=this.getItemData(e),r=n(l,this.listBaseOption.fields);s=!t.isNullOrUndefined(l)&&"string"==typeof this.dataSource[0]||"number"==typeof this.dataSource[0]?{item:e,text:e&&e.innerText.trim(),data:this.dataSource}:{item:e,text:r&&r[this.listBaseOption.fields.text],data:l};var a={};return t.merge(a,s),i&&t.merge(a,{isInteracted:!0,event:i,index:this.curUL&&Array.prototype.indexOf.call(this.curUL.children,e)}),a},u.prototype.setSelectedItemData=function(e){var i=this.getItemData(e),s=n(i,this.listBaseOption.fields);t.isNullOrUndefined(i)||"string"!=typeof this.dataSource[0]&&"number"!=typeof this.dataSource[0]?this.selectedItems={item:e,text:s&&s[this.listBaseOption.fields.text],data:i}:this.selectedItems={item:e,text:e&&e.innerText.trim(),data:this.dataSource}},u.prototype.setSelectLI=function(e,t){if(this.isValidLI(e)&&!e.classList.contains(h.selected)&&this.enable){this.showCheckBox||this.removeSelect(),e.classList.add(h.selected),e.setAttribute("aria-selected","true"),this.removeHover(),this.setSelectedItemData(e),this.enableVirtualization&&this.virtualizationModule.setSelectLI(e,t);var i=this.selectEventData(e,t);this.trigger("select",i),this.selectedLI=e,this.renderSubList(e)}},u.prototype.setHoverLI=function(e){if(this.isValidLI(e)&&!e.classList.contains(h.hover)&&this.enable){var i=this.element.querySelectorAll("."+h.hover);i&&i.length&&t.removeClass(i,h.hover),e.classList.contains(h.selected)&&!this.showCheckBox||e.classList.add(h.hover)}},u.prototype.getSubDS=function(){var e=this.curDSLevel;if(e.length){for(var t=this.localData,i=0,s=e;i<s.length;i++){var l=s[i],r={};r[this.fields.id]=l,this.curDSJSON=this.findItemFromDS(t,r);var a=n(this.curDSJSON,this.listBaseOption.fields);t=this.curDSJSON?a[this.fields.child]:t}return t}return this.localData},u.prototype.getItemData=function(e){var s,n=this.dataSource instanceof i.DataManager?this.localData:this.dataSource,l=this.getElementUID(e);return s=t.isNullOrUndefined(this.element.querySelector("."+h.hasChild))&&this.fields.groupBy?this.curViewDS:n,this.findItemFromDS(s,l)},u.prototype.findItemFromDS=function(e,i,s){var l,r=this;return e&&e.length&&i?e.some(function(a){var o=n(a,r.listBaseOption.fields);if(!i[r.fields.id]&&!i[r.fields.text]||i[r.fields.id]&&(!t.isNullOrUndefined(o[r.fields.id])&&o[r.fields.id].toString())!==i[r.fields.id].toString()||i[r.fields.text]&&o[r.fields.text]!==i[r.fields.text])if("object"!=typeof a&&-1!==e.indexOf(a))l=s?e:a;else if(!t.isNullOrUndefined(i[r.fields.id])&&t.isNullOrUndefined(o[r.fields.id])){var c=r.element.querySelector('[data-uid="'+i[r.fields.id]+'"]');c&&c.innerText.trim()===o[r.fields.text]&&(l=a)}else o.hasOwnProperty(r.fields.child)&&o[r.fields.child].length&&(l=r.findItemFromDS(o[r.fields.child],i,s));else l=s?e:a;return!!l}):l=e,l},u.prototype.getQuery=function(){var t=[],s=this.query?this.query:new i.Query;if(!this.query){for(var n=0,l=Object.keys(this.fields.properties);n<l.length;n++){var r=l[n];"tableName"!==r&&this.fields[r]&&this.fields[r]!==e.ListBase.defaultMappedFields[r]&&-1===t.indexOf(this.fields[r])&&t.push(this.fields[r])}s.select(t),this.fields.properties.hasOwnProperty("tableName")&&s.from(this.fields.tableName)}return s},u.prototype.setViewDataSource=function(t){void 0===t&&(t=this.localData),t&&this.fields.groupBy?"None"!==this.sortOrder?this.curViewDS=e.ListBase.groupDataSource(e.ListBase.getDataSource(t,e.ListBase.addSorting(this.sortOrder,this.fields.sortBy)),this.listBaseOption.fields,this.sortOrder):this.curViewDS=e.ListBase.groupDataSource(t,this.listBaseOption.fields,this.sortOrder):t&&"None"!==this.sortOrder?this.curViewDS=e.ListBase.getDataSource(t,e.ListBase.addSorting(this.sortOrder,this.fields.sortBy)):this.curViewDS=t},u.prototype.isInAnimation=function(){return this.curUL.classList.contains(".e-animate")},u.prototype.setLocalData=function(){var s=this;this.trigger("actionBegin");var n=this;if(this.dataSource instanceof i.DataManager)this.dataSource.executeQuery(this.getQuery()).then(function(e){s.isDestroyed||(s.localData=e.result,s.isServerRendered&&t.isBlazor()||(n.removeElement(n.contentContainer),s.isReact&&s.clearTemplate()),s.renderList(),s.trigger("actionComplete",e))}).catch(function(e){s.isDestroyed||s.trigger("actionFailure",e)});else if(this.dataSource&&this.dataSource.length)this.localData=this.dataSource,this.renderList(),this.trigger("actionComplete",{data:this.localData});else{var l=this.element.querySelector("ul");l&&(t.remove(l),this.setProperties({dataSource:e.ListBase.createJsonFromElement(l)},!0),this.localData=this.dataSource,this.renderList(),this.trigger("actionComplete",{data:this.localData}))}},u.prototype.reRender=function(){t.isBlazor()&&this.isServerRendered&&!this.enableVirtualization||(this.resetBlazorTemplates(),this.removeElement(this.headerEle),this.removeElement(this.ulElement),this.removeElement(this.contentContainer),this.isReact&&this.clearTemplate(),-1===Object.keys(window).indexOf("ejsInterop")&&(this.element.innerHTML=""),this.headerEle=this.ulElement=this.liCollection=void 0,this.header()),this.setLocalData()},u.prototype.resetCurrentList=function(){this.resetBlazorTemplates(),this.setViewDataSource(this.curViewDS),this.contentContainer.innerHTML="",this.createList(),this.renderIntoDom(this.curUL)},u.prototype.setAttributes=function(e){for(var t=0;t<e.length;t++){var i=e[t];i.classList.contains("e-list-item")&&(i.setAttribute("id",this.element.id+"_"+i.getAttribute("data-uid")),i.setAttribute("aria-selected","false"),i.setAttribute("tabindex","-1"))}},u.prototype.createList=function(){this.currentLiElements=[],this.isNestedList=!1,this.ulElement=this.curUL=e.ListBase.createList(this.createElement,this.curViewDS,this.listBaseOption,null,this),this.liCollection=this.curUL.querySelectorAll("."+h.listItem),this.setAttributes(this.liCollection),this.updateBlazorTemplates(!0)},u.prototype.resetBlazorTemplates=function(){var e=t.blazorTemplates;this.template&&(e[this.LISTVIEW_TEMPLATE_ID]=[],t.resetBlazorTemplate(this.LISTVIEW_TEMPLATE_ID,"Template")),this.groupTemplate&&(e[this.LISTVIEW_GROUPTEMPLATE_ID]=[],t.resetBlazorTemplate(this.LISTVIEW_GROUPTEMPLATE_ID,"GroupTemplate")),this.headerTemplate&&t.resetBlazorTemplate(this.LISTVIEW_HEADERTEMPLATE_ID,"HeaderTemplate")},u.prototype.updateBlazorTemplates=function(e,i,s){void 0===e&&(e=!1),void 0===i&&(i=!1),void 0===s&&(s=!1),this.template&&e&&!this.enableVirtualization&&t.updateBlazorTemplate(this.LISTVIEW_TEMPLATE_ID,"Template",this,s),this.groupTemplate&&e&&!this.enableVirtualization&&t.updateBlazorTemplate(this.LISTVIEW_GROUPTEMPLATE_ID,"GroupTemplate",this,s),this.headerTemplate&&i&&t.updateBlazorTemplate(this.LISTVIEW_HEADERTEMPLATE_ID,"HeaderTemplate",this,s)},u.prototype.exceptionEvent=function(e){this.trigger("actionFailure",e)},u.prototype.UpdateCurrentUL=function(){this.ulElement=this.curUL=this.element.querySelector("."+h.parentItem),this.curUL&&(this.liCollection=this.curUL.querySelectorAll("."+h.listItem))},u.prototype.removeActiveClass=function(){var e=this;setTimeout(function(){for(var t=e.element.querySelector("."+h.virtualElementContainer),i=0;i<t.childElementCount;i++){var s=t.children[i],n=void 0,l=void 0;if(e.showCheckBox)if(e.previousSelectedItems.length>0)for(var r=0;r<e.previousSelectedItems.length;r++)s.getAttribute("data-uid")===e.previousSelectedItems[r]?(s.classList.add("e-active"),s.setAttribute("aria-selected","true"),s.querySelector(".e-frame.e-icons")&&s.querySelector(".e-frame.e-icons").classList.add("e-check"),n=i):n!==i&&(s.classList.remove("e-active"),s.removeAttribute("aria-selected"),s.querySelector(".e-check")&&s.querySelector(".e-check").classList.remove("e-check"));else s.classList.remove("e-active"),s.removeAttribute("aria-selected"),s.querySelector(".e-check")&&s.querySelector(".e-check").classList.remove("e-check");else s.getAttribute("data-uid")===e.previousSelectedItems[0]?(s.classList.add("e-active"),s.setAttribute("aria-selected","true")):(s.classList.remove("e-active"),s.removeAttribute("aria-selected"));if(e.hiddenItems.length>0)for(var a=0;a<e.hiddenItems.length;a++)s.getAttribute("data-uid")===e.previousSelectedItems[a]?(s.style.display="none",l=i):l!==i&&(s.style.display=null);if(e.enabledItems.length>0)for(var o=0;o<e.enabledItems.length;o++)s.getAttribute("data-uid")===e.enabledItems[o]&&s.classList.contains("e-disabled")&&s.classList.remove("e-disabled");if(e.disabledItems.length>0)for(var c=0;c<e.disabledItems.length;c++)s.getAttribute("data-uid")===e.disabledItems[c]&&(s.classList.contains("e-disabled")||s.classList.add("e-disabled"))}},200)},u.prototype.renderingNestedList=function(){var e=t.closest(this.liElement.parentNode,"."+h.parentItem),i=this.element.id,s=document.getElementById(i),n=s.getElementsByTagName("UL")[s.getElementsByTagName("UL").length-1];this.switchView(e,n),this.liElement=null},u.prototype.renderSubList=function(i){this.liElement=i;var s=i.getAttribute("data-uid");if(i.classList.contains(h.hasChild)&&s){var l=t.closest(i.parentNode,"."+h.parentItem),r=this.element.querySelector("[pid='"+s+"']");if(this.curDSLevel.push(s),this.setViewDataSource(this.getSubDS()),!r){var a=this.curViewDS;if(t.isBlazor()&&this.isServerRendered)this.interopAdaptor.invokeMethodAsync("ListChildDataSource",a);else{r=e.ListBase.createListFromJson(this.createElement,a,this.listBaseOption,this.curDSLevel.length,null,this),this.isReact&&this.renderReactTemplates();var o=r.querySelectorAll("."+h.listItem);this.setAttributes(o),r.setAttribute("pID",s),r.style.display="none",this.renderIntoDom(r),this.updateBlazorTemplates(!0)}}if(t.isBlazor()&&this.isServerRendered&&!this.enableVirtualization||this.switchView(l,r),this.liCollection=this.curUL.querySelectorAll("."+h.listItem),this.selectedItems){var c=n(this.selectedItems.data,this.listBaseOption.fields);this.header(c[this.listBaseOption.fields.text],!0,"header")}this.selectedLI=void 0}},u.prototype.renderIntoDom=function(e){this.contentContainer.appendChild(e)},u.prototype.renderList=function(e){this.setViewDataSource(e),t.isBlazor()&&this.isServerRendered&&!this.enableVirtualization||(this.enableVirtualization?(Object.keys(this.dataSource).length&&(t.isBlazor()&&this.isServerRendered||!this.template&&!this.groupTemplate||this.virtualizationModule.isNgTemplate()||(this.listBaseOption.template=null,this.listBaseOption.groupTemplate=null,this.listBaseOption.itemCreated=this.virtualizationModule.createUIItem.bind(this.virtualizationModule))),this.virtualizationModule.uiVirtualization()):(this.createList(),this.contentContainer=this.createElement("div",{className:h.content}),this.element.appendChild(this.contentContainer),this.renderIntoDom(this.ulElement),this.isReact&&this.renderReactTemplates()))},u.prototype.getElementUID=function(e){var t={};return e instanceof Element?t[this.fields.id]=e.getAttribute("data-uid"):t=e,t},u.prototype.render=function(){t.isBlazor()&&this.isServerRendered?this.initBlazor(!0):(this.element.classList.add(h.root),t.attributes(this.element,{role:"list",tabindex:"0"}),this.setCSSClass(),this.setEnableRTL(),this.setEnable(),this.setSize(),this.wireEvents(),this.header(),this.setLocalData(),this.setHTMLAttribute(),this.isReact&&this.renderReactTemplates()),this.rippleFn=t.rippleEffect(this.element,{selector:"."+h.listItem}),this.renderComplete()},u.prototype.initBlazor=function(e){null===e&&(e=!1),this.setLocalData(),this.setViewDataSource(this.localData),this.contentContainer=this.element.querySelector("."+h.content),e&&this.wireEvents()},u.prototype.destroy=function(){this.resetBlazorTemplates(),this.isReact&&this.clearTemplate(),this.unWireEvents();var e=[h.root,h.disable,"e-rtl","e-has-header","e-lib"].concat(this.cssClass.split(" ").filter(function(e){return e}));t.removeClass([this.element],e),this.element.removeAttribute("role"),this.element.removeAttribute("tabindex"),this.curUL=this.ulElement=this.liCollection=this.headerEle=void 0,t.isBlazor()&&this.isServerRendered?this.element.style.display="none":(this.element.innerHTML="",l.prototype.destroy.call(this))},u.prototype.back=function(){var e=this.curDSLevel[this.curDSLevel.length-1];if(void 0!==e&&!this.isInAnimation()){this.curDSLevel.pop(),this.setViewDataSource(this.getSubDS());var i=this.element.querySelector("[data-uid='"+e+"']"),s=this.curUL;i?i=t.isBlazor()&&this.isServerRendered&&this.enableVirtualization?i.parentElement.parentElement.parentElement:i.parentElement:(this.createList(),this.renderIntoDom(this.ulElement),i=this.curUL);var l=n(this.curDSJSON,this.listBaseOption.fields)[this.fields.text];this.switchView(s,i,!0),this.removeFocus();var r=this.element.querySelector("[data-uid='"+e+"']");r.classList.remove(h.disable),r.classList.add(h.focused),this.showCheckBox&&r.querySelector("."+h.checkboxIcon).classList.contains(h.checked)?r.setAttribute("aria-selected","true"):(r.classList.remove(h.selected),r.setAttribute("aria-selected","false")),this.liCollection=this.curUL.querySelectorAll("."+h.listItem),this.enableHtmlSanitizer&&this.setProperties({headerTitle:t.SanitizeHtmlHelper.sanitize(this.headerTitle)},!0),this.header(this.curDSLevel.length?l:this.headerTitle,!!this.curDSLevel.length,"header")}},u.prototype.selectItem=function(e){this.enableVirtualization?this.virtualizationModule.selectItem(e):this.showCheckBox?this.setCheckboxLI(this.getLiFromObjOrElement(e)):!0===t.isNullOrUndefined(e)?this.removeSelect():this.setSelectLI(this.getLiFromObjOrElement(e))},u.prototype.getLiFromObjOrElement=function(e){var s,l=this.dataSource instanceof i.DataManager?this.localData:this.dataSource;if(!t.isNullOrUndefined(e))if("string"==typeof l[0]||"number"==typeof l[0])if(e instanceof Element){for(var r=e.getAttribute("data-uid").toString(),a=0;a<this.liCollection.length;a++)if(this.liCollection[a].getAttribute("data-uid").toString()===r){s=this.liCollection[a];break}}else Array.prototype.some.call(this.curUL.querySelectorAll("."+h.listItem),function(t){return t.innerText.trim()===e.toString()&&(s=t,!0)});else{var o=this.getItemData(e),c=n(o,this.listBaseOption.fields);if(o&&(s=this.element.querySelector('[data-uid="'+c[this.fields.id]+'"]'),!this.enableVirtualization&&t.isNullOrUndefined(s)))for(var d=this.element.querySelectorAll("."+h.listItem),a=0;a<d.length;a++)d[a].innerText.trim()===c[this.fields.text]&&(s=d[a])}return s},u.prototype.selectMultipleItems=function(e){if(!t.isNullOrUndefined(e))for(var i=0;i<e.length;i++)t.isNullOrUndefined(e[i])||this.selectItem(e[i])},u.prototype.getParentId=function(){var e=[];if(this.isNestedList)for(var t=this.curDSLevel.length-1;t>=0;t--)e.push(this.curDSLevel[t]);return e},u.prototype.getSelectedItems=function(){var e,s=!1;this.selectedId=[];var l=this.dataSource instanceof i.DataManager?this.localData:this.dataSource;if(this.enableVirtualization&&!s)e=this.virtualizationModule.getSelectedItems(),s=!0;else if(this.showCheckBox&&!s){var r=this.curUL.getElementsByClassName(h.selected),a=[],o=[];this.selectedId=[];for(var c=[],d=0;d<r.length;d++)if("string"==typeof l[0]||"number"==typeof l[0])a.push(r[d].innerText.trim());else{var u=this.getItemData(r[d]),p=n(u,this.listBaseOption.fields);this.isNestedList?c.push({data:u,parentId:this.getParentId()}):o.push(u),p?(a.push(p[this.listBaseOption.fields.text]),this.selectedId.push(p[this.listBaseOption.fields.id])):(a.push(void 0),this.selectedId.push(void 0))}"string"!=typeof l[0]&&"number"!=typeof l[0]||s||(e={item:r,data:l,text:a},s=!0),this.isNestedList&&!s?(e={item:r,data:c,text:a},s=!0):s||(e={item:r,data:o,text:a},s=!0)}else if(!s){var m=this.element.getElementsByClassName(h.selected)[0],p=n(this.getItemData(m),this.listBaseOption.fields);"string"!=typeof l[0]&&"number"!=typeof l[0]||s?s||(t.isNullOrUndefined(p)||t.isNullOrUndefined(m)?(e=void 0,s=!0):(this.selectedId.push(p[this.listBaseOption.fields.id]),e={text:p[this.listBaseOption.fields.text],item:m,data:this.getItemData(m)},s=!0)):(e=t.isNullOrUndefined(m)?void 0:{item:m,data:l,text:m.innerText.trim()},s=!0)}return t.isBlazor()?this.blazorGetSelectedItems(e):e},u.prototype.blazorGetSelectedItems=function(e){var i={data:[],index:[],parentId:[],text:[]};if(!t.isNullOrUndefined(e)){if(!t.isNullOrUndefined(e.data))if(this.showCheckBox&&this.isNestedList){for(var s=0;s<e.data.length;s++)i.data.push(e.data[s].data);t.isNullOrUndefined(e.data[0])||t.isNullOrUndefined(e.data[0].parentId)||(i.parentId=e.data[0].parentId)}else i.data=this.convertItemsToArray(e.data);t.isNullOrUndefined(e.text)||(i.text=this.convertItemsToArray(e.text)),t.isNullOrUndefined(e.index)||(i.index=this.convertItemsToArray(e.index))}return i},u.prototype.convertItemsToArray=function(e){return Array.isArray(e)?e.slice():[e]},u.prototype.findItem=function(e){return this.getItemData(e)},u.prototype.enableItem=function(e){this.setItemState(e,!0),this.enableVirtualization&&this.virtualizationModule.enableItem(e)},u.prototype.disableItem=function(e){this.setItemState(e,!1),this.enableVirtualization&&this.virtualizationModule.disableItem(e)},u.prototype.setItemState=function(e,t){var i=this.getItemData(e),s=n(i,this.listBaseOption.fields);if(i){var l=this.element.querySelector('[data-uid="'+s[this.fields.id]+'"]');t?(l&&l.classList.remove(h.disable),delete i[this.fields.enabled]):t||(l&&l.classList.add(h.disable),i[this.fields.enabled]=!1)}},u.prototype.showItem=function(e){this.showHideItem(e,!1,""),this.enableVirtualization&&this.virtualizationModule.showItem(e)},u.prototype.hideItem=function(e){this.showHideItem(e,!0,"none"),this.enableVirtualization&&this.virtualizationModule.hideItem(e)},u.prototype.showHideItem=function(e,t,i){var s=this.getItemData(e),l=n(s,this.listBaseOption.fields);if(s){var r=this.element.querySelector('[data-uid="'+l[this.fields.id]+'"]');r&&(r.style.display=i),t?s[this.fields.isVisible]=!1:delete s[this.fields.isVisible]}},u.prototype.addItem=function(e,t){void 0===t&&(t=void 0);var s=this.dataSource instanceof i.DataManager?this.localData:this.dataSource;this.addItemInternally(e,t,s)},u.prototype.addItemInternally=function(e,t,i){if(e instanceof Array)if(this.enableVirtualization)this.virtualizationModule.addItem(e,t,i);else{var s=this.findItemFromDS(i,t),l=void 0;if(s&&((l=n(s,this.listBaseOption.fields)[this.fields.child])||(l=[]),l=l.concat(e)),s instanceof Array){for(var r=0;r<e.length;r++){i.push(e[r]),this.setViewDataSource(i);var a=this.contentContainer?this.contentContainer.children[0]:null;this.contentContainer&&a?this.addItemIntoDom(e[r],a,this.curViewDS):this.reRender()}this.curUL&&this.updateBlazorTemplates(!0),this.liCollection=this.curUL.querySelectorAll("."+h.listItem)}else s&&(s[this.fields.child]=l,this.addItemInNestedList(s,e))}},u.prototype.addItemInNestedList=function(i,s){var n=i[this.fields.id],l=i[this.fields.child],r=this.element.querySelector("[pid='"+n+"']"),a=this.element.querySelector("[data-uid='"+n+"']"),o=r||(a?t.closest(a,"ul"):null),c=r?l:[i],d=!1;if(!!a&&!a.classList.contains(h.hasChild)){var u=e.ListBase.createListItemFromJson(this.createElement,c,this.listBaseOption,null,null,this);this.setAttributes(u),o.insertBefore(u[0],a),t.detach(a),d=!0}if(r&&s){for(var p=0;p<s.length;p++)c.push(s[p]),this.addItemIntoDom(s[p],o,c);d=!0}d&&this.updateBlazorTemplates(!0)},u.prototype.addItemIntoDom=function(e,t,i){var s=i.indexOf(e);this.addListItem(e,s,t,i);var n=i[s-1];n&&n.isHeader&&1===n.items.length&&this.addListItem(n,s-1,t,i)},u.prototype.addListItem=function(t,i,s,n){var l=this.getLiFromObjOrElement(n[i+1])||this.getLiFromObjOrElement(n[i+2])||null,r=e.ListBase.createListItemFromJson(this.createElement,[t],this.listBaseOption,null,null,this);this.setAttributes(r),this.template&&this.isReact&&this.renderReactTemplates(),s.insertBefore(r[0],l)},u.prototype.removeItem=function(e){var t=this.dataSource instanceof i.DataManager?this.localData:this.dataSource;this.enableVirtualization?this.virtualizationModule.removeItem(e):(this.removeItemFromList(e,t),this.updateBlazorTemplates(!0))},u.prototype.removeItemFromList=function(i,s){var n,l=this,r=this.curViewDS,a=i instanceof Element?this.getElementUID(i):i;if(n=this.findItemFromDS(s,a,!0)){var o;o=this.findItemFromDS(n,a);var c=r.indexOf(o),d=this.getLiFromObjOrElement(i),u=void 0;this.validateNestedView(d),this.fields.groupBy&&this.curViewDS[c-1]&&r[c-1].isHeader&&1===r[c-1].items.length&&d&&d.previousElementSibling.classList.contains(h.groupListItem)&&(t.isNullOrUndefined(d.nextElementSibling)||d.nextElementSibling&&d.nextElementSibling.classList.contains(h.groupListItem))&&(u=d.previousElementSibling),d&&t.detach(d),u&&t.detach(u);var p=n.length-1<=0?this.findParent(this.localData,this.fields.id,function(e){return e===o[l.fields.id]},null):null,m=n.indexOf(o);if(n.splice(m,1),this.setViewDataSource(s),p&&p.parent&&Array.isArray(p.parent[this.fields.child])&&p.parent[this.fields.child].length<=0){var f=this.getLiFromObjOrElement(p.parent);if(f){var v=e.ListBase.createListItemFromJson(this.createElement,[p.parent],this.listBaseOption,null,null,this);this.setAttributes(v),f.parentElement.insertBefore(v[0],f),f.parentElement.removeChild(f)}}n.length<=0&&this.back(),this.liCollection=Array.prototype.slice.call(this.element.querySelectorAll("."+h.listItem))}},u.prototype.validateNestedView=function(e){var t=e?e.getAttribute("data-uid").toString().toLowerCase():null;if(t&&this.curDSLevel&&this.curDSLevel.length>0)for(;this.curDSLevel.some(function(e){return e.toString().toLowerCase()===t});)this.back()},u.prototype.removeMultipleItems=function(e){if(e.length){for(var t=0;t<e.length;t++)this.removeItem(e[t]);this.updateBlazorTemplates(!0)}},u.prototype.findParent=function(e,i,s,n){if(e.hasOwnProperty(i)&&!0===s(e[i]))return t.extend({},e);for(var l=0;l<Object.keys(e).length;l++)if(e[Object.keys(e)[l]]&&"object"==typeof e[Object.keys(e)[l]]){var r=this.findParent(e[Object.keys(e)[l]],i,s,e);if(null!=r)return r.parent||(r.parent=n),r}return null},u.prototype.getModuleName=function(){return"listview"},u.prototype.requiredModules=function(){var e=[];return this.enableVirtualization&&e.push({args:[this],member:"virtualization"}),e},u.prototype.getPersistData=function(){return this.addOnPersist(["cssClass","enableRtl","htmlAttributes","enable","fields","animation","headerTitle","sortOrder","showIcon","height","width","showCheckBox","checkBoxPosition"])},a([t.Property("")],u.prototype,"cssClass",void 0),a([t.Property(!1)],u.prototype,"enableVirtualization",void 0),a([t.Property({})],u.prototype,"htmlAttributes",void 0),a([t.Property(!0)],u.prototype,"enable",void 0),a([t.Property([])],u.prototype,"dataSource",void 0),a([t.Property()],u.prototype,"query",void 0),a([t.Complex(e.ListBase.defaultMappedFields,d)],u.prototype,"fields",void 0),a([t.Property({effect:"SlideLeft",duration:400,easing:"ease"})],u.prototype,"animation",void 0),a([t.Property("None")],u.prototype,"sortOrder",void 0),a([t.Property(!1)],u.prototype,"showIcon",void 0),a([t.Property(!1)],u.prototype,"showCheckBox",void 0),a([t.Property("Left")],u.prototype,"checkBoxPosition",void 0),a([t.Property("")],u.prototype,"headerTitle",void 0),a([t.Property(!1)],u.prototype,"showHeader",void 0),a([t.Property(!1)],u.prototype,"enableHtmlSanitizer",void 0),a([t.Property("")],u.prototype,"height",void 0),a([t.Property("")],u.prototype,"width",void 0),a([t.Property(null)],u.prototype,"template",void 0),a([t.Property(null)],u.prototype,"headerTemplate",void 0),a([t.Property(null)],u.prototype,"groupTemplate",void 0),a([t.Event()],u.prototype,"select",void 0),a([t.Event()],u.prototype,"actionBegin",void 0),a([t.Event()],u.prototype,"actionComplete",void 0),a([t.Event()],u.prototype,"actionFailure",void 0),u=a([t.NotifyPropertyChanges],u)}(t.Component),p=function(){function s(e){this.elementDifference=0,this.listViewInstance=e}return s.prototype.isNgTemplate=function(){return!t.isNullOrUndefined(this.listViewInstance.templateRef)&&"string"!=typeof this.listViewInstance.templateRef},s.prototype.uiVirtualization=function(){this.wireScrollEvent(!1);var i=this.listViewInstance.curViewDS,s=i.slice(0,1);t.isBlazor()||this.listViewInstance.isServerRendered||(this.listViewInstance.ulElement=this.listViewInstance.curUL=e.ListBase.createList(this.listViewInstance.createElement,s,this.listViewInstance.listBaseOption,null,this),this.listViewInstance.contentContainer=this.listViewInstance.createElement("div",{className:h.content}),this.listViewInstance.element.appendChild(this.listViewInstance.contentContainer),this.listViewInstance.contentContainer.appendChild(this.listViewInstance.ulElement)),this.listItemHeight=this.listViewInstance.ulElement.firstElementChild.getBoundingClientRect().height,this.expectedDomItemCount=this.ValidateItemCount(1e4),this.domItemCount=this.ValidateItemCount(Object.keys(this.listViewInstance.curViewDS).length),this.uiFirstIndex=0,this.uiLastIndex=this.domItemCount-1;var n=i.slice(1,this.domItemCount);if(t.isBlazor()||this.listViewInstance.isServerRendered)this.listViewInstance.contentContainer=this.listViewInstance.element.querySelector(".e-content"),this.listViewInstance.liCollection=this.listViewInstance.curUL.querySelectorAll("li");else{var l=e.ListBase.createListItemFromJson(this.listViewInstance.createElement,n,this.listViewInstance.listBaseOption,null,null,this);t.append(l,this.listViewInstance.ulElement),this.listViewInstance.liCollection=this.listViewInstance.curUL.querySelectorAll("li"),this.topElement=this.listViewInstance.createElement("div"),this.listViewInstance.ulElement.insertBefore(this.topElement,this.listViewInstance.ulElement.firstElementChild),this.bottomElement=this.listViewInstance.createElement("div"),this.listViewInstance.ulElement.insertBefore(this.bottomElement,null),this.totalHeight=Object.keys(i).length*this.listItemHeight-this.domItemCount*this.listItemHeight,this.topElement.style.height="0px",this.bottomElement.style.height=this.totalHeight+"px",this.topElementHeight=0,this.bottomElementHeight=this.totalHeight}this.listDiff=0,this.uiIndicesInitialization()},s.prototype.wireScrollEvent=function(e){e?!0===this.listViewInstance.isWindow?(window.removeEventListener("scroll",this.onVirtualScroll),window.removeEventListener("scroll",this.updateUl)):(t.EventHandler.remove(this.listViewInstance.element,"scroll",this.onVirtualUiScroll),t.EventHandler.remove(this.listViewInstance.element,"scroll",this.updateUlContainer)):t.isBlazor()&&this.listViewInstance.isServerRendered?this.listViewInstance.isWindow?(this.onVirtualScroll=t.debounce(this.onVirtualUiScroll.bind(this),350),this.updateUl=this.updateUlContainer.bind(this),window.addEventListener("scroll",this.onVirtualScroll),window.addEventListener("scroll",this.updateUl)):(t.EventHandler.add(this.listViewInstance.element,"scroll",t.debounce(this.onVirtualUiScroll,350),this),t.EventHandler.add(this.listViewInstance.element,"scroll",this.updateUlContainer,this)):this.listViewInstance.isWindow?(this.onVirtualScroll=this.onVirtualUiScroll.bind(this),window.addEventListener("scroll",this.onVirtualScroll)):t.EventHandler.add(this.listViewInstance.element,"scroll",this.onVirtualUiScroll,this)},s.prototype.updateUlContainer=function(e){var i,s=this.listViewInstance.ulElement.querySelector("."+h.virtualElementContainer);t.isNullOrUndefined(this.listViewInstance.liElementHeight)&&this.listViewInstance.updateLiElementHeight(),((i=this.listViewInstance.isWindow?Math.round(e.target.documentElement.scrollTop/this.listViewInstance.liElementHeight)-2:Math.round(e.target.scrollTop/this.listViewInstance.liElementHeight)-2)-1)*this.listViewInstance.liElementHeight<0?s.style.top="0px":s.style.top=i*this.listViewInstance.liElementHeight+"px"},s.prototype.ValidateItemCount=function(e){var i,s=parseFloat(t.formatUnit(this.listViewInstance.height));return(i=this.listViewInstance.isWindow?Math.round(window.innerHeight/this.listItemHeight*3):"string"==typeof this.listViewInstance.height&&-1!==this.listViewInstance.height.indexOf("%")?Math.round(this.listViewInstance.element.getBoundingClientRect().height/this.listItemHeight*1.5):Math.round(s/this.listItemHeight*1.5))>e&&(i=e),i},s.prototype.uiIndicesInitialization=function(){this.uiIndices={activeIndices:[],disabledItemIndices:[],hiddenItemIndices:[]};for(var e=this.listViewInstance.curViewDS,i=0;i<e.length;i++)this.listViewInstance.showCheckBox&&e[i][this.listViewInstance.fields.isChecked]&&this.uiIndices.activeIndices.push(i),t.isNullOrUndefined(e[i][this.listViewInstance.fields.enabled])||e[i][this.listViewInstance.fields.enabled]||this.uiIndices.disabledItemIndices.push(i);if(this.isNgTemplate())for(var s=this.listViewInstance.element.querySelectorAll("."+h.listItem),n=0;n<s.length;n++)s[n].context=this.listViewInstance.viewContainerRef.get(n).context},s.prototype.refreshItemHeight=function(){if(this.listViewInstance.curViewDS.length){var e=this.listViewInstance.curViewDS;t.isBlazor()&&this.listViewInstance.isServerRendered?this.listViewInstance.ulElement.children[0].style.height=this.listViewInstance.liElementHeight*Object.keys(e).length+"px":(this.listItemHeight=this.topElement.nextSibling.getBoundingClientRect().height,this.totalHeight=Object.keys(e).length*this.listItemHeight-this.domItemCount*this.listItemHeight,this.bottomElementHeight=this.totalHeight,this.bottomElement.style.height=this.totalHeight+"px")}},s.prototype.getscrollerHeight=function(e){return this.listViewInstance.isWindow?pageYOffset-e<=0?0:pageYOffset-e:this.listViewInstance.element.scrollTop-e<=0?0:this.listViewInstance.element.scrollTop-e},s.prototype.onVirtualUiScroll=function(e){var i,s;s=this.listViewInstance.isWindow?this.listViewInstance.ulElement.getBoundingClientRect().top-document.documentElement.getBoundingClientRect().top:this.listViewInstance.headerEle?this.listViewInstance.headerEle.getBoundingClientRect().height:0,this.scrollPosition=t.isNullOrUndefined(this.scrollPosition)?0:this.scrollPosition;var n=this.getscrollerHeight(s);if(this.topElementHeight=this.listItemHeight*Math.floor(n/this.listItemHeight),this.bottomElementHeight=this.totalHeight-this.topElementHeight,i=n<=this.totalHeight?[this.topElementHeight,this.bottomElementHeight]:[this.totalHeight,0],this.topElementHeight=i[0],this.bottomElementHeight=i[1],t.isBlazor()&&this.listViewInstance.isServerRendered){var l=void 0;if(t.isNullOrUndefined(this.listViewInstance.liElementHeight)&&this.listViewInstance.updateLiElementHeight(),(l=this.listViewInstance.isWindow?Math.round(document.documentElement.scrollTop/this.listViewInstance.liElementHeight):Math.round(e.target.scrollTop/this.listViewInstance.liElementHeight))-2-this.elementDifference>=3||l-2-this.elementDifference<=-1){var r={listDiff:l-2,selectedItems:this.listViewInstance.previousSelectedItems};this.listViewInstance.interopAdaptor.invokeMethodAsync("VirtalScrolling",r),this.listViewInstance.ulElement.querySelector(".e-focused")&&this.listViewInstance.ulElement.querySelector(".e-focused").classList.remove("e-focused"),this.elementDifference=l-2}}else this.topElementHeight!==parseFloat(this.topElement.style.height)&&(this.topElement.style.height=this.topElementHeight+"px",this.bottomElement.style.height=this.bottomElementHeight+"px",n>this.scrollPosition?(l=Math.round(this.topElementHeight/this.listItemHeight-this.listDiff))>this.expectedDomItemCount+5?this.onLongScroll(l,!0):this.onNormalScroll(l,!0):(l=Math.round(this.listDiff-this.topElementHeight/this.listItemHeight))>this.expectedDomItemCount+5?this.onLongScroll(l,!1):this.onNormalScroll(l,!1)),this.listDiff=Math.round(this.topElementHeight/this.listItemHeight),"function"==typeof this.listViewInstance.onUIScrolled&&this.listViewInstance.onUIScrolled();this.scrollPosition=n},s.prototype.onLongScroll=function(e,t){for(var i=t?this.uiFirstIndex+e:this.uiFirstIndex-e,s=this.listViewInstance.ulElement.querySelectorAll("li"),n=0;n<s.length;n++)this.updateUI(s[n],i),i++;this.uiLastIndex=t?this.uiLastIndex+e:this.uiLastIndex-e,this.uiFirstIndex=t?this.uiFirstIndex+e:this.uiFirstIndex-e},s.prototype.onNormalScroll=function(e,t){if(t)for(i=0;i<e;i++){s=++this.uiLastIndex;this.updateUI(this.topElement.nextElementSibling,s,this.bottomElement),this.uiFirstIndex++}else for(var i=0;i<e;i++){var s=--this.uiFirstIndex,n=this.topElement.nextSibling;this.updateUI(this.bottomElement.previousElementSibling,s,n),this.uiLastIndex--}},s.prototype.updateUiContent=function(i,s){var n=this.listViewInstance.curViewDS;if("string"==typeof this.listViewInstance.dataSource[0]||"number"==typeof this.listViewInstance.dataSource[0]?(i.dataset.uid=e.ListBase.generateId(),i.getElementsByClassName(h.listItemText)[0].innerHTML=this.listViewInstance.curViewDS[s].toString()):(i.dataset.uid=n[s][this.listViewInstance.fields.id]?n[s][this.listViewInstance.fields.id]:e.ListBase.generateId(),i.getElementsByClassName(h.listItemText)[0].innerHTML=n[s][this.listViewInstance.fields.text]),this.listViewInstance.showIcon&&(i.querySelector("."+h.listIcon)&&t.detach(i.querySelector("."+h.listIcon)),this.listViewInstance.curViewDS[s][this.listViewInstance.fields.iconCss])){var l=i.querySelector("."+h.textContent),r=this.listViewInstance.createElement("div",{className:h.listIcon+" "+this.listViewInstance.curViewDS[s][this.listViewInstance.fields.iconCss]});l.insertBefore(r,i.querySelector("."+h.listItemText))}if(this.listViewInstance.showCheckBox&&this.listViewInstance.fields.groupBy){this.checkListWrapper||(this.checkListWrapper=this.listViewInstance.curUL.querySelector("."+h.checkboxWrapper).cloneNode(!0));l=i.querySelector("."+h.textContent);this.listViewInstance.curViewDS[s].isHeader?i.querySelector("."+h.checkboxWrapper)&&(i.classList.remove(h.checklist),l.classList.remove(h.checkbox),t.detach(i.querySelector("."+h.checkboxWrapper))):i.querySelector("."+h.checkboxWrapper)||(i.classList.add(h.checklist),l.classList.add(h.checkbox),l.insertBefore(this.checkListWrapper.cloneNode(!0),i.querySelector("."+h.listItemText)))}},s.prototype.changeElementAttributes=function(e,i){if(e.classList.remove(h.disable),this.uiIndices.disabledItemIndices.length&&-1!==this.uiIndices.disabledItemIndices.indexOf(i)&&e.classList.add(h.disable),e.style.display="",this.uiIndices.hiddenItemIndices.length&&-1!==this.uiIndices.hiddenItemIndices.indexOf(i)&&(e.style.display="none"),this.listViewInstance.showCheckBox){var s=e.querySelector("."+h.checkboxWrapper);e.classList.remove(h.selected),e.classList.remove(h.focused),s&&(s.removeAttribute("aria-checked"),s.firstElementChild.classList.remove(h.checked)),this.uiIndices.activeIndices.length&&-1!==this.uiIndices.activeIndices.indexOf(i)&&!this.listViewInstance.curUL.querySelector(h.selected)&&(e.classList.add(h.selected),s.firstElementChild.classList.add(h.checked),s.setAttribute("aria-checked","true"),this.activeIndex===i&&e.classList.add(h.focused))}else e.classList.remove(h.selected),e.removeAttribute("aria-selected"),t.isNullOrUndefined(this.activeIndex)||this.activeIndex!==i||this.listViewInstance.curUL.querySelector(h.selected)||(e.classList.add(h.selected),e.setAttribute("aria-selected","true"));this.listViewInstance.fields.groupBy&&(this.listViewInstance.curViewDS[i].isHeader?e.classList.contains(h.listItem)&&(e.classList.remove(h.listItem),e.setAttribute("role","group"),e.classList.add(h.groupListItem)):e.classList.contains(h.groupListItem)&&(e.classList.remove(h.groupListItem),e.setAttribute("role","listitem"),e.classList.add(h.listItem)))},s.prototype.findDSAndIndexFromId=function(e,i){var s=this,n={};return i=this.listViewInstance.getElementUID(i),t.isNullOrUndefined(i)||e.some(function(e,t){return!!(i[s.listViewInstance.fields.id]&&i[s.listViewInstance.fields.id]===(e[s.listViewInstance.fields.id]&&e[s.listViewInstance.fields.id])||i===e)&&(n.index=t,n.data=e,!0)}),n},s.prototype.getSelectedItems=function(){var e=this;if(!t.isNullOrUndefined(this.activeIndex)||this.listViewInstance.showCheckBox&&this.uiIndices.activeIndices.length){var s=[],n=[];if("string"==typeof this.listViewInstance.dataSource[0]||"number"==typeof this.listViewInstance.dataSource[0]){var l=this.listViewInstance.curViewDS;if(this.listViewInstance.showCheckBox){for(var r=this.uiIndices.activeIndices,a=0;a<r.length;a++)s.push(l[r[a]]);return{text:s,data:s,index:this.uiIndices.activeIndices.map(function(t){return e.listViewInstance.dataSource.indexOf(l[t])})}}return{text:l[this.activeIndex],data:l[this.activeIndex],index:this.listViewInstance.dataSource.indexOf(l[this.activeIndex])}}if(t.isBlazor()&&this.listViewInstance.isServerRendered){var o=Math.round(this.listViewInstance.element.scrollTop/this.listViewInstance.liElementHeight)-2;o<0&&(o=0),this.activeIndex+=o}var c=this.listViewInstance.curViewDS,h=this.listViewInstance.fields.text;if(this.listViewInstance.showCheckBox){for(var d=this.uiIndices.activeIndices,a=0;a<d.length;a++)n.push(c[d[a]][h]),s.push(c[d[a]]);var u=this.listViewInstance.dataSource instanceof i.DataManager?c:this.listViewInstance.dataSource;return{text:n,data:s,index:this.uiIndices.activeIndices.map(function(e){return u.indexOf(c[e])})}}var p=this.listViewInstance.dataSource instanceof i.DataManager?c:this.listViewInstance.dataSource;return{text:c[this.activeIndex][this.listViewInstance.fields.text],data:c[this.activeIndex],index:p.indexOf(c[this.activeIndex])}}},s.prototype.selectItem=function(e){var i=this.findDSAndIndexFromId(this.listViewInstance.curViewDS,e);if(Object.keys(i).length){var s=this.activeIndex===i.index,n=void 0;if(this.activeIndex=i.index,this.listViewInstance.showCheckBox&&(-1===this.uiIndices.activeIndices.indexOf(i.index)?(n=!0,this.uiIndices.activeIndices.push(i.index)):(n=!1,this.uiIndices.activeIndices.splice(this.uiIndices.activeIndices.indexOf(i.index),1)),this.listViewInstance.curUL.querySelector("."+h.focused)&&this.listViewInstance.curUL.querySelector("."+h.focused).classList.remove(h.focused)),this.listViewInstance.getLiFromObjOrElement(e))this.listViewInstance.showCheckBox?this.listViewInstance.setCheckboxLI(this.listViewInstance.getLiFromObjOrElement(e)):this.listViewInstance.setSelectLI(this.listViewInstance.getLiFromObjOrElement(e));else{var l=void 0;if("string"==typeof this.listViewInstance.dataSource[0]||"number"==typeof this.listViewInstance.dataSource[0])l={text:this.listViewInstance.curViewDS[this.activeIndex],data:this.listViewInstance.curViewDS[this.activeIndex],index:this.activeIndex};else{var r=this.listViewInstance.curViewDS;l={text:r[this.activeIndex][this.listViewInstance.fields.text],data:r[this.activeIndex],index:this.activeIndex}}this.listViewInstance.showCheckBox?(l.isChecked=n,this.listViewInstance.trigger("select",l)):s||(this.listViewInstance.removeSelect(),this.listViewInstance.trigger("select",l))}}else t.isNullOrUndefined(e)&&!this.listViewInstance.showCheckBox&&(this.listViewInstance.removeSelect(),this.activeIndex=void 0);if(t.isBlazor()&&this.listViewInstance.isServerRendered){var a=i.data[this.listViewInstance.fields.id];if(this.listViewInstance.showCheckBox)if(this.listViewInstance.previousSelectedItems.includes(a)){var o=this.listViewInstance.previousSelectedItems.indexOf(a);o>-1&&this.listViewInstance.previousSelectedItems.splice(o,1)}else this.listViewInstance.previousSelectedItems.push(a);else this.listViewInstance.previousSelectedItems[0]=a;this.listViewInstance.removeActiveClass()}},s.prototype.enableItem=function(e){var i=this.findDSAndIndexFromId(this.listViewInstance.curViewDS,e);if(t.isBlazor()&&this.listViewInstance.isServerRendered){var s=i.data[this.listViewInstance.fields.id];if(this.listViewInstance.enabledItems.includes(s)||(this.listViewInstance.enabledItems.push(s),this.listViewInstance.removeActiveClass()),this.listViewInstance.disabledItems.includes(s)){var n=this.listViewInstance.disabledItems.indexOf(s);n>-1&&this.listViewInstance.disabledItems.splice(n,1)}}else Object.keys(i).length&&this.uiIndices.disabledItemIndices.splice(this.uiIndices.disabledItemIndices.indexOf(i.index),1)},s.prototype.disableItem=function(e){var i=this.findDSAndIndexFromId(this.listViewInstance.curViewDS,e);if(t.isBlazor()&&this.listViewInstance.isServerRendered){var s=i.data[this.listViewInstance.fields.id];if(this.listViewInstance.disabledItems.includes(s)||(this.listViewInstance.disabledItems.push(s),this.listViewInstance.removeActiveClass()),this.listViewInstance.enabledItems.includes(s)){var n=this.listViewInstance.enabledItems.indexOf(s);n>-1&&this.listViewInstance.enabledItems.splice(n,1)}}else Object.keys(i).length&&-1===this.uiIndices.disabledItemIndices.indexOf(i.index)&&this.uiIndices.disabledItemIndices.push(i.index)},s.prototype.showItem=function(e){var i=this.findDSAndIndexFromId(this.listViewInstance.curViewDS,e);if(t.isBlazor()&&this.listViewInstance.isServerRendered){var s=i.data[this.listViewInstance.fields.id];if(this.listViewInstance.hiddenItems.includes(s)){var n=this.listViewInstance.hiddenItems.indexOf(s);n>-1&&(this.listViewInstance.previousSelectedItems.splice(n,1),this.listViewInstance.removeActiveClass())}}else Object.keys(i).length&&this.uiIndices.hiddenItemIndices.splice(this.uiIndices.hiddenItemIndices.indexOf(i.index),1)},s.prototype.hideItem=function(e){var i=this.findDSAndIndexFromId(this.listViewInstance.curViewDS,e);if(t.isBlazor()&&this.listViewInstance.isServerRendered){var s=i.data[this.listViewInstance.fields.id];this.listViewInstance.hiddenItems.includes(s)||(this.listViewInstance.hiddenItems.push(s),this.listViewInstance.removeActiveClass())}else Object.keys(i).length&&-1===this.uiIndices.hiddenItemIndices.indexOf(i.index)&&this.uiIndices.hiddenItemIndices.push(i.index)},s.prototype.removeItem=function(e){var s,n=this.listViewInstance.curViewDS,l=this.findDSAndIndexFromId(n,e);t.isBlazor()&&this.listViewInstance.isServerRendered&&void 0!==l.index&&this.listViewInstance.interopAdaptor.invokeMethodAsync("RemoveItemPosition",l.index),Object.keys(l).length&&(s=l.data,n[l.index-1]&&n[l.index-1].isHeader&&1===n[l.index-1].items.length?(this.removeUiItem(l.index-1),this.removeUiItem(l.index-1)):t.isBlazor()&&this.listViewInstance.isServerRendered||this.removeUiItem(l.index));var r=this.listViewInstance.dataSource instanceof i.DataManager?this.listViewInstance.localData:this.listViewInstance.dataSource,a=r.indexOf(s);-1!==a&&(r.splice(a,1),this.listViewInstance.setViewDataSource(r)),this.listViewInstance.liCollection=this.listViewInstance.curUL.querySelectorAll("li")},s.prototype.setCheckboxLI=function(e,i){t.isBlazor()&&this.listViewInstance.isServerRendered&&(this.uiFirstIndex=Math.round(this.listViewInstance.element.scrollTop/36)-4,this.uiFirstIndex<0&&(this.uiFirstIndex=0));var s=Array.prototype.indexOf.call(this.listViewInstance.curUL.querySelectorAll("li"),e)+this.uiFirstIndex;this.activeIndex=Array.prototype.indexOf.call(this.listViewInstance.curUL.querySelectorAll("li"),e)+this.uiFirstIndex,e.classList.contains(h.selected)?-1===this.uiIndices.activeIndices.indexOf(s)&&this.uiIndices.activeIndices.push(s):this.uiIndices.activeIndices.splice(this.uiIndices.activeIndices.indexOf(s),1)},s.prototype.setSelectLI=function(e,t){this.activeIndex=Array.prototype.indexOf.call(this.listViewInstance.curUL.querySelectorAll("li"),e)+this.uiFirstIndex},s.prototype.checkedItem=function(e){if(e){this.uiIndices.activeIndices=[],this.activeIndex=void 0;for(var t=this.listViewInstance.curViewDS,i=0;i<t.length;i++)t[i].isHeader||this.uiIndices.activeIndices.push(i)}else this.activeIndex=void 0,this.uiIndices.activeIndices=[]},s.prototype.addUiItem=function(e){var t=this.listViewInstance.curViewDS;if(this.changeUiIndices(e,!0),this.activeIndex&&this.activeIndex>=e&&this.activeIndex++,this.listViewInstance.showCheckBox&&t[e][this.listViewInstance.fields.isChecked]&&this.uiIndices.activeIndices.push(e),parseFloat(this.bottomElement.style.height)||parseFloat(this.topElement.style.height)||(this.bottomElement.style.height=parseFloat(this.bottomElement.style.height)+this.listItemHeight+"px"),parseFloat(this.bottomElement.style.height)){i=this.listViewInstance.curUL.lastElementChild.previousSibling;(s=this.listViewInstance.getLiFromObjOrElement(t[e+1])||this.listViewInstance.getLiFromObjOrElement(t[e+2]))&&(this.bottomElement.style.height=parseFloat(this.bottomElement.style.height)+this.listItemHeight+"px",this.updateUI(i,e,s))}else{var i=this.listViewInstance.curUL.firstElementChild.nextSibling,s=void 0;s=Object.keys(this.listViewInstance.curViewDS).length-1===e?this.listViewInstance.curUL.lastElementChild:this.listViewInstance.getLiFromObjOrElement(t[e+1])||this.listViewInstance.getLiFromObjOrElement(t[e+2]),this.topElement.style.height=parseFloat(this.topElement.style.height)+this.listItemHeight+"px",this.uiFirstIndex++,this.uiLastIndex++,s&&(this.updateUI(i,e,s),!0===this.listViewInstance.isWindow?window.scrollTo(0,pageYOffset+this.listItemHeight):this.listViewInstance.element.scrollTop+=this.listItemHeight)}this.totalHeight+=this.listItemHeight,this.listDiff=Math.round(parseFloat(this.topElement.style.height)/this.listItemHeight)},s.prototype.removeUiItem=function(e){this.totalHeight-=this.listItemHeight;var i=this.listViewInstance.curViewDS[e],s=this.listViewInstance.getLiFromObjOrElement(i);if(this.listViewInstance.curViewDS.splice(e,1),this.activeIndex&&this.activeIndex>=e&&this.activeIndex--,s)if(this.domItemCount>Object.keys(this.listViewInstance.curViewDS).length)t.detach(s),this.domItemCount--,this.uiLastIndex--,this.totalHeight=0;else{if(s.classList.contains(h.disable)&&(s.classList.remove(h.disable),this.uiIndices.disabledItemIndices.splice(this.uiIndices.disabledItemIndices.indexOf(e),1)),"none"===s.style.display&&(s.style.display="",this.uiIndices.hiddenItemIndices.splice(this.uiIndices.hiddenItemIndices.indexOf(e),1)),this.listViewInstance.showCheckBox&&s.classList.contains(h.selected)){this.listViewInstance.removeSelect(),this.uiIndices.activeIndices.splice(this.uiIndices.activeIndices.indexOf(e),1);var n=s.querySelector("."+h.checkboxWrapper);n.removeAttribute("aria-checked"),n.firstElementChild.classList.remove(h.checked),s.classList.contains(h.focused)&&(s.classList.remove(h.focused),this.activeIndex=void 0)}else s.classList.contains(h.selected)&&(this.listViewInstance.removeSelect(),this.activeIndex=void 0);parseFloat(this.bottomElement.style.height)||parseFloat(this.topElement.style.height)?parseFloat(this.bottomElement.style.height)?(this.bottomElement.style.height=parseFloat(this.bottomElement.style.height)-this.listItemHeight+"px",this.updateUI(s,this.uiLastIndex,this.bottomElement)):(this.topElement.style.height=parseFloat(this.topElement.style.height)-this.listItemHeight+"px",this.updateUI(s,this.uiFirstIndex-1,this.topElement.nextSibling),this.uiLastIndex--,this.uiFirstIndex--):this.updateUI(s,this.uiLastIndex,this.bottomElement)}this.changeUiIndices(e,!1),this.listDiff=Math.round(parseFloat(this.topElement.style.height)/this.listItemHeight)},s.prototype.changeUiIndices=function(e,t){for(var i=Object.keys(this.uiIndices),s=0;s<i.length;s++)this.uiIndices[i[s]]=this.uiIndices[i[s]].map(function(i){return i>=e?t?++i:--i:i})},s.prototype.addItem=function(e,t,i){for(var s=0;s<e.length;s++){var n=e[s];if(i.push(n),this.listViewInstance.setViewDataSource(i),this.domItemCount)if(this.domItemCount<this.expectedDomItemCount){if(this.listViewInstance.findItemFromDS(i,t)instanceof Array){if(this.listViewInstance.ulElement){l=this.listViewInstance.curViewDS.indexOf(n);this.createAndInjectNewItem(n,l),(r=this.listViewInstance.curViewDS[l-1])&&r.isHeader&&1===r.items.length&&(--l,this.createAndInjectNewItem(r,l))}this.listViewInstance.liCollection=this.listViewInstance.curUL.querySelectorAll("li")}}else{var l=this.listViewInstance.curViewDS.indexOf(n);this.addUiItem(l);var r=this.listViewInstance.curViewDS[l-1];r&&r.isHeader&&1===r.items.length&&this.addUiItem(l-1)}else!this.listViewInstance.template&&!this.listViewInstance.groupTemplate||this.isNgTemplate()||(this.listViewInstance.listBaseOption.template=null,this.listViewInstance.listBaseOption.groupTemplate=null,this.listViewInstance.listBaseOption.itemCreated=this.createUIItem.bind(this)),this.uiVirtualization()}},s.prototype.createAndInjectNewItem=function(t,i){var s,n=e.ListBase.createListItemFromJson(this.listViewInstance.createElement,[t],this.listViewInstance.listBaseOption,null,null,this);s=Object.keys(this.listViewInstance.curViewDS).length-1===i?this.listViewInstance.curUL.lastElementChild:this.listViewInstance.getLiFromObjOrElement(this.listViewInstance.curViewDS[i+1])||this.listViewInstance.getLiFromObjOrElement(this.listViewInstance.curViewDS[i+2]),this.listViewInstance.ulElement.insertBefore(n[0],s),this.domItemCount++,this.bottomElementHeight<=0&&this.uiLastIndex++,this.refreshItemHeight()},s.prototype.createUIItem=function(e){var i=this.listViewInstance.template,s=this.listViewInstance.createElement("div"),n='<div class="e-text-content" role="presentation"> <span class="e-list-text"> ${'+this.listViewInstance.fields.text+"} </span></div>";if(this.listViewInstance.showCheckBox){if(this.listViewInstance.renderCheckbox(e),!t.isNullOrUndefined(this.listViewInstance.virtualCheckBox)&&!t.isNullOrUndefined(this.listViewInstance.virtualCheckBox.outerHTML)){var l=document.createElement("div");l.innerHTML=this.listViewInstance.template||n,l.children[0].classList.add("e-checkbox"),"Left"===this.listViewInstance.checkBoxPosition?l.children[0].classList.add("e-checkbox-left"):l.children[0].classList.add("e-checkbox-right"),"Left"===this.listViewInstance.checkBoxPosition?l.children[0].insertBefore(this.listViewInstance.virtualCheckBox,l.childNodes[0].children[0]):l.children[0].appendChild(this.listViewInstance.virtualCheckBox),this.listViewInstance.template=l.innerHTML}s.innerHTML=this.listViewInstance.template,this.listViewInstance.template=i}else s.innerHTML=this.listViewInstance.template||n;var r=s.getElementsByTagName("*"),a=this.listViewInstance.createElement("div");this.listViewInstance.fields.groupBy&&(a.innerHTML=this.listViewInstance.groupTemplate||n);var o=a.getElementsByTagName("*");e.curData.isHeader&&(this.headerData=e.curData),this.templateData=e.curData.isHeader?e.curData.items[0]:e.curData,e.item.innerHTML="",e.item.context={data:e.curData,nodes:{flatTemplateNodes:[],groupTemplateNodes:[]}};for(c=0;c<r.length;c++)this.compileTemplate(r[c],e.item,!1);for(var c=0;c<o.length;c++)this.compileTemplate(o[c],e.item,!0);e.item.context.template=e.curData.isHeader?s.firstElementChild:a.firstElementChild,e.item.context.type=e.curData.isHeader?"flatList":"groupList";var h=e.curData.isHeader?a:s;e.item.insertBefore(h.firstElementChild,null)},s.prototype.compileTemplate=function(e,t,i){this.textProperty(e,t,i),this.classProperty(e,t,i),this.attributeProperty(e,t,i)},s.prototype.onChange=function(e,i){i.context.data=e;var s=i.context.nodes.groupTemplateNodes,n=i.context.nodes.flatTemplateNodes;if(!t.isNullOrUndefined(e.isHeader)&&e.isHeader&&"groupList"===i.context.type){l=i.firstElementChild;t.detach(i.firstElementChild),i.insertBefore(i.context.template,null),i.context.template=l,i.context.type="flatList";for(r=0;r<s.length;r++)s[r].onChange(e)}else if(e.isHeader||"flatList"!==i.context.type)if(e.isHeader)for(r=0;r<s.length;r++)s[r].onChange(e);else for(r=0;r<n.length;r++)n[r].onChange(e);else{var l=i.firstElementChild;t.detach(i.firstElementChild),i.insertBefore(i.context.template,null),i.context.template=l,i.context.type="groupList";for(var r=0;r<n.length;r++)n[r].onChange(e)}},s.prototype.updateContextData=function(e,t,i){i?e.context.nodes.groupTemplateNodes.push(t):e.context.nodes.flatTemplateNodes.push(t)},s.prototype.classProperty=function(e,i,s){for(var n,l=new RegExp("\\${([^}]*)}","g"),r=[];null!==n;){var a=l.exec(e.className);r.push(a),null===(n=a)&&r.pop()}if(r&&r.length)for(var o=this,c=0;c<r.length;c++)!function(n){var l,a=r[n];l=-1!==a[1].indexOf("?")&&-1!==a[1].indexOf(":")?new Function("data","return "+a[1].replace(/\$/g,"data.")):new Function("data","return data."+a[1]);var c={};c.bindedvalue=l(s?o.headerData:o.templateData),c.onChange=function(i){c.bindedvalue&&t.removeClass([e],c.bindedvalue.split(" ").filter(function(e){return e}));var s=l(i);s&&t.addClass([e],s.split(" ").filter(function(e){return e})),c.bindedvalue=s};for(var h=a[0].split(" "),d=0;d<h.length;d++)e.classList.remove(h[d]);c.bindedvalue&&t.addClass([e],c.bindedvalue.split(" ").filter(function(e){return e})),o.updateContextData(i,c,s)}(c)},s.prototype.attributeProperty=function(e,t,i){for(var s=[],n=0;n<e.attributes.length;n++)s.push(e.attributes[n].nodeName);-1!==s.indexOf("class")&&s.splice(s.indexOf("class"),1);for(var l=this,n=0;n<s.length;n++)!function(n){var r,a,o=s[n],c=new RegExp("\\${([^}]*)}","g").exec(o)||[],h=new RegExp("\\${([^}]*)}","g").exec(e.getAttribute(o))||[];if(c.length||h.length){c[1]&&(r=new Function("data","return data."+c[1])),h[1]&&(a=-1!==h[1].indexOf("?")&&-1!==h[1].indexOf(":")?new Function("data","return "+h[1].replace(/\$/g,"data.")):new Function("data","return data."+h[1]));var d={};d.bindedvalue=i?[void 0===c[1]?void 0:r(l.headerData),void 0===h[1]?void 0:a(l.headerData)]:[void 0===c[1]?void 0:r(l.templateData),void 0===h[1]?void 0:a(l.templateData)],d.attrName=void 0===d.bindedvalue[0]?o:d.bindedvalue[0],d.onChange=function(t){var i=void 0===d.bindedvalue[1]?e.getAttribute(d.attrName):a(t);e.removeAttribute(d.attrName),d.attrName=void 0===d.bindedvalue[0]?d.attrName:r(t),e.setAttribute(d.attrName,i),d.bindedvalue=[void 0===d.bindedvalue[0]?void 0:r(t),void 0===d.bindedvalue[1]?void 0:a(t)]};var u=void 0===d.bindedvalue[1]?e.getAttribute(o):d.bindedvalue[1];e.removeAttribute(o),e.setAttribute(d.attrName,u),l.updateContextData(t,d,i)}}(n)},s.prototype.textProperty=function(e,t,i){for(var s,n=new RegExp("\\${([^}]*)}","g"),l=[];null!==s;){var r=n.exec(e.innerText);l.push(r),null===(s=r)&&l.pop()}var a=Array.prototype.some.call(e.children,function(e){return!!new RegExp("\\${([^}]*)}","g").exec(e.innerText)});if(l&&l.length&&!a)for(var o=this,c=0;c<l.length;c++)!function(s){var n,r=l[s],a={};n=-1!==r[1].indexOf("?")&&-1!==r[1].indexOf(":")?new Function("data","return "+r[1].replace(/\$/g,"data.")):new Function("data","return data."+r[1]),a.bindedvalue=n(i?o.headerData:o.templateData),a.onChange=function(t){e.innerText=e.innerText.replace(a.bindedvalue,n(t)),a.bindedvalue=n(t)},e.innerText=e.innerText.replace(r[0],a.bindedvalue),o.updateContextData(t,a,i)}(c)},s.prototype.reRenderUiVirtualization=function(){this.wireScrollEvent(!0),this.listViewInstance.contentContainer&&t.detach(this.listViewInstance.contentContainer),this.listViewInstance.preRender(),this.domItemCount=0,this.listViewInstance.header(),this.listViewInstance.setLocalData()},s.prototype.updateUI=function(t,i,s){var n=this.isNgTemplate()?this.onNgChange:this.onChange;if(this.listViewInstance.template||this.listViewInstance.groupTemplate){var l=this.listViewInstance.curViewDS[i];t.dataset.uid=l[this.listViewInstance.fields.id]?l[this.listViewInstance.fields.id]:e.ListBase.generateId(),n(l,t,this)}else this.updateUiContent(t,i);this.changeElementAttributes(t,i),s&&this.listViewInstance.ulElement.insertBefore(t,s)},s.prototype.onNgChange=function(e,i,s){for(var n=t.compile(s.listViewInstance.template)(e);i.lastChild;)i.removeChild(i.lastChild);i.appendChild(n[0])},s.prototype.getModuleName=function(){return"virtualization"},s.prototype.destroy=function(){this.wireScrollEvent(!0)},s}(),m=function(){var e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(t,i)};return function(t,i){function s(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(s.prototype=i.prototype,new s)}}(),f=function(e,t,i,s){var n,l=arguments.length,r=l<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(l<3?n(r):l>3?n(t,i,r):n(t,i))||r);return l>3&&r&&Object.defineProperty(t,i,r),r},v=function(e){function i(i,s){var n=e.call(this,s,i)||this;return n.getHelper=function(e){var i=n.getSortableElement(e.sender.target);if(!n.isValidTarget(i,n))return!1;var s;return n.helper?s=n.helper({sender:i,element:e.element}):((s=i.cloneNode(!0)).style.width=i.offsetWidth+"px",s.style.height=i.offsetHeight+"px"),t.addClass([s],["e-sortableclone"]),document.body.appendChild(s),s},n.onDrag=function(e){n.trigger("drag",{event:e.event,element:n.element,target:e.target});var i=n.getSortableInstance(e.target),s=n.getSortableElement(e.target,i);if((n.isValidTarget(s,i)||e.target.className.indexOf("e-list-group-item")>-1)&&(n.curTarget!==s||!t.isNullOrUndefined(i.placeHolder))&&(!i.placeHolderElement||i.placeHolderElement!==e.target)){if(e.target.className.indexOf("e-list-group-item")>-1&&(s=e.target),n.curTarget=s,n.target===s)return;var l=n.getIndex(i.placeHolderElement,i),r=n.getPlaceHolder(s,i),a=void 0;if(r){l=t.isNullOrUndefined(l)?n.getIndex(n.target):l,a=n.getIndex(s,i,e.event);var o=n.isPlaceHolderPresent(i);if(o&&l===a)return;o&&t.remove(i.placeHolderElement),i.placeHolderElement=r,e.target.className.indexOf("e-list-group-item")>-1?i.element.insertBefore(i.placeHolderElement,i.element.children[a]):i.element!==n.element&&a===i.element.childElementCount?i.element.appendChild(i.placeHolderElement):i.element.insertBefore(i.placeHolderElement,i.element.children[a]),n.refreshDisabled(l,a,i)}else{l=t.isNullOrUndefined(l)?n.getIndex(n.target):n.getIndex(s,i)<l||!l?l:l-1,a=n.getIndex(s,i);var c=i.element!==n.element?a:l<a?a+1:a;n.updateItemClass(i),i.element.insertBefore(n.target,i.element.children[c]),n.refreshDisabled(l,a,i),n.curTarget=n.target,n.trigger("drop",{droppedElement:n.target,element:i.element,previousIndex:l,currentIndex:a,target:e.target,helper:document.getElementsByClassName("e-sortableclone")[0],event:e.event,scope:n.scope})}}if(i=n.getSortableInstance(n.curTarget),t.isNullOrUndefined(s)&&e.target!==i.placeHolderElement)n.isPlaceHolderPresent(i)&&n.removePlaceHolder(i);else{var h;[].slice.call(document.getElementsByClassName("e-sortable-placeholder")).forEach(function(e){(h=n.getSortableInstance(e)).element&&h!==i&&n.removePlaceHolder(h)})}},n.onDragStart=function(e){n.target=n.getSortableElement(e.target);var i=!1;n.target.classList.add("e-grabbed"),n.curTarget=n.target,e.helper=document.getElementsByClassName("e-sortableclone")[0];var s={cancel:!1,element:n.element,target:n.target};n.trigger("beforeDragStart",s,function(t){t.cancel&&(i=t.cancel,n.onDragStop(e))}),i||(t.isBlazor?n.trigger("dragStart",{event:e.event,element:n.element,target:n.target,bindEvents:e.bindEvents,dragElement:e.dragElement}):n.trigger("dragStart",{event:e.event,element:n.element,target:n.target}))},n.onDragStop=function(e){var i,s,l,r=n.getSortableInstance(n.curTarget);i=n.getIndex(n.target);var a=n.isPlaceHolderPresent(r);if(a){var o=n.getIndex(r.placeHolderElement,r),c={previousIndex:n===r&&i-o>1?i-1:i,currentIndex:o,target:e.target,droppedElement:n.target,helper:e.helper,cancel:!1,handled:!1};n.trigger("beforeDrop",c,function(s){if(!s.cancel){if(l=s.handled,n.updateItemClass(r),s.handled){var a=n.target.cloneNode(!0);n.target.classList.remove("e-grabbed"),n.target=a}r.element.insertBefore(n.target,r.placeHolderElement);var o=n.getIndex(n.target,r);i=n===r&&i-o>1?i-1:i,n.trigger("drop",{event:e.event,element:r.element,previousIndex:i,currentIndex:o,target:e.target,helper:e.helper,droppedElement:n.target,scopeName:n.scope,handled:l})}t.remove(r.placeHolderElement)})}if(r=n.getSortableInstance(e.target),s=r.element.childElementCount,i=n.getIndex(n.target),r.element===e.target||!a&&n.curTarget===n.target){var h={previousIndex:i,currentIndex:n.curTarget===n.target?i:s,target:e.target,droppedElement:n.target,helper:e.helper,cancel:!1};n.trigger("beforeDrop",h,function(t){r.element!==e.target||t.cancel||(n.updateItemClass(r),r.element.appendChild(n.target),n.trigger("drop",{event:e.event,element:r.element,previousIndex:i,currentIndex:s,target:e.target,helper:e.helper,droppedElement:n.target,scopeName:n.scope}))})}n.target.classList.remove("e-grabbed"),n.target=null,n.curTarget=null,t.remove(e.helper),t.getComponent(n.element,t.Draggable).intDestroy(e.event)},n.bind(),n}m(i,e),s=i,i.prototype.bind=function(){this.element.id||(this.element.id=t.getUniqueID("sortable")),this.itemClass||(this.itemClass="e-sort-item",this.dataBind()),this.initializeDraggable()},i.prototype.initializeDraggable=function(){new t.Draggable(this.element,{helper:this.getHelper,dragStart:this.onDragStart,drag:this.onDrag,dragStop:this.onDragStop,dragTarget:"."+this.itemClass,enableTapHold:!0,tapHoldThreshold:200,queryPositionInfo:this.queryPositionInfo,distance:5})},i.prototype.getPlaceHolder=function(e,t){if(t.placeHolder){var i=t.placeHolder({element:t.element,grabbedElement:this.target,target:e});return i.classList.add("e-sortable-placeholder"),i}return null},i.prototype.isValidTarget=function(e,i){return e&&t.compareElementParent(e,i.element)&&e.classList.contains(i.itemClass)&&!e.classList.contains("e-disabled")},i.prototype.removePlaceHolder=function(e){t.remove(e.placeHolderElement),e.placeHolderElement=null},i.prototype.updateItemClass=function(e){this!==e&&(this.target.classList.remove(this.itemClass),this.target.classList.add(e.itemClass))},i.prototype.getSortableInstance=function(e){if(e=t.closest(e,".e-"+this.getModuleName())){var i=t.getComponent(e,s);return i.scope&&this.scope&&i.scope===this.scope?i:this}return this},i.prototype.refreshDisabled=function(e,t,i){if(i===this)for(var s=void 0,n=e<t,l=void 0,r=n?e:t,a=n?t:e;r<=a;)(s=this.element.children[r]).classList.contains("e-disabled")?(l=this.getIndex(s),this.element.insertBefore(s,this.element.children[n?l+2:l-1]),r=n?l+2:l+1):r++},i.prototype.getIndex=function(e,i,s){void 0===i&&(i=this);var n,l;return[].slice.call(i.element.children).forEach(function(i,r){if(i.classList.contains("e-sortable-placeholder")&&(l=!0),i!==e);else if(n=r,!t.isNullOrUndefined(s)){l&&(n-=1);var a=e.getBoundingClientRect(),o=a.bottom-(a.bottom-a.top)/2;n=s.clientY<=o?n:n+1}}),n},i.prototype.getSortableElement=function(e,i){return void 0===i&&(i=this),t.closest(e,"."+i.itemClass)},i.prototype.queryPositionInfo=function(e){return e.left=pageXOffset?parseFloat(e.left)-pageXOffset+"px":e.left,e.top=pageYOffset?parseFloat(e.top)-pageYOffset+"px":e.top,e},i.prototype.isPlaceHolderPresent=function(e){return e.placeHolderElement&&!!t.closest(e.placeHolderElement,"#"+e.element.id)},i.prototype.moveTo=function(e,t,i){l(this.element,e,t,i)},i.prototype.destroy=function(){"e-sort-item"===this.itemClass&&(this.itemClass=null,this.dataBind()),t.getComponent(this.element,t.Draggable).destroy(),e.prototype.destroy.call(this)},i.prototype.getModuleName=function(){return"sortable"},i.prototype.onPropertyChanged=function(e,t){for(var i=0,s=Object.keys(e);i<s.length;i++)switch(s[i]){case"itemClass":[].slice.call(this.element.children).forEach(function(i){i.classList.contains(t.itemClass)&&i.classList.remove(t.itemClass),e.itemClass&&i.classList.add(e.itemClass)})}};var s;return f([t.Property(!1)],i.prototype,"enableAnimation",void 0),f([t.Property(null)],i.prototype,"itemClass",void 0),f([t.Property(null)],i.prototype,"scope",void 0),f([t.Property()],i.prototype,"helper",void 0),f([t.Property()],i.prototype,"placeHolder",void 0),f([t.Event()],i.prototype,"drag",void 0),f([t.Event()],i.prototype,"beforeDragStart",void 0),f([t.Event()],i.prototype,"dragStart",void 0),f([t.Event()],i.prototype,"beforeDrop",void 0),f([t.Event()],i.prototype,"drop",void 0),i=s=f([t.NotifyPropertyChanges],i)}(t.Base);return u.Inject(p),e.classNames=h,e.FieldSettings=d,e.ListView=u,e.Virtualization=p,e.getFieldValues=n,e.Sortable=v,e.moveTo=l,e}({},ej.base,ej.data,ej.buttons),this.ejs=ej;
|