UNPKG

@syncfusion/ej2-lists

Version:

The listview control allows you to select an item or multiple items from a list-like interface and represents the data in interactive hierarchical structure across different layouts or views.

10 lines 94.9 kB
/*! * filename: ej2-lists.min.js * version : 30.2.4 * Copyright Syncfusion Inc. 2001 - 2024. 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){if(e)try{return"function"!=typeof e&&document.querySelector(e)?t.compile(document.querySelector(e).innerHTML.trim()):t.compile(e)}catch(i){return t.compile(e)}}function r(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 r(e,i,s,n,l){var r=t.extend({},H,s),o=t.extend({},D,r.ariaAttributes),c=g(i).typeof;return"string"===c||"number"===c?a(e,i,n,s,l):h(e,i,s,o.level,n,l)}function a(e,t,i,s,n){return O(e,o(e,t,i,s,n),null,s)}function o(i,s,n,l,r){var a=[],o=t.extend({},H,l);e.cssClass=C(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?L(i,s[h],void 0,null,null,[],null,c,h,l):E(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 c(i,l,r,a,o,c){var h=t.extend({},H,r);e.cssClass=C(h.moduleName);var d,u=!c||"listview"!==c.getModuleName()&&"multiselect"!==c.getModuleName()?t.extend({},s.defaultMappedFields,h.fields):h.fields,p=t.extend({},D,h.ariaAttributes),m=[];a&&(p.level=a);var f,I,y=[];l&&l.length&&!t.isNullOrUndefined(g(l).item)&&!Object.prototype.hasOwnProperty.call(g(l).item,u.id)&&(d=w());for(var b=0;b<l.length;b++){var S=n(l[b],u);if(!t.isNullOrUndefined(l[b])){if(h.itemCreating&&"function"==typeof h.itemCreating){F={dataSource:l,curData:l[b],text:S[u.text],options:h,fields:u};h.itemCreating(F)}var V=l[b];h.itemCreating&&"function"==typeof h.itemCreating&&(S=n(l[b],u)),Object.prototype.hasOwnProperty.call(S,u.id)&&!t.isNullOrUndefined(S[u.id])&&(d=S[u.id]);var O=[];if(h.showCheckBox&&(h.itemNavigable&&(S[u.url]||S[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){if(h.showIcon&&Object.prototype.hasOwnProperty.call(S,u.iconCss)&&!t.isNullOrUndefined(S[u.iconCss])&&O.push(i("span",{className:e.cssClass.icon+" "+S[u.iconCss]})),f=L(i,V,S,u,h.itemClass,O,!(!Object.prototype.hasOwnProperty.call(V,"isHeader")||!V.isHeader),d,b,r),I=f.querySelector("."+e.cssClass.anchorWrap),Object.prototype.hasOwnProperty.call(S,u.tooltip)){k=S[u.tooltip];r&&r.enableHtmlSanitizer?k=t.SanitizeHtmlHelper.sanitize(k):(k=(N=i("span",{innerHTML:k})).innerText,N=null),f.setAttribute("title",k)}h.itemNavigable&&m.length&&t.prepend(m,f.firstElementChild)}else{if((f=E(i,V,S,u,h.itemClass,r,c)).classList.add(e.cssClass.level+"-"+p.level),f.setAttribute("aria-level",p.level.toString()),"presentation"!==p.groupItemRole&&"presentation"!==p.itemRole||f.removeAttribute("aria-level"),I=f.querySelector("."+e.cssClass.anchorWrap),Object.prototype.hasOwnProperty.call(S,u.tooltip)){var k=S[u.tooltip];if(r&&r.enableHtmlSanitizer)k=t.SanitizeHtmlHelper.sanitize(k);else{var N=i("span",{innerHTML:k});k=N.innerText,N=null}f.setAttribute("title",k)}if(Object.prototype.hasOwnProperty.call(S,u.htmlAttributes)&&S[u.htmlAttributes]){var T=S[u.htmlAttributes];"class"in T&&"string"==typeof T.class&&""===T.class.trim()&&delete T.class,v(f,T)}if(Object.prototype.hasOwnProperty.call(S,u.enabled)&&!1===S[u.enabled]&&f.classList.add(e.cssClass.disabled),Object.prototype.hasOwnProperty.call(S,u.isVisible)&&!1===S[u.isVisible]&&(f.style.display="none"),Object.prototype.hasOwnProperty.call(S,u.imageUrl)&&!t.isNullOrUndefined(S[u.imageUrl])&&!h.template){var B={src:S[u.imageUrl],alt:t.isNullOrUndefined(S.name)?"Displaying Image":"Displaying "+S.name+" Image"};t.merge(B,S[u.imageAttributes]);var U=i("img",{className:e.cssClass.image,attrs:B});I?I.insertAdjacentElement("afterbegin",U):t.prepend([U],f.firstElementChild)}if(h.showIcon&&Object.prototype.hasOwnProperty.call(S,u.iconCss)&&!t.isNullOrUndefined(S[u.iconCss])&&!h.template){var A=i("div",{className:e.cssClass.icon+" "+S[u.iconCss]});I?I.insertAdjacentElement("afterbegin",A):t.prepend([A],f.firstElementChild)}O.length&&t.prepend(O,f.firstElementChild),h.itemNavigable&&m.length&&t.prepend(m,f.firstElementChild),x(i,S,u,l,h,f,p.level)}if(I&&t.addClass([f],[e.cssClass.navigable]),h.itemCreated&&"function"==typeof h.itemCreated){var F={dataSource:l,curData:l[b],text:S[u.text],item:f,options:h,fields:u};h.itemCreated(F)}m=[],y.push(f)}}return y}function h(e,i,s,n,l,r){var a=t.extend({},H,s);return O(e,c(e,i,s,n,l,r),a.listClass,s)}function d(i,s,n){if(e.cssClass=C(H.moduleName),i&&i.length){var l,r,a=Array.prototype.slice.call(i);for(l=a[(r=s?u(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 u(e,t){if(t&&e){return Array.prototype.slice.call(t).indexOf(e)}}function p(e,n,l){void 0===l&&(l="None");var r=t.extend({},s.defaultMappedFields,n),a=(new i.Query).group(r.groupBy),o=f(e,a=m(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 p=0;p<h.length;p++)e.push(h[p])}return e}function m(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 f(e,t){return new i.DataManager(e).executeLocal(t)}function I(e,i){var n=t.extend({},H,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,f=Object.keys(m),g=0;g<m.length;g++)m[Number(f[g])].hasChildNodes()||(p[l.text]=m[Number(f[g])].textContent);var v=y(h);v.id?(p[l.id]=v.id,delete v.id):p[l.id]=w(),Object.keys(v).length&&(p[l.htmlAttributes]=v),d&&(v=y(d),Object.keys(v).length&&(p[l.urlAttributes]=v)),u&&(p[l.child]=I(u,i)),a.push(p)}return a}function g(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 v(e,i){var s={};t.merge(s,i),s.class&&(t.addClass([e],s.class.split(" ")),delete s.class),t.attributes(e,s)}function y(e){for(var t={},i=e.attributes,s=0;s<i.length;s++)t[i[s].nodeName]=i[s].nodeValue;return t}function b(i,r,a,o,c,h){e.cssClass=C(H.moduleName);for(var d,u=i("ul",{className:e.cssClass.ul,attrs:{role:"presentation"}}),p=t.extend({},H,c),m=t.extend({},s.defaultMappedFields,o),f=l(r),I=[],g=w(),v=0;v<a.length;v++){var y=n(a[v],m),b=a[v],S=b.isHeader;if(d="string"==typeof a[v]||"number"==typeof a[v]?b:y[m.value],p.itemCreating&&"function"==typeof p.itemCreating){E={dataSource:a,curData:b,text:d,options:p,fields:m};p.itemCreating(E)}p.itemCreating&&"function"==typeof p.itemCreating&&(y=n(a[v],m),d="string"==typeof a[v]||"number"==typeof a[v]?b:y[m.value]);var x=i("li",{id:g+"-"+v,className:S?e.cssClass.group:e.cssClass.li,attrs:{role:"presentation"}});if(S)"string"==typeof a[v]||"number"==typeof a[v]?x.innerText=b:x.innerText=y[m.text];else{var L=S?p.groupTemplateID:p.templateID;if(S)h&&"listview"!==h.getModuleName()?(V=f(b,h,"headerTemplate",L,!!p.isStringTemplate,null,x))&&t.append(V,x):t.append(f(b,h,"headerTemplate",L,!!p.isStringTemplate),x);else if(h&&"listview"!==h.getModuleName()){var V=f(b,h,"template",L,!!p.isStringTemplate,null,x);V&&t.append(V,x)}else t.append(f(b,h,"template",L,!!p.isStringTemplate),x);x.setAttribute("data-value",t.isNullOrUndefined(d)?"null":d),x.setAttribute("role","option")}if(p.itemCreated&&"function"==typeof p.itemCreated){var E={dataSource:a,curData:b,text:d,item:x,options:p,fields:m};p.itemCreated(E)}I.push(x)}return t.append(I,u),u}function S(e,i,n,r,a,o){for(var c=l(e),h=t.extend({},s.defaultMappedFields,n),d=t.extend({},H,a),u=h.groupBy,p=0,m=r;p<m.length;p++){var f=m[p],I={};if(I[""+u]=f.textContent,f.innerHTML="",o&&"listview"!==o.getModuleName()){var g=c(I,o,"groupTemplate",d.groupTemplateID,!!d.isStringTemplate,null,f);g&&t.append(g,f)}else t.append(c(I,o,"groupTemplate",d.groupTemplateID,!!d.isStringTemplate),f)}return r}function w(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}function x(i,s,n,l,r,a,o){var c=s[n.child]||[],d=s[n.hasChildren];if(c.length&&(d=!0,a.classList.add(e.cssClass.hasChild),r.processSubChild)){var u=h(i,c,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 L(i,s,n,l,r,a,o,c,h,d){var u,p=t.extend({},H,d),m=t.extend({},D,p.ariaAttributes),f=s,I=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]||"",I=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&&Object.prototype.hasOwnProperty.call(n,l.enabled)&&"false"===n[l.enabled].toString()&&y.classList.add(e.cssClass.disabled),d&&d.enableHtmlSanitizer&&(f=t.SanitizeHtmlHelper.sanitize(f)),o?y.innerText=f:(y.setAttribute("data-value",t.isNullOrUndefined(I)?"null":I),y.setAttribute("role","option"),u&&Object.prototype.hasOwnProperty.call(n,l.htmlAttributes)&&n[l.htmlAttributes]&&v(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(V(i,u,l,f,a,p.itemNavigable)):(a.length&&p.itemNavigable&&t.append(a,y),y.appendChild(document.createTextNode(f)))),y}function C(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 V(i,s,l,r,a,o){var c=n(s,l),h={href:c[l.url]};Object.prototype.hasOwnProperty.call(c,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 v(d,h),d}function E(i,s,n,r,a,o,c){var h,d,u,p=t.extend({},H,o),m=t.extend({},D,p.ariaAttributes),f=s;"string"!=typeof s&&"number"!=typeof s&&(u=s,f=n[r.text]||"",h=t.isNullOrUndefined(n._id)?n[r.id]:n._id,d=!(!Object.prototype.hasOwnProperty.call(s,"isHeader")||!s.isHeader)),o&&o.enableHtmlSanitizer&&(f=t.SanitizeHtmlHelper.sanitize(f));var I=i("li",{className:(!0===d?e.cssClass.group:e.cssClass.li)+" "+(t.isNullOrUndefined(a)?"":a),attrs:""!==m.groupItemRole&&""!==m.itemRole?{role:!0===d?m.groupItemRole:m.itemRole}:{}});if(!0==!t.isNullOrUndefined(h)?I.setAttribute("data-uid",h):I.setAttribute("data-uid",w()),d&&o&&o.groupTemplate){g=l(o.groupTemplate);c&&"listview"!==c.getModuleName()?(v=g(s,c,"groupTemplate",p.groupTemplateID,!!p.isStringTemplate,null,I))&&t.append(v,I):t.append(g(s,c,"groupTemplate",p.groupTemplateID,!!p.isStringTemplate),I)}else if(!d&&o&&o.template){var g=l(o.template);if(c&&"listview"!==c.getModuleName()){var v=g(s,c,"template",p.templateID,!!p.isStringTemplate,null,I);v&&t.append(v,I)}else t.append(g(s,c,"template",p.templateID,!!p.isStringTemplate),I)}else{var y=i("div",{className:e.cssClass.textContent,attrs:""!==m.wrapperRole?{role:m.wrapperRole}:{}});if(u&&(n[r.url]||n[r.urlAttributes]&&n[r.urlAttributes].href))y.appendChild(V(i,u,r,f,null,p.itemNavigable));else{var b=i("span",{className:e.cssClass.text,attrs:""!==m.itemText?{role:m.itemText}:{}});o&&o.enableHtmlSanitizer?b.innerText=f:b.innerHTML=f,y.appendChild(b)}I.appendChild(y)}return I}function O(i,s,n,l){var r=t.extend({},H,l),a=t.extend({},D,r.ariaAttributes);e.cssClass=C(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 k(i,s,n,l){var r=t.extend({},H,l);return e.cssClass=C(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,sortBy:null};var D={level:1,listRole:"presentation",itemRole:"presentation",groupItemRole:"group",itemText:"list-item",wrapperRole:"presentation"},H={showCheckBox:!1,showIcon:!1,enableHtmlSanitizer:!1,expandCollapse:!1,fields:s.defaultMappedFields,ariaAttributes:D,listClass:"",itemClass:"",processSubChild:!1,sortOrder:"None",template:null,groupTemplate:null,headerTemplate:null,expandIconClass:"e-icon-collapsible",moduleName:"list",expandIconPosition:"Right",itemNavigable:!1};s.createList=r,s.createListFromArray=a,s.createListItemFromArray=o,s.createListItemFromJson=c,s.createListFromJson=h,s.getSiblingLI=d,s.indexOf=u,s.groupDataSource=p,s.addSorting=m,s.getDataSource=f,s.createJsonFromElement=I,s.renderContentTemplate=b,s.renderGroupTemplate=S,s.generateId=w,s.generateUL=O,s.generateIcon=k}(e.ListBase||(e.ListBase={}));var a=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)}}(),o=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},c={None:[],SlideLeft:["SlideRightOut","SlideLeftOut","SlideLeftIn","SlideRightIn"],SlideDown:["SlideTopOut","SlideBottomOut","SlideBottomIn","SlideTopIn"],Zoom:["FadeOut","FadeZoomOut","FadeZoomIn","FadeIn"],Fade:["FadeOut","FadeOut","FadeIn","FadeIn"]},h={None:[],SlideLeft:["SlideLeftOut","SlideRightOut","SlideRightIn","SlideLeftIn"],SlideDown:["SlideBottomOut","SlideTopOut","SlideTopIn","SlideBottomIn"],Zoom:["FadeZoomOut","FadeOut","FadeIn","FadeZoomIn"],Fade:["FadeOut","FadeOut","FadeIn","FadeIn"]},d={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",container:"e-list-container",icon:"e-icons",backIcon:"e-icon-back",backButton:"e-back-button",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",listTemplate:"e-listview-template"},u=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return a(i,e),o([t.Property("id")],i.prototype,"id",void 0),o([t.Property("text")],i.prototype,"text",void 0),o([t.Property("isChecked")],i.prototype,"isChecked",void 0),o([t.Property("isVisible")],i.prototype,"isVisible",void 0),o([t.Property("enabled")],i.prototype,"enabled",void 0),o([t.Property("iconCss")],i.prototype,"iconCss",void 0),o([t.Property("child")],i.prototype,"child",void 0),o([t.Property("tooltip")],i.prototype,"tooltip",void 0),o([t.Property("groupBy")],i.prototype,"groupBy",void 0),o([t.Property("text")],i.prototype,"sortBy",void 0),o([t.Property("htmlAttributes")],i.prototype,"htmlAttributes",void 0),o([t.Property("tableName")],i.prototype,"tableName",void 0),i}(t.ChildProperty),p=function(l){function r(e,t){var i=l.call(this,e,t)||this;return i.previousSelectedItems=[],i.hiddenItems=[],i.enabledItems=[],i.disabledItems=[],i}return a(r,l),r.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.virtualizationModule.reRenderUiVirtualization():this.reRender();break;case"headerTitle":this.curDSLevel.length||this.header(this.headerTitle,!1,"header");break;case"query":this.enableVirtualization?this.virtualizationModule.reRenderUiVirtualization():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":this.enableVirtualization?this.virtualizationModule.reRenderUiVirtualization():this.setCheckbox();break;case"dataSource":this.previousScrollTop=this.element.scrollTop,this.enableVirtualization?this.virtualizationModule.reRenderUiVirtualization():this.reRender();break;case"sortOrder":case"template":this.enableVirtualization||this.refresh();break;case"showIcon":this.enableVirtualization?this.virtualizationModule.reRenderUiVirtualization():(this.listBaseOption.showIcon=this.showIcon,this.curViewDS=this.getSubDS(),this.resetCurrentList())}},r.prototype.setHTMLAttribute=function(){!t.isNullOrUndefined(this.htmlAttributes)&&Object.keys(this.htmlAttributes).length&&t.attributes(this.element,this.htmlAttributes)},r.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}))},r.prototype.setSize=function(){this.element.style.height=t.formatUnit(this.height),this.element.style.width=t.formatUnit(this.width),this.isWindow=!this.element.clientHeight},r.prototype.setEnable=function(){this.enableElement(this.element,this.enable)},r.prototype.setEnableRTL=function(){this.enableRtl?this.element.classList.add("e-rtl"):this.element.classList.remove("e-rtl")},r.prototype.enableElement=function(e,t){t?e.classList.remove(d.disable):e.classList.add(d.disable)},r.prototype.header=function(e,i,s){if(void 0===this.headerEle&&this.showHeader){this.headerEle=this.createElement("div",{className:d.header});var n=this.createElement("span",{className:d.headerText});this.enableHtmlSanitizer?(this.setProperties({headerTitle:t.SanitizeHtmlHelper.sanitize(this.headerTitle)},!0),n.innerText=this.headerTitle):n.innerHTML=this.headerTitle;var l=this.createElement("div",{className:d.text,innerHTML:n.outerHTML}),r=this.createElement("div",{className:d.icon+" "+d.backIcon+" "+d.backButton,attrs:{style:"display:none;"}});if(this.headerEle.appendChild(r),this.headerEle.appendChild(l),this.headerTemplate){var a=t.compile(this.headerTemplate),o=this.createElement("div",{className:d.headerTemplateText}),c=a({},this,s,this.LISTVIEW_HEADERTEMPLATE_ID,null,null,this.headerEle);c&&t.append(c,o),t.append([o],this.headerEle),this.isReact&&this.renderReactTemplates()}this.headerTemplate&&this.headerTitle&&l.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 l=this.headerEle.querySelector("."+d.headerText),r=this.headerEle.querySelector("."+d.backIcon);this.enableHtmlSanitizer&&(e=t.SanitizeHtmlHelper.sanitize(e)),l.innerHTML=e,this.headerTemplate&&i&&(l.parentElement.classList.remove("header"),this.headerEle.querySelector("."+d.headerTemplateText).classList.add("nested-header")),this.headerTemplate&&!i&&(l.parentElement.classList.add("header"),this.headerEle.querySelector("."+d.headerTemplateText).classList.remove("nested-header"),this.headerEle.querySelector("."+d.headerTemplateText).classList.add("header")),r.style.display=!0===i?"":"none"}else this.headerEle.style.display="none"},r.prototype.switchView=function(e,i,s){var n=this;if(e&&i){var l=e.style.position,r="hidden"!==this.element.style.overflow?this.element.style.overflow:"";e.style.position="absolute",e.classList.add("e-view");var a=void 0,o=this.animation.duration;if(this.animation.effect)a=this.enableRtl?h[this.animation.effect]:c[this.animation.effect];else{a=c.SlideLeft,s=this.enableRtl,o=0}this.element.style.overflow="hidden",this.aniObj.animate(e,{name:!0===s?a[0]:a[1],duration:0===o&&"Enable"===t.animationMode?400:o,timingFunction:this.animation.easing,end:function(){e.style.display="none",n.element.style.overflow=r,e.style.position=l,e.classList.remove("e-view")}}),i.style.display="",this.aniObj.animate(i,{name:!0===s?a[2]:a[3],duration:0===o&&"Enable"===t.animationMode?400:o,timingFunction:this.animation.easing,end:function(){n.trigger("actionComplete")}}),this.curUL=i}},r.prototype.preRender=function(){if(this.template)try{"function"!=typeof this.template&&document.querySelectorAll(this.template).length&&this.setProperties({template:document.querySelector(this.template).innerHTML.trim()},!0)}catch(e){t.compile(this.template)}this.listBaseOption={template:this.template,headerTemplate:this.headerTemplate,groupTemplate:this.groupTemplate,expandCollapse:!0,listClass:"",ariaAttributes:{itemRole:"listitem",listRole:"list",itemText:"",groupItemRole:"presentation",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},this.initialization()},r.prototype.initialization=function(){this.curDSLevel=[],this.animateOptions={},this.curViewDS=[],this.currentLiElements=[],this.isNestedList=!1,this.selectedData=[],this.selectedId=this.enablePersistence?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.curUL=this.ulElement=this.liCollection=this.headerEle=this.contentContainer=void 0},r.prototype.renderCheckbox=function(e){var i=this;if(e.item.classList.contains(d.hasChild)&&(this.isNestedList=!0),this.showCheckBox&&e.item.classList.contains(d.listItem)){var l,r=s.createCheckBox(this.createElement,!1,{checked:!1,enableRtl:this.enableRtl,cssClass:d.listviewCheckbox});r.setAttribute("role","checkbox");var a=r.querySelector("."+d.checkboxIcon);e.item.classList.add(d.itemCheckList),e.item.firstElementChild.classList.add(d.checkbox),this.template&&this.element?t.addClass([this.element],d.listTemplate):null===this.template&&this.element&&this.element.classList&&this.element.classList.contains("e-listview-template")&&t.removeClass([this.element],d.listTemplate),"string"!=typeof this.dataSource[0]&&"number"!=typeof this.dataSource[0]?(l=n(e.curData,this.listBaseOption.fields),this.enablePersistence&&!t.isNullOrUndefined(this.selectedId)?-1!==this.selectedId.findIndex(function(e){return e===l[i.listBaseOption.fields.id].toString()})&&this.checkInternally(e,r):l[this.listBaseOption.fields.isChecked]&&this.checkInternally(e,r)):"string"!=typeof this.dataSource[0]&&"number"!=typeof this.dataSource[0]||-1===this.selectedData.indexOf(e.text)||this.checkInternally(e,r),r.setAttribute("aria-checked",a.classList.contains(d.checked)?"true":"false"),r.setAttribute("aria-label",e.text),"Left"===this.checkBoxPosition?(r.classList.add(d.checkboxLeft),e.item.firstElementChild.classList.add(d.checkboxLeft),e.item.firstElementChild.insertBefore(r,e.item.firstElementChild.childNodes[0])):(r.classList.add(d.checkboxRight),e.item.firstElementChild.classList.add(d.checkboxRight),e.item.firstElementChild.appendChild(r)),this.currentLiElements.push(e.item),"Left"===this.checkBoxPosition?this.virtualCheckBox=e.item.firstElementChild.children[0]:this.virtualCheckBox=e.item.firstElementChild.lastElementChild}},r.prototype.checkInternally=function(e,t){e.item.classList.add(d.selected),t.querySelector("."+d.checkboxIcon).classList.add(d.checked),t.setAttribute("aria-checked","true")},r.prototype.checkItem=function(e){this.toggleCheckBase(e,!0)},r.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("."+d.checkboxIcon);!0===i?s.classList.add(d.selected):s.classList.remove(d.selected),!0===i?n.classList.add(d.checked):n.classList.remove(d.checked),n.parentElement.setAttribute("aria-checked",i?"true":"false")}this.setSelectedItemData(s),this.updateSelectedId()}},r.prototype.uncheckItem=function(e){this.toggleCheckBase(e,!1)},r.prototype.checkAllItems=function(){this.toggleAllCheckBase(!0)},r.prototype.uncheckAllItems=function(){this.toggleAllCheckBase(!1)},r.prototype.toggleAllCheckBase=function(e){if(this.showCheckBox){for(var t=0;t<this.liCollection.length;t++){var i=this.liCollection[t].querySelector("."+d.checkboxIcon);i&&(e?i.classList.contains(d.checked)||this.checkItem(this.liCollection[t]):i.classList.contains(d.checked)&&this.uncheckItem(this.liCollection[t]))}this.enableVirtualization&&this.virtualizationModule.checkedItem(e),this.updateSelectedId()}},r.prototype.setCheckbox=function(){if(this.showCheckBox)for(var e=Array.prototype.slice.call(this.element.querySelectorAll("."+d.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("."+d.checkboxWrapper)&&this.removeElement(s.querySelector("."+d.checkboxWrapper)),this.renderCheckbox(t),t.item.classList.contains(d.selected)&&this.checkInternally(t,t.item.querySelector("."+d.checkboxWrapper))}else{for(var e=Array.prototype.slice.call(this.element.querySelectorAll("."+d.itemCheckList)),i=0;i<e.length;i++)(s=e[i]).classList.remove(d.selected),s.firstElementChild.classList.remove(d.checkbox),this.removeElement(s.querySelector("."+d.checkboxWrapper));this.selectedItems&&this.selectedItems.item.classList.add(d.selected)}},r.prototype.refreshItemHeight=function(){this.virtualizationModule&&this.virtualizationModule.refreshItemHeight()},r.prototype.handleCheckboxState=function(e,i,s,n,l,r,a,o){this.trigger("select",r,function(c){c.cancel&&((a?n:!n)?(i.classList.add(d.checked),e.classList.add(d.selected)):(i.classList.remove(d.checked),e.classList.remove(d.selected)),s.setAttribute("aria-checked",a?n?"true":"false":n?"false":"true"),t.merge(r,{isChecked:i.classList.contains(d.checked)}),l&&(e.classList.remove(d.focused),o&&o.classList.remove("e-focused")))})},r.prototype.clickHandler=function(e){if(!Array.isArray(this.dataSource)||0!==this.dataSource.length){var i=e.target;this.targetElement=i;var s,n=i.classList;if(n.contains(d.backIcon)||n.contains(d.headerText))this.showCheckBox&&this.curDSLevel[this.curDSLevel.length-1]&&this.uncheckAllItems(),this.back();else{var l=t.closest(i.parentNode,"."+d.listItem);if(null===l&&(l=i),this.removeFocus(),this.enable&&this.showCheckBox&&this.isValidLI(l))if(e.target.classList.contains(d.checkboxIcon)){if(l.classList.add(d.focused),t.isNullOrUndefined(l.querySelector("."+d.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("."+d.checkboxWrapper))}else this.uncheckItem(l),l.classList.add(d.focused);if(this.enableVirtualization&&this.virtualizationModule.setCheckboxLI(l,e),e){var a=this.selectEventData(l,e),o=l.querySelector("."+d.checkboxIcon);t.merge(a,{isChecked:o.classList.contains(d.checked)});var c=l.querySelector("."+d.checkboxWrapper),h=o.classList.contains(d.checked),u=l.classList.contains(d.focused);this.handleCheckboxState(l,o,c,h,u,a,!1)}}else l.classList.contains(d.hasChild)?(this.removeHover(),this.removeSelect(),this.removeSelect(l),this.setSelectLI(l,e),l.classList.remove(d.selected)):(this.setCheckboxLI(l,e),"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName||(i.classList.add("e-focused"),this.targetElement=i));else this.setSelectLI(l,e),"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName||(i.classList.add("e-focused"),this.targetElement=i);s=t.closest(e.target,"li"),t.isNullOrUndefined(s)||s.classList.contains("e-has-child")&&!e.target.parentElement.classList.contains("e-listview-checkbox")&&s.classList.add(d.disable)}this.updateSelectedId()}},r.prototype.removeElement=function(e){return e&&e.parentNode&&e.parentNode.removeChild(e)},r.prototype.hoverHandler=function(e){var i=t.closest(e.target.parentNode,"."+d.listItem);this.setHoverLI(i)},r.prototype.leaveHandler=function(){this.removeHover()},r.prototype.homeKeyHandler=function(e,t){if(e.preventDefault(),Object.keys(this.dataSource).length&&this.curUL){var i=this.curUL.querySelectorAll("."+d.listItem),s=this.curUL.querySelector("."+d.focused)||this.curUL.querySelector("."+d.selected);s&&(s.classList.remove(d.focused),this.showCheckBox||s.classList.remove(d.selected));var n=t?i.length-1:0;i[n].classList.contains(d.hasChild)||this.showCheckBox?i[n].classList.add(d.focused):this.setSelectLI(i[n],e),i[n]?this.element.setAttribute("aria-activedescendant",i[n].id.toString()):this.element.removeAttribute("aria-activedescendant")}},r.prototype.onArrowKeyDown=function(i,s){var n,l;return!t.isNullOrUndefined(this.curUL.querySelector("."+d.hasChild))||this.showCheckBox?(l=this.curUL.querySelector("."+d.focused)||this.curUL.querySelector("."+d.selected),n=e.ListBase.getSiblingLI(this.curUL.querySelectorAll("."+d.listItem),l,s),t.isNullOrUndefined(n)||(l&&(l.classList.remove(d.focused),this.showCheckBox||l.classList.remove(d.selected)),n.classList.contains(d.hasChild)||this.showCheckBox?n.classList.add(d.focused):this.setSelectLI(n,i))):(l=this.curUL.querySelector("."+d.selected),n=e.ListBase.getSiblingLI(this.curUL.querySelectorAll("."+d.listItem),l,s),this.setSelectLI(n,i)),n?this.element.setAttribute("aria-activedescendant",n.id.toString()):this.element.removeAttribute("aria-activedescendant"),n},r.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("."+d.listItem).getBoundingClientRect(),a=void 0,o=void 0;if(this.fields.groupBy&&(o=this.curUL.querySelector("."+d.groupListItem).getBoundingClientRect()),s){var c=s.getBoundingClientRect().top,h=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+h:c-n+h)>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)}},r.prototype.enterKeyHandler=function(e){if(Object.keys(this.dataSource).length&&this.curUL){var i=!t.isNullOrUndefined(this.curUL.querySelector("."+d.hasChild)),s=this.curUL.querySelector("."+d.focused);i&&s&&(s.classList.remove(d.focused),this.showCheckBox&&(this.removeSelect(),this.removeSelect(s),this.removeHover()),this.setSelectLI(s,e))}},r.prototype.spaceKeyHandler=function(e){if(this.enable&&this.showCheckBox&&Object.keys(this.dataSource).length&&this.curUL){e.preventDefault();var i=this.curUL.querySelector("."+d.focused),s=void 0,n=void 0;if(!t.isNullOrUndefined(i)&&t.isNullOrUndefined(i.querySelector("."+d.checked))){var l={curData:void 0,dataSource:void 0,fields:void 0,options:void 0,text:void 0,item:i};s=l.item.querySelector("."+d.checkboxWrapper),this.checkInternally(l,s),n=s.querySelector("."+d.checkboxIcon+"."+d.icon)}else this.uncheckItem(i);var r=this.selectEventData(i,e);if(t.merge(r,{isChecked:!!n&&n.classList.contains(d.checked)}),!t.isNullOrUndefined(i)){var a=i.querySelector("."+d.checkboxWrapper),o=i.querySelector("."+d.checkboxIcon),c=o.classList.contains(d.checked),h=i.classList.contains(d.focused);this.handleCheckboxState(i,o,a,c,h,r,!1)}this.updateSelectedId()}},r.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:!t.isNullOrUndefined(this.targetElement)&&this.targetElement.classList.contains("e-focused")||this.spaceKeyHandler(e)}},r.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())},r.prototype.focusout=function(){if(Object.keys(this.dataSource).length&&this.curUL){var e=this.curUL.querySelector("."+d.focused);e&&(e.classList.remove(d.focused),this.showCheckBox||t.isNullOrUndefined(this.selectedLI)||this.selectedLI.classList.add(d.selected))}},r.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)}),t.isNullOrUndefined(this.scroll)||t.EventHandler.add(this.element,"scroll",this.onListScroll,this)},r.prototype.unWireEvents=function(){t.EventHandler.remove(this.element,"keydown",this.keyActionHandler),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),t.EventHandler.remove(this.element,"focusout",this.focusout),t.isNullOrUndefined(this.scroll)||t.EventHandler.remove(this.element,"scroll",this.onListScroll),this.touchModule&&this.touchModule.destroy(),this.touchModule=null},r.prototype.removeFocus=function(){for(var e=0,t=this.element.querySelectorAll("."+d.focused);e<t.length;e++)t[e].classList.remove(d.focused)},r.prototype.removeHover=function(){var e=this.element.querySelector("."+d.hover);e&&e.classList.remove(d.hover)},r.prototype.removeSelect=function(e){if(t.isNullOrUndefined(e))for(var i=0,s=this.element.querySelectorAll("."+d.selected);i<s.length;i++){var n=s[i];this.showCheckBox&&n.querySelector("."+d.checked)||n.classList.remove(d.selected)}else e.classList.remove(d.selected)},r.prototype.isValidLI=function(e){return e&&e.classList.contains(d.listItem)&&!e.classList.contains(d.groupListItem)&&!e.classList.contains(d.disable)},r.prototype.setCheckboxLI=function(e,i){if(this.isValidLI(e)&&this.enable&&this.showCheckBox){this.curUL.querySelector("."+d.focused)&&this.curUL.querySelector("."+d.focused).classList.remove(d.focused);var s=e.querySelector("textarea")||e.querySelector("input");e.classList.add(d.focused),t.isNullOrUndefined(i)||i.target===s&&s.classList.add("e-focused");var n=e.querySelector("."+d.checkboxWrapper),l=n.querySelector("."+d.checkboxIcon+"."+d.icon);this.removeHover();var r=l.classList.contains(d.checked),a=e.classList.contains(d.focused);r?(l.classList.remove(d.checked),e.classList.remove(d.selected)):(l.classList.add(d.checked),e.classList.add(d.selected)),n.setAttribute("aria-checked",l.classList.contains(d.checked)?"true":"false");var o=this.selectEventData(e,i);t.merge(o,{isChecked:l.classList.contains(d.checked)}),this.enableVirtualization&&this.virtualizationModule.setCheckboxLI(e,i),this.handleCheckboxState(e,l,n,r,a,o,!0,s),this.setSelectedItemData(e),this.renderSubList(e)}},r.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,cancel:!1,index:this.curUL&&Array.prototype.indexOf.call(this.curUL.children,e)}),a},r.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}},r.prototype.setSelectLI=function(e,t){var i=this;if(this.isValidLI(e)&&!e.classList.contains(d.selected)&&this.enable){this.showCheckBox||this.removeSelect(),e.classList.add(d.selected),this.removeHover(),this.setSelectedItemData(e),this.enableVirtualization&&this.virtualizationModule.setSelectLI(e,t);var s=this.selectEventData(e,t);this.trigger("select",s,function(t){t.cancel?(e.classList.remove(d.selected),i.selectedLI=e):(i.selectedLI=e,i.renderSubList(e))})}},r.prototype.setHoverLI=function(e){if(this.isValidLI(e)&&!e.classList.contains(d.hover)&&this.enable){var i=this.element.querySelectorAll("."+d.hover);i&&i.length&&t.removeClass(i,d.hover),e.classList.contains(d.selected)&&!this.showCheckBox||e.classList.add(d.hover)}},r.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},r.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("."+d.hasChild))&&this.fields.groupBy?this.curViewDS:n,this.findItemFromDS(s,l)},r.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 Object.prototype.hasOwnProperty.call(o,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},r.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),Object.prototype.hasOwnProperty.call(this.fields.properties,"tableName")&&s.from(this.fields.tableName)}return s},r.prototype.setViewDataSource=function(i){void 0===i&&(i=this.localData);var s=t.isNullOrUndefined(this.fields.sortBy)?this.fields.text:this.fields.sortBy,n=e.ListBase.addSorting(this.sortOrder,s);i&&this.fields.groupBy?"None"!==this.sortOrder?this.curViewDS=e.ListBase.groupDataSource(e.ListBase.getDataSource(i,n),this.listBaseOption.fields,this.sortOrder):this.curViewDS=e.ListBase.groupDataSource(i,this.listBaseOption.fields,this.sortOrder):i&&"None"!==this.sortOrder?this.curViewDS=e.ListBase.getDataSource(i,n):this.curViewDS=i},r.prototype.isInAnimation=function(){return this.curUL.classList.contains(".e-animate")},r.prototype.renderRemoteLists=function(e,t){this.isDestroyed||(this.localData=e.result,t.removeElement(t.contentContainer),this.renderList(),this.trigger("actionComplete",e))},r.prototype.triggerActionFailure=function(e){this.isDestroyed||this.trigger("actionFailure",e)},r.prototype.setLocalData=function(){var s=this;if(this.trigger("actionBegin"),this.dataSource instanceof i.DataManager)this.dataSource.ready?this.dataSource.ready.then(function(e){s.isOffline=s.dataSource.dataSource.offline,s.dataSource instanceof i.DataManager&&s.isOffline&&s.renderRemoteLists(e,s)}).catch(function(e){s.triggerActionFailure(e)}):this.dataSource.executeQuery(this.getQuery()).then(function(e){s.renderRemoteLists(e,s)}).catch(function(e){s.triggerActionFailure(e)});else if(this.dataSource&&this.dataSource.length)this.localData=this.dataSource,this.renderList(),this.trigger("actionComplete",{data:this.localData});else{var n=this.element.querySelector("ul");n&&(t.remove(n),this.setProperties({dataSource:e.ListBase.createJsonFromElement(n)},!0),this.localData=this.dataSource,this.renderList(),this.trigger("actionComplete",{data:this.localData}))}},r.prototype.reRender=function(){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()},r.prototype.resetCurrentList=function(){this.setViewDataSource(this.curViewDS),this.contentContainer.innerHTML="",this.createList(),this.renderIntoDom(this.curUL)},r.prototype.setAttributes=function(e){for(var t=0;t<e.length;t++){var i=e[parseInt(t.toString(),10)];i.classList.contains("e-list-item")&&(i.setAttribute("id",this.element.id+"_"+i.getAttribute("data-uid")),i.setAttribute("tabindex","-1"))}},r.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("."+d.listItem),this.setAttributes(this.liCollection)},r.prototype.renderSubList=function(i){this.liElement=i;var s=i.getAttribute("data-uid");if(i.classList.contains(d.hasChild)&&s){var l=t.closest(i.parentNode,"."+d.parentItem),r=this.element.querySelector("[pid='"+s+"']");if(this.curDSLevel.push(s),this.setViewDataSource(this.getSubDS()),this.enableVirtualization&&this.virtualizationModule.updateDOMItemCount(),!r){var a=this.curViewDS;r=e.ListBase.createListFromJson(this.createElement,a,this.listBaseOption,this.curDSLevel.length,null,this),this.isReact&&this.renderReactTemplates();var o=r.querySelectorAll("."+d.listItem);this.setAttributes(o),r.setAttribute("pID",s),r.style.display="none",this.renderIntoDom(r)}if(this.switchView(l,r),this.liCollection=this.curUL.querySelectorAll("."+d.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}},r.prototype.renderIntoDom=function(e){this.contentContainer.appendChild(e)},r.prototype.renderList=function(e){this.setViewDataSource(e),this.enableVirtualization?(Object.keys(this.dataSource).length&&(!this.template&&!this.groupTemplate||this.virtualizationModule.isNgTemplate()||(this.listBaseOption.itemCreated=this.virtualizationModule.createUIItem.bind(this.virtualizationModule))),this.virtualizationModule.uiVirtualization()):(this.createList(),this.contentContainer=this.createElement("div",{className:d.container}),this.element.appendChild(this.contentContainer),this.renderIntoDom(this.ulElement),this.isReact&&this.renderReactTemplates())},r.prototype.getElementUID=function(e){var t={};return e instanceof Element?t[this.fields.id]=e.getAttribute("data-uid"):t=e,t},r.prototype.render=function(){this.element.classList.add(d.root),t.attributes(this.element,{tabindex:"0"}),this.setCSSClass(),this.setEnableRTL(),this.setEnable(),this.setSize(),this.wireEvents(),this.header(),this.setLocalData(),this.setHTMLAttribute(),this.rippleFn=t.rippleEffect(this.element,{selector:"."+d.listItem}),this.renderComplete(),this.previousScrollTop=this.element.scrollTop},r.prototype.destroy=function(){this.isReact&&this.clearTemplate(),this.unWireEvents();var e=[d.root,d.disable,"e-rtl","e-has-header","e-lib"].concat(this.cssClass?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,this.element.innerHTML="",this.contentContainer=null,this.selectedItems=null,this.selectedLI=null,this.liElement=null,this.targetElement=null,this.currentLiElements=null,this.virtualCheckBox=null,l.prototype.destroy.call(this)},r.prototype.back=function(){var e=this.curDSLevel[this.curDSLevel.length-1];if(void 0!==e&&!this.isInAnimation()){this.curDSLevel.pop(),this.setViewDataSource(this.getSubDS()),this.enableVirtualization&&this.virtualizationModule.updateDOMItemCount();var i=this.element.querySelector("[data-uid='"+e+"']"),s=this.curUL;i?i=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(d.disable),r.classList.add(d.focused),this.showCheckBox&&r.querySelector("."+d.checkboxIcon).classList.contains(d.checked)||r.classList.remove(d.selected),this.liCollection=this.curUL.querySelectorAll("."+d.listItem),this.enableHtmlSanitizer&&this.setProperties({headerTitle:t.SanitizeHtmlHelper.sanitize(this.headerTitle)},!0),this.header(this.curDSLevel.length?l:this.headerTitle,!!this.curDSLevel.length,"header")}},r.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))},r.prototype.unselectItem=function(e){if(t.isNullOrUndefined(e))this.removeSelect();else{var i=this.getLiFromObjOrElement(e);t.isNullOrUndefined(i)||this.removeSelect(i)}},r.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.getA