UNPKG

js-pkg

Version:
10 lines 88.7 kB
/*! * filename: ej.listbox.min.js * version : 15.3.0.33 * Copyright Syncfusion Inc. 2001 - 2017. 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. */ (function(n){typeof define=="function"&&define.amd?define(["./../common/ej.core.min","./../common/ej.data.min","./../common/ej.scroller.min","./../common/ej.draggable.min","./ej.checkbox.min"],n):n()})(function(){(function($,ej,undefined){ej.widget("ejListBox","ej.ListBox",{element:null,_ignoreOnPersist:["dataSource","query","itemRequestCount","fields","create","change","select","unselect","itemDragStart","itemDrag","itemDragStop","itemDrop","checkChange","destroy","actionComplete","actionFailure","actionSuccess","actionBegin","itemDropped","selected"],model:null,validTags:["ul"],_setFirst:!1,_rootCSS:"e-listbox",defaults:{itemsCount:null,totalItemsCount:null,dataSource:null,query:ej.Query(),itemRequestCount:5,itemHeight:null,fields:{id:null,text:null,imageUrl:null,imageAttributes:null,spriteCssClass:null,htmlAttributes:null,tooltipText:null,selectBy:null,checkBy:null,groupBy:null,tableName:null,selected:null,category:null,toolTipText:null},height:"auto",width:"200",template:null,text:"",selectedIndex:null,checkedIndices:[],selectedIndices:[],cascadeTo:null,value:"",cssClass:"",targetID:null,htmlAttributes:{},showRoundedCorner:!1,enableRTL:!1,enabled:!0,showCheckbox:!1,allowVirtualScrolling:!1,virtualScrollMode:"normal",enablePersistence:!1,allowMultiSelection:!1,allowDrag:!1,allowDrop:!1,enableIncrementalSearch:!1,enableWordWrap:!0,caseSensitiveSearch:!1,loadDataOnInit:!0,create:null,change:null,select:null,unselect:null,itemDragStart:null,itemDrag:null,itemDragStop:null,itemDrop:null,checkChange:null,destroy:null,actionComplete:null,actionSuccess:null,actionBeforeSuccess:null,focusIn:null,focusOut:null,actionFailure:null,actionBegin:null,cascade:null,sortOrder:"none",enableVirtualScrolling:!1,checkAll:!1,uncheckAll:!1,enableLoadOnDemand:!1,itemRequest:null,allowDragAndDrop:undefined,selectedItemIndex:null,enableItemsByIndex:null,checkItemsByIndex:null,disableItemsByIndex:null,uncheckItemsByIndex:null,itemDropped:null,selected:null,selectIndexChanged:null,selectedItems:[],checkedItems:[],checkedItemlist:[],selectedItemlist:[]},dataTypes:{cssClass:"string",itemsCount:"number",itemRequestCount:"number",allowDrag:"boolean",allowDrop:"boolean",enableWordWrap:"boolean",enableIncrementalSearch:"boolean",caseSensitiveSearch:"boolean",template:"string",targetID:"string",cascadeTo:"string",showRoundedCorner:"boolean",enableRTL:"boolean",enablePersistence:"boolean",enabled:"boolean",allowMultiSelection:"boolean",dataSource:"data",query:"data",checkedIndices:"data",selectedIndices:"data",htmlAttributes:"data",loadDataOnInit:"boolean",showCheckbox:"boolean",sortOrder:"enum"},observables:["value","dataSource"],value:ej.util.valueFunction("value"),dataSource:ej.util.valueFunction("dataSource"),enable:function(){var n,t;this.listContainer.hasClass("e-disable")&&(this.target.disabled=!1,this.model.enabled=this.model.enabled=!0,this.element.removeAttr("disabled"),this.listContainer.removeClass("e-disable"),this.model.allowMultiSelection&&this.listContainer.removeClass("e-disable"),n=this.listContainer.find(".e-vscrollbar,.e-hscrollbar"),this.model.showCheckbox&&(t=this.listContainer.find("li:not(.e-disable)"),t.find(".listcheckbox").ejCheckBox("enable")),n.length>0&&this.scrollerObj.enable())},disable:function(){if(!this.listContainer.hasClass("e-disable")){this.target.disabled=!0;this.model.enabled=this.model.enabled=!1;this.element.attr("disabled","disabled");this.listContainer.addClass("e-disable");this.model.allowMultiSelection&&this.listContainer.addClass("e-disable");var n=this.listContainer.find(".e-vscrollbar,.e-hscrollbar");this.model.showCheckbox&&this.element.find(".listcheckbox").ejCheckBox("disable");n.length>0&&this.scrollerObj.disable()}},selectItemByIndex:function(n){var r=this.model.selectedIndex,u=this.listitems?this.listitems:this.listitem,t,i;n!=0&&(n=parseInt(n));n!=null&&((n>this.element.find("li:not('.e-ghead')").length||n<0||1/n==-Infinity)&&(n=this.model.selectedIndex),t=$(this.element.find("li:not('.e-ghead')")[n]),t.hasClass("e-select")||(this._activeItem=n,this.element.children("li").removeClass("e-select"),this._selectedItems=[],this.model.selectedIndices=[],t.addClass("e-select"),this.model.showCheckbox&&($(t).find(".listcheckbox").ejCheckBox("isChecked")||($(t).find(".listcheckbox").ejCheckBox("option","checked",!0),t.removeClass("e-select"),$.inArray(this._activeItem,this._checkedItems)>-1||this._checkedItems.push(this._activeItem),$.inArray(t[0],this.model.checkedIndices)>-1||this.model.checkedIndices.push(this._activeItem))),this._selectedItems.push(t),this.model.selectedIndices.push(n),i=this._getItemObject(t,null),i.isInteraction=!1,this.model.select&&this._trigger("select",i)));this.model.cascadeTo&&(this._activeItem=n,this._cascadeAction());this._setSelectionValues()._OnListSelect(r,this._activeItem)},checkItemByIndex:function(n){typeof n=="number"&&this.checkItemsByIndices(n.toString())},uncheckItemByIndex:function(n){typeof n=="number"&&this.uncheckItemsByIndices(n.toString())},checkItemsByIndices:function(n){var t,i,r,u;if(ej.isNullOrUndefined(n))return!1;if(t=n.toString().split(","),t.length>0)for(i=0;i<t.length;i++)t[i]!=null&&(this._activeItem=parseInt(t[i]),this._activeItem<0&&(this._activeItem=0),r=$(this.element.children("li:not('.e-ghead')")[this._activeItem]),this.model.showCheckbox&&($(r).find(".listcheckbox").ejCheckBox("isChecked")||($(r).find(".listcheckbox").ejCheckBox("option","checked",!0),this.checkedStatus=!0,$.inArray(this._activeItem,this._checkedItems)>-1||this._checkedItems.push(this._activeItem),$.inArray(r[0],this.model.checkedIndices)>-1||this.model.checkedIndices.push(this._activeItem),u=this._getItemObject(r,null),u.isInteraction=!1,this.model.checkChange&&this._trigger("checkChange",u))));this._setSelectionValues()},uncheckItemsByIndices:function(n){var t,i,r,u,f,e;if(ej.isNullOrUndefined(n))return!1;if(t=n.toString().split(","),t.length>0)for(i=0;i<t.length;i++)t[i]!=null&&(r=parseInt(t[i]),u=$(this.element.children("li:not('.e-ghead')")[parseInt(r)]),this.model.showCheckbox&&$(u).find(".listcheckbox").ejCheckBox("isChecked")&&($(u).find(".listcheckbox").ejCheckBox("option","checked",!1),this.checkedStatus=!1,f=$.inArray(r,this.model.checkedIndices),$.inArray(r,this._checkedItems)>-1&&this._checkedItems.splice(f,1),f>-1&&this.model.checkedIndices.splice(f,1),e=this._getItemObject(u,null),e.isInteraction=!1,this.model.checkChange&&this._trigger("checkChange",e)));this._setSelectionValues()},selectAll:function(){var t,n,i;if(!this.model.showCheckbox&&this.model.allowMultiSelection)for(t=this.element.children("li:not('.e-ghead')"),n=0;n<t.length;n++)$(t[n]).hasClass("e-select")||$(t[n]).hasClass("e-disable")||($(t[n]).addClass("e-select"),this._selectedItems.push($(t[n])),this.model.selectedIndices.push(n),i=this._getItemObject(t,null),i.isInteraction=!1,this.model.select&&this._trigger("select",i));this._setSelectionValues()},unSelectAll:function(){this.unselectAll()},unselectAll:function(){return this.model.showCheckbox||this._removeListHover(),this._setSelectionValues(),this},selectItemsByIndex:function(n){this.selectItemsByIndices(n)},selectItemsByIndices:function(n){var r,i,u,t,f;if(ej.isNullOrUndefined(n))return!1;if(r=n.toString().split(","),this.model.allowMultiSelection)for(i=0;i<r.length;i++)r[i]!=null&&!isNaN(parseInt(r[i]))&&r[i]<this.element.children("li").length&&(u=parseInt(r[i]),this._activeItem=u,t=$(this.element.children("li:not('.e-ghead')")[this._activeItem]),t.hasClass("e-select")||(t.addClass("e-select"),this._selectedItems.push(t),this.model.selectedIndices.push(u),this.model.showCheckbox&&($(t).find(".listcheckbox").ejCheckBox("isChecked")||($(t).find(".listcheckbox").ejCheckBox("option","checked",!0),t.removeClass("e-select"),$.inArray(this._activeItem,this._checkedItems)>-1||this._checkedItems.push(this._activeItem),$.inArray(t[0],this.model.checkedIndices)>-1||this.model.checkedIndices.push(this._activeItem))),f=this._getItemObject(t,null),f.isInteraction=!1,this.model.select&&this._trigger("select",f)));this._setSelectionValues()},unselectItemsByIndex:function(n){this.unselectItemsByIndices(n)},unselectItemsByIndices:function(n){for(var i,r,t,e,f=n.toString().split(","),u=0;u<f.length;u++)f[u]!=null&&(i=parseInt(f[u]),r=$(this.listItemsElement[i]),this._activeItem=i,r.removeClass("e-active e-select"),this.model.showCheckbox&&$(r).find(".listcheckbox").ejCheckBox("isChecked")&&($(r).find(".listcheckbox").ejCheckBox("option","checked",!1),t=$.inArray(i,this.model.checkedIndices),$.inArray(i,this._checkedItems)>-1&&this._checkedItems.splice(t,1),t>-1&&this.model.checkedIndices.splice(t,1)),this.model.selectedIndex==i&&(this.model.selectedIndex=this._activeItem=null),t=this._selectedItems.indexOf(r[0]),this._selectedItems.splice(this.model.selectedIndices.indexOf(t),1),this.model.selectedIndices.splice(this.model.selectedIndices.indexOf(t),1),e=this._getItemObject(r,null),e.isInteraction=!1,this.model.unselect&&this._trigger("unselect",e));this._setSelectionValues()},unselectItemByIndex:function(n){var t,i,r;n=parseInt(n);t=$(this.element.children("li:not('.e-ghead')")[n]);this.model.showCheckbox&&$(t).find(".listcheckbox").ejCheckBox("isChecked")&&($(t).find(".listcheckbox").ejCheckBox("option","checked",!1),i=$.inArray(n,this.model.checkedIndices),$.inArray(n,this._checkedItems)>-1&&this._checkedItems.splice(i,1),i>-1&&this.model.checkedIndices.splice(i,1));t.hasClass("e-select")&&(t.removeClass("e-active e-select"),this.model.selectedIndex==n&&(this.model.selectedIndex=this._activeItem=null),i=this._selectedItems.indexOf(t[0]),this._selectedItems.splice(this.model.selectedIndices.indexOf(i),1),this.model.selectedIndices.splice(this.model.selectedIndices.indexOf(i),1),r=this._getItemObject(t,null),r.isInteraction=!1,this.model.unselect&&this._trigger("unselect",r));this._setSelectionValues()},selectItemByText:function(n){ej.isNullOrUndefined(n)||this[this.model.allowMultiSelection?"selectItemsByIndices":"selectItemByIndex"](this.getIndexByText(n))},selectItemByValue:function(n){this[this.model.allowMultiSelection?"selectItemsByIndices":"selectItemByIndex"](this.getIndexByValue(n))},unselectItemByText:function(n){this[this.model.allowMultiSelection?"unselectItemsByIndices":"unselectItemByIndex"](this.getIndexByText(n))},unselectItemByValue:function(n){this[this.model.allowMultiSelection?"unselectItemsByIndices":"unselectItemByIndex"](this.getIndexByValue(n))},getSelectedItems:function(){var n=[],t=this;return $(t.model.selectedIndices).each(function(i,r){n.push(t.getItemByIndex(r))}),n},getCheckedItems:function(){var n=[],t=this;return $(t.model.checkedIndices).each(function(i,r){n.push(t.getItemByIndex(r))}),n},removeItem:function(){return this.removeSelectedItems()},removeItemByText:function(n){return ej.isNullOrUndefined(this.getItemByText(n))?!1:this.removeItemByIndex(this.getItemByText(n).index)},hideSelectedItems:function(){var n=this.getSelectedItems();this._hideOrShowItemsByIndex(n,"hide")},hideCheckedItems:function(){var n=this.getCheckedItems();this._hideOrShowItemsByIndex(n,"hide")},_hideOrShowItemsByIndex:function(n,t){if($.type(n)=="number")t=="hide"?($(this.listItemsElement[n]).hide(),$(this.listItemsElement[n]).next().hasClass("e-ghead")&&$(this.listItemsElement[n]).prev().hide()):($(this.listItemsElement[n]).show(),$(this.listItemsElement[n]).prev().hasClass("e-ghead")&&$(this.listItemsElement[n]).prev().show());else for(var i=0;i<n.length;i++)t=="hide"?n[i].item?n[i].item.hide():$(this.listItemsElement[n[i]]).hide():n[i].item?n[i].item.show():$(this.listItemsElement[n[i]]).show();this._refreshScroller()},showItemsByIndices:function(n){this._hideOrShowItemsByIndex(n,"show")},hideItemsByIndices:function(n){this._hideOrShowItemsByIndex(n,"hide")},_hideOrShowItemsByValue:function(n,t){var r,i;if($.type(n)=="array")for(i=0;i<this.listItemsElement.length;i++)for(r=0;r<=n.length;r++)$(this.listItemsElement[i]).attr("value")==n[r]&&(t=="hide"?$(this.listItemsElement[i]).hide():$(this.listItemsElement[i]).show());else for(i=0;i<this.listItemsElement.length;i++)$(this.listItemsElement[i]).attr("value")==n&&(t=="hide"?$(this.listItemsElement[i]).hide():$(this.listItemsElement[i]).show());this._refreshScroller()},showItemsByValues:function(n){this._hideOrShowItemsByValue(n,"show")},hideItemsByValues:function(n){this._hideOrShowItemsByValue(n,"hide")},showItemByValue:function(n){this._hideOrShowItemsByValue(n,"show")},hideItemByValue:function(n){this._hideOrShowItemsByValue(n,"hide")},showItemByIndex:function(n){this._hideOrShowItemsByIndex(n,"show")},hideItemByIndex:function(n){this._hideOrShowItemsByIndex(n,"hide")},hide:function(){this.listContainer.hide()},show:function(){this.listContainer.show()},hideAllItems:function(){this.element.find("li:visible").hide();this._refreshScroller()},showAllItems:function(){this.element.find("li:hidden").show();this._refreshScroller()},_stateMaintained:function(n){var f,u,t,r;if(this.model.disableItemsByIndex=[],this.model.selectedIndices=[],this.model.checkedIndices=[],this.model.selectedIndex>=n&&this.model.selectedIndex!=null&&(this.model.selectedIndex==n||$(this.element.children()[n-1]).hasClass("e-disable")?this.model.selectedIndex=null:this.model.selectedIndex!=n&&(this.model.selectedIndex-=1)),u=$(n).length,u>1){for(i=u;i>=0;i--)$(this.element.children()[n[i]]).remove();for(f=this.element.children().length,r=0;r<f;r++)$(this.element.children()[r]).hasClass("e-disable")&&this.model.disableItemsByIndex.push(r)}else{for(t=n-1,t;t>=0;t--)$(this.element.children()[t]).hasClass("e-disable")&&this.model.disableItemsByIndex.push(t),$(this.element.children()[t]).hasClass("e-select")&&this.model.selectedIndices.push(t),$(this.element.children()[t]).find(".listcheckbox").ejCheckBox("isChecked")&&this.model.checkedIndices.push(t);for(n=parseInt(n)+1,n;n<this._listSize;n++)$(this.element.children()[n]).hasClass("e-disable")&&this.model.disableItemsByIndex.push(n-1),$(this.element.children()[n]).hasClass("e-select")&&this.model.selectedIndices.push(n-1),$(this.element.children()[n]).find(".listcheckbox").ejCheckBox("isChecked")&&this.model.checkedIndices.push(n-1)}},removeAll:function(){var n,t,r,i;if(ej.isNullOrUndefined(this.dataSource()))return n=[],$(this.listitems).each(function(t,i){n.push($(this).text());i.remove()}),this._refreshItems(),n;if(!(this.dataSource()instanceof ej.DataManager)){for(t=[],r=$(this.listItemsElement).length,i=0;i<r;i++)t.push(this._getRemovedItems([parseInt(0)]));return t}},removeItemByIndex:function(n){var i,t=this.model.selectedIndex;return ej.isNullOrUndefined(this.dataSource())?(i=$(this.listItemsElement[n]).remove().text(),this._stateMaintained(n),this._refreshItems()):this.dataSource()instanceof ej.DataManager||(i=this._getRemovedItems([parseInt(n)])),this.model.selectedIndex=n==t?null:n<t?t-1:t,i},removeSelectedItems:function(){if(this.model.showCheckbox)return!1;if(ej.isNullOrUndefined(this.dataSource())){var n=this.value();return $(this.getSelectedItems()).each(function(n,t){t.item.remove()}),this._refreshItems(),n}if(!(this.dataSource()instanceof ej.DataManager))return this.model.selectedIndex=null,this._getRemovedItems(this.model.selectedIndices)},_getRemovedItems:function(n){var t=[];return this._stateMaintained(n),this.value(null),this._activeItem=null,this.dataSource(this.dataSource().filter(function(i,r){if(n.indexOf(r)!=-1)t.push(i);else return!0})),this.refresh(!0),t},getIndexByValue:function(n){for(var i,t=0;t<this.listItemsElement.length;t++)if($(this.listItemsElement[t]).attr("value")==n){i=t;break}return i},getIndexByText:function(n){var i,n,t,r;for(this.model.allowMultiSelection&&(n=n.split(","),i=[]),t=0;t<this.listItemsElement.length;t++)if(typeof n=="object"){for(r=0;r<n.length;r++)if($(this.listItemsElement[t]).text()==n[r]){i.push(t);break}}else if($(this.listItemsElement[t]).text()==n){i=t;break}return i},getTextByIndex:function(n){return $(this.element.find("li:not('.e-ghead')")[n]).text()},getItemByText:function(n){var i=this,t;return this.listItemsElement.each(function(){if($(this).text()==n)return t=i._getItemObject($(this)),!1}),t},getItemByIndex:function(n){return this._getItemObject($(this.element.children("li:not('.e-ghead')")[n]))},getListData:function(){return ej.DataManager&&this.dataSource()instanceof ej.DataManager?this.model.allowVirtualScrolling?(this.listitems=this.element.find("li"),this.listitems):this.listitems:this.dataSource()?this.dataSource():void 0},enableItem:function(n){var t=this;this.listItemsElement.each(function(){if($(this).text()==n)return $(this).removeClass("e-disable"),t.model.showCheckbox&&$(this).find(".listcheckbox").ejCheckBox("enable"),t._disabledItems.splice($(this).index().toString()),!1})},disableItem:function(n){var t=this;this.listItemsElement.each(function(){if($(this).text()==n)return $(this).addClass("e-disable"),t.model.showCheckbox&&$(this).find(".listcheckbox").ejCheckBox("disable"),t._disabledItems.push($(this).index().toString()),!1})},moveUp:function(){var n=this.model.fields.groupBy!=null?this.model.allowMultiSelection||this.model.showCheckbox?!1:!0:!0;n&&(this.checkedorselected=this.model.checkedIndices.length==0?this.model.selectedIndices.reverse():this.model.checkedIndices.reverse(),this._checkstate(!0))},moveDown:function(){var n=this.model.fields.groupBy!=null?this.model.allowMultiSelection||this.model.showCheckbox?!1:!0:!0;n&&(this.checkedorselected=this.model.checkedIndices.length==0?this.model.selectedIndices:this.model.checkedIndices,this._checkstate())},_checkstate:function(n){var i=$(this.element.children("li:not('.e-ghead')")[this.checkedorselected[0]]),t,r;(!n||i.prev().hasClass("e-ghead"))&&i.next().hasClass("e-ghead")||ej.isNullOrUndefined(this.checkedorselected)||(t=0,r=this._getItem(this.checkedorselected[t]),this._moveupdown(r,t,n?"up":"down"))},_moveItem:function(n,t,i){var u=n,r=n.index(),f=i=="up",e=i=="down";this._addListHover();this._getItem(this._selectedItem).removeClass("e-hover");f?(t.insertAfter(u),t.hasClass("e-disable")&&$.inArray(r.toString(),this._disabledItems)>-1&&(this._disabledItems.splice($.inArray(r.toString(),this._disabledItems),1),this._disabledItems.push((r+1).toString())),this._selectedItem-=1,this._refreshItems()):e&&(t.insertBefore(u),t.hasClass("e-disable")&&$.inArray(r.toString(),this._disabledItems)>-1&&(this._disabledItems.splice($.inArray(r.toString(),this._disabledItems),1),this._disabledItems.push((r-1).toString())),this._selectedItem+=1,this._refreshItems())},_moveupdown:function(list,index,direction){for(var j=this.checkedorselected[index],next,k,i=0,i=j,oneafter;i<$(this.element.children("li:not('.e-ghead')")).length;){if(next=$(this.element.children("li:not('.e-ghead')")[i]),ej.isNullOrUndefined(next))break;if(next.hasClass("e-select")||next.find("span").hasClass("e-checkmark")){k=i;direction=="down"?eval(i++):eval(i--);continue}else break}if(!ej.isNullOrUndefined(next)&&i<$(this.element.children("li")).length&&this._moveItem(list,next,direction),index<this.checkedorselected.length&&(ele=$(this.element.children("li")[this.checkedorselected[index]]),ele.next().hasClass("e-select")||ele.next().find("span").hasClass("e-checkmark")?oneafter=direction=="down"?!0:!1:ej.isNullOrUndefined(ele[0])?oneafter=direction=="up"?!0:!1:(ele.hasClass("e-select")||ele.find("span").hasClass("e-checkmark"))&&this._moveupdown(ele,index+1,direction)),length=this.element.children("li:not('.e-ghead')").length,this.model.checkedIndices.length==0)for(this.model.selectedIndices=[],i=0;i<length;i++)$(this.element.children("li:not('.e-ghead')")[i]).hasClass("e-select")&&this.model.selectedIndices.push(i);else for(this.model.checkedIndices=[],j=0;j<length;j++)$.parseJSON($(this.element.children("li:not('.e-ghead')")[j]).find("span").attr("aria-checked"))&&this.model.checkedIndices.push(j)},checkAll:function(){if(!this.model.showCheckbox)return!1;var n=this.element.find("li:not('.e-ghead')");for(i=0;i<n.length;i++)$(n[i].firstChild).find(".listcheckbox").ejCheckBox("isChecked")||($(n[i].firstChild).find(".listcheckbox").ejCheckBox("option","checked",!0),this._checkedItems.push(n[i]),this.model.checkedIndices.push(i));this._setSelectionValues();this.model.uncheckAll=!1},unCheckAll:function(){this.uncheckAll()},uncheckAll:function(){if(!this.model.showCheckbox)return!1;var n=this.element.find("li:not('.e-ghead')");for(i=0;i<n.length;i++)$(n[i].firstChild).find(".listcheckbox").ejCheckBox("isChecked")&&$(n[i].firstChild).find(".listcheckbox").ejCheckBox("option","checked",!1);this._checkedItems=[];this.model.checkedIndices=[];this._setSelectionValues();this.model.checkAll=!1},addItem:function(n,t){var t=!ej.isNullOrUndefined(t)&&t<=this.element.find("li:not('.e-ghead')").length?t:this.element.find("li:not('.e-ghead')").length,f=this,r=t,u;if(ej.isNullOrUndefined(this.dataSource()))if(n instanceof Array)$(n).each(function(n,i){f.addItem(i,t);t=t+1});else{if(this.model.fields.groupBy&&typeof n=="object")for(_query=ej.Query().group(this.model.fields.groupBy),groupedList=ej.DataManager([n]).executeLocal(_query),this.dataSource([]),i=0;i<groupedList.length;i++)this._setMapFields(),this.dummyUl.push(ej.buildTag("li.e-ghead",groupedList[i].key)[0]),this._loadlist(groupedList[i].items),this.dataSource(this.dataSource().concat(groupedList[i].items));else n=typeof n=="object"?n[this.model.fields.text]:n,this.listitem=this.element.find("li:not('.e-ghead')").length?t-1<0?$(this.element.find("li:not('.e-ghead')")[0]).before('<li role="option">'+n+"<\/li>"):$(this.element.find("li:not('.e-ghead')")[t-1]).after('<li role="option">'+n+"<\/li>"):$(this.element).html('<li role="option">'+n+"<\/li>");this.listitems=this.element.find("li:not('.e-ghead')");this._addItemIndex=t;this.model.showCheckbox&&($checkbox=ej.buildTag("input.listcheckbox e-align#popuplist"+(this.listitems.length-1)+"_"+this._id,"",{},{type:"checkbox",name:"list"+(this.listitems.length-1)}),$(this.listitems[t]).prepend($checkbox),$($(this.listitems[t]).find(".listcheckbox")).ejCheckBox({change:$.proxy(this._onClickCheckList,this)}));(this.model.allowDrag||this.model.allowDrop)&&this._enableDragDrop();this._addItemIndex=null;this._refreshItems()}else if(!(this.dataSource()instanceof ej.DataManager)){for(f.dataSource()instanceof Object?(dup={},n instanceof Object||(dup[f.model.fields.text]=n,n=dup)):n instanceof Array||(n=[n]),$(n).each(function(n,i){f.dataSource().splice(t,0,i);t=t+1}),this.model.disableItemsByIndex=[],this.model.selectedIndices=[],this.model.checkedIndices=[],this.model.selectedIndex>=r&&(this.model.selectedIndex+=1),u=r-1,u;u>=0;u--)$(this.element.find("li:not('.e-ghead')")[u]).hasClass("e-disable")&&this.model.disableItemsByIndex.push(u),$(this.element.find("li:not('.e-ghead')")[u]).hasClass("e-select")&&this.model.selectedIndices.push(u),$(this.element.children()[u]).hasClass("e-checkmark")&&this.model.checkedIndices.push(u);for(r;r<this._listSize;r++)$(this.element.find("li:not('.e-ghead')")[r]).hasClass("e-disable")&&this.model.disableItemsByIndex.push(r+1),$(this.element.find("li:not('.e-ghead')")[r]).hasClass("e-select")&&this.model.selectedIndices.push(r+1),$(this.element.find("li:not('.e-ghead')")[r]).find(".listcheckbox").ejCheckBox("isChecked")&&this.model.checkedIndices.push(r+1);this.refresh(!0)}},enableItemByIndex:function(n){typeof n=="number"&&this.enableItemsByIndices(n.toString())},disableItemByIndex:function(n){typeof n=="number"&&this.disableItemsByIndices(n.toString())},disableItemsByIndices:function(n){var t,i,r;if(ej.isNullOrUndefined(n))return!1;for(t=n.toString().split(","),i=0;i<t.length;i++)t.length>0&&!($.inArray(t[i],this._disabledItems)>-1)&&(r=$(this.element.children("li:not('.e-ghead')")[parseInt(t[i])]).addClass("e-disable"),r.find(".listcheckbox").ejCheckBox("disable"),this._disabledItems.push(t[i]))},enableItemsByIndices:function(n){for(var u,t=n.toString().split(","),r,i=0;i<t.length;i++)t.length>0&&$.inArray(t[i],this._disabledItems)>-1&&(r=$.inArray(t[i],this._disabledItems),u=$(this.element.children("li:not('.e-ghead')")[parseInt(t[i])]).removeClass("e-disable"),u.find(".listcheckbox").ejCheckBox("enable"),this._disabledItems.splice(r,1))},_init:function(){this._id=this.element[0].id;this._isMozilla=ej.browserInfo().name=="mozilla"?!0:!1;this._cloneElement=this.element.clone();this._deprecatedValue()._initialize()._render()._wireEvents();this._initValue=this.focused=!1;this._typeInterval=null;this._dummyVirtualUl=[];this._virtualCount=0;this._liItemHeight=0;this._typingThreshold=2e3;this._dataUrl=this.dataSource();this.model.checkAll&&this.checkAll();this.model.uncheckAll&&this.uncheckAll();this.model.disableItemsByIndex&&this.disableItemsByIndices(this.model.disableItemsByIndex.toString());this.model.enableItemsByIndex&&this.enableItemsByIndices(this.model.enableItemsByIndex.toString());this.model.uncheckItemsByIndex&&this.uncheckItemsByIndices(this.model.uncheckItemsByIndex.toString());this._deprecatedValue()._enabled(this.model.enabled)},_deprecatedValue:function(){return this.model.itemDrop=this.model.itemDrop||this.model.itemDropped,this.model.change=this.model.change||this.model.selectIndexChanged,this.model.fields.checkBy=this.model.fields.selected||this.model.fields.checkBy,this.model.fields.tooltipText=this.model.fields.toolTipText||this.model.fields.tooltipText,this.model.fields.groupBy=this.model.fields.category||this.model.fields.groupBy,this.model.select=this.model.select||this.model.selected,this.model.allowDragAndDrop!=undefined&&(this.model.allowDrag=this.model.allowDrop=!0),this.model.selectedIndex=this.model.selectedIndex!=null?this.model.selectedIndex:this.model.selectedItemIndex,this.model.checkedIndices=(this.model.checkedIndices.length?this.model.checkedIndices:null)||(this.model.checkItemsByIndex?this.model.checkItemsByIndex:null)||(this.model.checkedItems.length?this.model.checkedItems:null)||(this.model.checkedItemlist.length?this.model.checkedItemlist:[]),this.model.selectedIndices=(this.model.selectedIndices.length?this.model.selectedIndices:null)||(this.model.selectedItems.length?this.model.selectedItems:null)||(this.model.selectedItemlist.length?this.model.selectedItemlist:[]),this},_setModel:function(n){var t,r=!1,f,i,s,u;for(t in n)switch(t){case"value":this._setText(ej.util.getVal(n[t]));break;case"dataSource":ej.isNullOrUndefined(this._isCasCadeTarget)||(this.model.selectedIndex=null);n[t]=ej.util.getVal(n[t]);this._checkModelDataBinding(n[t]);break;case"query":this._queryCheck(n[t]);break;case"fields":this.model.fields=$.extend(this.model.fields,n[t]);this._checkModelDataBinding(this.dataSource());break;case"template":this.model.template=n[t];this.refresh(!0);break;case"loadDataOnInit":this._loadContent=n[t];this._checkModelDataBinding(this.dataSource());break;case"enableRTL":this.model.enableRTL=n[t];this.model.enableRTL?this.listContainer.addClass("e-rtl"):this.listContainer.removeClass("e-rtl");break;case"enabled":this.model.enabled=n[t];this._enabled(n[t]);break;case"enableWordWrap":this.model.enableWordWrap=n[t];this._wordWrapItems(n[t]);break;case"height":case"width":this.model[t]=n[t];this._setDimensions();break;case"cssClass":this.model.cssClass=n[t];this.listContainer.addClass(this.model.cssClass);break;case"showCheckbox":this._checkboxHideShow(n[t]);n[t]&&this._removeListHover();break;case"showRoundedCorner":this.model.showRoundedCorner=n[t];this._roundedCorner();break;case"selectedItemIndex":case"selectedIndex":this.listitem[n[t]]||n[t]==null||this.listitems[n[t]]?(this.selectItemByIndex(n[t]),this.model.selectedIndex=this.model.selectedItemIndex=n[t]):n[t]=this.model.selectedIndex;break;case"sortOrder":this.model.sortOrder=n[t];this.dataSource()!=null?this._showFullList():this._renderlistContainer();break;case"checkItemsByIndex":case"checkedItemlist":case"checkedItems":case"checkedIndices":this.uncheckAll();this.checkItemsByIndices(n[t].toString());n[t]=this.model[t]=this.model.checkedIndices;break;case"uncheckItemsByIndex":this.uncheckItemsByIndices(n[t].toString());this.model[t]=n[t];break;case"selectedItemlist":case"selectedItems":case"selectedIndices":this.unselectAll();this.selectItemsByIndices(n[t].toString());n[t]=this.model.selectedIndices;break;case"enableItemsByIndex":this.model[t]=n[t];this.enableItemsByIndices(n[t].toString());break;case"disableItemsByIndex":this.model[t]=n[t];this.disableItemsByIndices(n[t].toString());break;case"enableVirtualScrolling":this.model.allowVirtualScrolling=n[t];r=!0;break;case"allowDrag":case"allowDrop":case"allowDragAndDrop":case"allowVirtualScrolling":case"virtualScrollMode":this.model[t]=n[t];r=!0;break;case"checkAll":this.model[t]=n[t];n[t]?this.checkAll():this.uncheckAll();break;case"uncheckAll":this.model[t]=n[t];n[t]?this.uncheckAll():this.checkAll();break;case"htmlAttributes":this._addAttr(n[t]);break;case"itemsCount":f=this.model.itemsCount;this.model.height?(this.model.itemsCount=n[t],this._setItemsCount()._setDimensions()):n[t]=f;break;case"itemHeight":var e=this.listItemsElement,o=ej.isNullOrUndefined(n[t])?n[t]:n[t].toString().replace("px",""),h=ej.isNullOrUndefined(this.model.itemHeight)?this.model.itemHeight:this.model.itemHeight.toString().replace("px","");for(i=0;i<e.length;i++)s=ej.isNullOrUndefined(n[t])?{"min-height":ej.isNullOrUndefined(this.model.itemHeight)?"20px":h}:{"min-height":o+"px",height:o+"px"},e.eq(i).css(s);this.refresh();break;case"allowMultiSelection":this.model.allowMultiSelection=n[t];n[t]||(u=this.model.selectedIndex,this._removeListHover(),ej.isNullOrUndefined(u)?"":this.selectItemByIndex(u));break;case"totalItemsCount":ej.isNullOrUndefined(this.dataSource())||(this.model.totalItemsCount=n[t],this.model.query&&this._queryCheck(this.model.query))}r&&this._refresh()},_destroy:function(){return ej.isNullOrUndefined(this._lilist)||$(this._lilist).ejDraggable("destroy"),this.element.insertAfter(this.listContainer),this.element.find(".e-chkbox-wrap").remove(),this.listContainer.remove(),this.element.removeClass("e-ul"),this._isList||this.element.empty(),$(window).off("resize",$.proxy(this._OnWindowResize,this)),this._ListEventUnbind(this.element.children("li")),this},_ListEventUnbind:function(n){n.off("contextmenu",$.proxy(this._OnMouseContext,this));n.off("click",$.proxy(this._OnMouseClick,this));n.off("touchstart mouseenter",$.proxy(this._OnMouseEnter,this));n.off("touchend mouseleave",$.proxy(this._OnMouseLeave,this))},_refresh:function(){this._destroy()._init()},_finalize:function(){return this.model.selectedIndex!=null?this.selectItemByIndex(this.model.selectedIndex):this.model.showCheckbox==!0&&this._selectedItems.length>0&&this._selectCheckedItem(this._selectedItems),this.model.checkedIndices!=null&&this.checkItemsByIndices(this.model.checkedIndices.toString()),this},_initialize:function(){return this._isList=this.element.children().length?!0:!1,this.target=this.element[0],this._queryString=null,this._disabledItems=[],this._itemId=null,this._up=this._down=this._ctrlClick=!1,this.checkedStatus=this._isScrollComplete=!1,this._incqueryString="",this._totalCount=0,this._activeItem=null,this._initValue=!0,this.model.allowVirtualScrolling=this.model.allowVirtualScrolling?this.model.allowVirtualScrolling:this.model.enableLoadOnDemand,this.model.virtualScrollMode=this.model.enableVirtualScrolling?"continuous":this.model.virtualScrollMode,this._selectedItems=[],this._checkedItems=[],this._loadContent=this.model.loadDataOnInit,this._loadInitialRemoteData=!0,this._skipInitialRemoteData=!1,this.model.enableVirtualScrolling&&(this.model.allowVirtualScrolling=!0),this._setItemsCount(),this},_render:function(){return this._savedQueries=this.model.query.clone(),this.model.totalItemsCount&&this._savedQueries.take(this.model.totalItemsCount),this._renderContainer()._addAttr(this.model.htmlAttributes),ej.DataManager&&this.dataSource()instanceof ej.DataManager?(this.model.actionBegin&&this._trigger("actionBegin",{}),this._loadInitialRemoteData&&this._initDataSource(this.dataSource())):this._showFullList(),this.dataSource()||this._finalize(),this.listItemsElement=this.element.find("li:not('.e-ghead')"),this.model.showRoundedCorner&&this._roundedCorner(),this},_queryCheck:function(n){this._savedQueries=n.clone();this.element.empty();this.dataSource()&&this._checkModelDataBinding(this.dataSource())},_checkModelDataBinding:function(n){this.mergeValue=null;this.dataSource(n);n!=null&&n.length!=0?ej.DataManager&&n instanceof ej.DataManager?this._initDataSource(n):this._showFullList():(this.element.empty(),this._refreshScroller())},_initDataSource:function(n){var t=this,i;t.listitems=t.dataSource();t._updateLoadingClass(!0);i=n.executeQuery(this._getQuery());i.done(function(n){t._totalCount=n.count;t.listitems=n.result;t._updateLoadingClass()._showFullList()._trigger("actionSuccess",n);t._finalize();t._virtualPages=[0]}).fail(function(n){t.dataSource(null);t._updateLoadingClass(!0)._trigger("actionFailure",n)}).always(function(n){t.model.checkAll&&t.checkAll();t.model.uncheckAll&&t.uncheckAll();t._trigger("actionComplete",n)})},_getQuery:function(){var n,i,t,r;if(ej.isNullOrUndefined(this.model.query)){i=[];t=this.model.fields;n=ej.Query();for(r in t)r!=="tableName"&&i.push(t[r]);i.length>0&&n.select(i);this.dataSource().dataSource.url.match(t.tableName+"$")||ej.isNullOrUndefined(t.tableName)||n.from(t.tableName)}else n=this.model.query.clone();return this.model.allowVirtualScrolling&&(n.requiresCount(),n.take(this.model.itemRequestCount)),n},_getLiHeight:function(){this._liItemHeight=$(this.element.find("li")[0]).outerHeight()},_addDragableClass:function(){if(this.model.allowDrag||this.model.allowDrop){this.element.css("cursor","pointer");this.model.allowDrop&&(this.listContainer.addClass("e-droppable"),this.listBoxScroller.addClass("e-droppable"));var n=this;this.element.children("li").each(function(){n.model.allowDrag&&$(this).addClass("e-draggable");n.model.allowDrop&&$(this).addClass("e-droppable")})}return this},_enableDragDrop:function(){(this.model.allowDrag||this.model.allowDrop)&&this._drag()},_updateLoadingClass:function(n){return this.listContainer[n?"addClass":"removeClass"]("e-load"),this},_addAttr:function(n){var t=this;$.map(n,function(n,i){i=="class"?t.listContainer.addClass(n):i=="required"?t.element.attr(i,n):i=="disabled"&&n=="disabled"?t._enabled(!1):t.listContainer.attr(i,n)})},_renderContainer:function(){return this.listContainer=ej.buildTag("div.e-ddl-popup e-box e-popup e-widget "+this.model.cssClass,"",{visibility:"hidden"},{tabIndex:0,id:this._id+"_container"}),this.listBoxScroller=ej.buildTag("div.e-listbox-container"),this.ultag=ej.buildTag("ul.e-ul","",{},{role:"listbox"}),this.element=this.element.addClass("e-ul"),this.listContainer.append(this.listBoxScroller).insertAfter(this.element),this.listBoxScroller.append(this.element),this.element.attr("data-ej-unselectable","on").css("user-select","none"),this._hiddenInput=ej.buildTag("input#"+this._id+"_hidden","",{},{type:"hidden"}).insertBefore(this.element),this._hiddenInput.attr("name",this._id),this},_setMapFields:function(){var n=this.model.fields;this.mapFld={_id:null,_imageUrl:null,_imageAttributes:null,_tooltipText:null,_spriteCSS:null,_text:null,_value:null,_htmlAttributes:null,_selectBy:null,_checkBy:null};this.mapFld._id=n&&n.id?n.id:"id";this.mapFld._imageUrl=n&&n.imageUrl?n.imageUrl:"imageUrl";this.mapFld._tooltipText=n&&n.tooltipText?n.tooltipText:"tooltipText";this.mapFld._imageAttributes=n&&n.imageAttributes?n.imageAttributes:"imageAttributes";this.mapFld._spriteCSS=n&&n.spriteCssClass?n.spriteCssClass:"spriteCssClass";this.mapFld._text=n&&n.text?n.text:this.listitems[0].text?"text":this._getObjectKey(this.listitems[0])[0];this.mapFld._value=n&&n.value?n.value:"value";this.mapFld._htmlAttributes=n&&n.htmlAttributes?n.htmlAttributes:"htmlAttributes";this.mapFld._checkBy=n&&n.checkBy?n.checkBy:"checkBy";this.mapFld._selectBy=n&&n.selectBy?n.selectBy:"selectBy";this.mapCateg=n&&n.groupBy?n.groupBy:""},_getObjectKey:function(n){var t,i;if(Object.keys)return Object.keys(n);t=[];for(i in n)n.hasOwnProperty(i)&&t.push(i);return t},_itemStyle:function(){var n=ej.isNullOrUndefined(this.model.itemHeight)?this.model.itemHeight:this.model.itemHeight.toString().replace("px",""),t=ej.isNullOrUndefined(this.model.itemHeight)?"":"min-height:"+n+"px;height:"+n+"px";return{style:t}},sort:function(){var n=document.createElement("ul"),e,i,o,r,t,u;if($(n).append(this.itemsContainer.children()),this.model.fields.groupBy!=null||$(n).find(">.e-ghead").length>0){for(e=0;e<$(n).find(">.e-ghead").length;e++)i=$(n).find(">.e-ghead").eq(0).first().nextUntil(".e-ghead").get(),this._setSortList(n,i);for(o=document.createElement("ul"),r=$(n).clone().find(">.e-ghead").get(),u=0;u<r.length;u++)o.append(r[u]);var f=this._customSort(o,r),s=document.createElement("ul"),h,c=$(n).find("li.e-ghead").get();for(this.model.sortOrder.toLowerCase()=="descending"&&f.reverse(),t=0;t<f.length;t++)for(s.append(f[t]),l=0;l<c.length;l++)if(f[t].textContent==c[l].textContent)for(h=$(n).find(">.e-ghead").eq(l).first().nextUntil(".e-ghead").get(),m=0;m<h.length;m++)s.append(h[m]);this.itemsContainer=$(s)}else i=$(n).children("li").get(),this._setSortList(n,i),this.itemsContainer=$(n)},_customSort:function(n,t){return t.sort(function(n,t){var i=$(n).text().toUpperCase(),r=$(t).text().toUpperCase();return i<r?-1:i>r?1:0}),t},_setSortList:function(n,t){this._customSort(n,t);this.model.sortOrder.toLowerCase()=="descending"&&t.reverse();(this.model.fields.groupBy!=null||$(n).find(">.e-ghead").length>0)&&($(n).append($("<li>").text($(n).find(">.e-ghead").eq(0).text()).addClass("e-ghead")),$(n).find(">.e-ghead").eq(0).remove());$.each(t,function(t,i){$(n).append(i)})},_renderlistContainer:function(){var i,f,w,s,h,t,u,a,c,v,n,y,e,o,l,p,r;if(this.hold=this.touchhold=!1,this.item="",this.startime=0,this.listitemheight=24,i=this.listitems,w=this.model.fields,this.lastScrollTop=-1,this.dummyUl=$(),this.model.enableRTL&&this.listContainer.addClass("e-rtl"),this._wordWrapItems(),this.dataSource()==null||this.dataSource().length<1)s=this.element.parents().last(),this.docbdy=this.model.targetID?s.find("#"+this.model.targetID):s.find("#"+this._id),this.itemsContainer=this.docbdy,this.model.sortOrder!="none"&&this.sort(),this.itemsContainer.children("ol,ul").remove(),this.items=this.itemsContainer.children("li"),this.items.children("img").addClass("e-align"),this.items.children("div").addClass("e-align"),h=parseInt(this.model.itemHeight)+"px",this.model.itemHeight&&$("li").css({"min-height":h,height:h}),this.element.append(this.itemsContainer.children());else if(this.dataSource()!=null&&typeof i[0]!="object")if(this._loadInitialRemoteData&&this.mergeValue&&this.model.virtualScrollMode=="continuous"&&this.model.totalItemsCount)this._loadlist(this.mergeValue);else if(this._loadInitialRemoteData&&this.mergeValue&&this.model.virtualScrollMode=="normal"&&this.model.totalItemsCount){for(this.realUllength=0,this.mergeUl=[],n=0;n<this.mergeValue.length;n++)this.mergeUl.push(ej.buildTag("li",this.mergeValue[n][this.model.fields.text],null,this._itemStyle())[0]);for(this.element.append(this.mergeUl),n=0;n<this.model.totalItemsCount-this.mergeValue.length;n++)this.dummyUl.push(ej.buildTag("li",null,null,this._itemStyle())[0]);this.element.append(this.dummyUl);this._refreshScroller()}else this._loadInitialRemoteData&&this.mergeValue&&!this.model.totalItemsCount&&this._initDataSource(this.dataSource());else if(this._setMapFields(),u=this._savedQueries,this.listContainer.height(this.model.height),this.listitemheight=24,this.model.allowVirtualScrolling){if(this.model.virtualScrollMode=="normal"){if(this.realUllength=0,this.dataSource().length<0&&(query=this._savedQueries.take(parseInt(this.listContainer.height()/this.listitemheight)),r=this,ej.DataManager&&this.dataSource()instanceof ej.DataManager&&(r.listitems=r.dataSource(),a=this.dataSource().executeQuery(query),a.done(function(n){r._trigger("actionBeforeSuccess",n);r.listitems=n.result;r._trigger("actionSuccess",n)}).fail(function(n){r._trigger("actionFailure",n)}).always(function(n){r._trigger("actionComplete",n)}))),this.mergeValue&&this.mergeValue!=t&&this.mergeValue!=undefined){for(this.mergeUl=[],n=0;n<this.mergeValue.length;n++)c=ej.buildTag("li",this.model.template?"":this.mergeValue[n][this.model.fields.text],null,this._itemStyle())[0],this.model.template&&c.append(this._getTemplatedString(i[n])),this.mergeUl.push(c[0]);this.element.append(this.mergeUl)}for(v=this.model.totalItemsCount?this.mergeValue?this.model.totalItemsCount-this.mergeValue.length:this.model.totalItemsCount:this.listitems.length,n=0;n<v;n++)y=ej.buildTag("li",null,null,this._itemStyle()),this.dummyUl.push(y[0]);this.dummyUl.attr("data-ej-page",0);this.element.append(this.dummyUl)}this._loadInitialData(u,i)}else if(this.mapCateg&&this.mapCateg!="")for(u=ej.Query().group(this.mapCateg),this.model.sortOrder.toLowerCase()=="none"&&u.queries.splice(0,1),t=ej.DataManager(i).executeLocal(u),this.model.sortOrder.toLowerCase()!="none"&&(e=ej.Query().sortBy(this.mapFld._text,this.model.sortOrder,!0),t=ej.DataManager(t).executeLocal(e)),this.dataSource([]),n=0;n<t.length;n++)this.dummyUl.push(ej.buildTag("li.e-ghead",t[n].key)[0]),this._loadlist(t[n].items),this.dataSource(this.dataSource().concat(t[n].items));else if(t=ej.DataManager(i).executeLocal(u),t.length>0){if(this.mergeValue&&this.mergeValue!=t&&this.mergeValue!=undefined)for(this.mergeUl=[],n=0;n<this.mergeValue.length;n++)this.mergeUl.push(ej.buildTag("li",this.mergeValue[n][this.model.fields.text],null,this._itemStyle())[0]),t.push(this.mergeValue[n]);if(this.model.template!=null&&this._loadContent){for(this.model.sortOrder.toLowerCase()!="none"&&(e=ej.Query().sortBy(this.mapFld._text,this.model.sortOrder,!0),i=ej.DataManager(i).executeLocal(e)),n=0;n<i.length;n++)o=this._getField(i[n],this.mapFld._htmlAttributes),l=this._getField(i[n],this.mapFld._id),f=ej.buildTag("li"),o&&o!=""&&f.attr(o),l&&f.attr("id",l),this.model.template&&f.append(this._getTemplatedString(i[n])),this.dummyUl.push(f[0]);this.model.allowVirtualScrolling||this.element.children().remove();p=this.model.virtualScrollMode=="continuous"&&this.mergeValue?this.realUllength+this.mergeValue.length:this.realUllength;this.element.children()[p]==null&&(!this.model.allowVirtualScrolling||this.model.virtualScrollMode==ej.VirtualScrollMode.Continuous)&&this._loadContent&&this.element.append(this.dummyUl)}else this.realUllength=0,this._loadlist(t)}r=this;t&&(this.listitems=t);this._setDimensions();this.listContainer.css({position:"relative",height:""});this.listBoxScroller.css({height:"",width:""});this.model.allowVirtualScrolling==!0&&this.model.virtualScrollMode=="normal"?(this._getLiHeight(),totalHeight=this._totalCount*this._liItemHeight,$(".e-listbox-container ul.e-listbox").height(totalHeight)):this.model.allowVirtualScrolling==!0&&this.model.virtualScrollMode=="continuous"&&$(".e-listbox-container ul.e-listbox").css("height","auto");this.listContainer.ejScroller({height:this.listContainer.height(),width:0,scrollerSize:20,scroll:function(n){r._onScroll(n)}});this.scrollerObj=this.listContainer.ejScroller("instance");this._setDimensions();this.listContainer.css({display:"none",visibility:"visible"});this._checkboxHideShow(this.model.showCheckbox)._checkitems()._showResult()},_wordWrapItems:function(){this.model.enableWordWrap?this.listContainer.addClass("e-wrap").removeClass("e-nowrap"):this.listContainer.addClass("e-nowrap").removeClass("e-wrap")},_loadInitialData:function(n,t){var r=n.clone();if(this.realUllength=0,r=ej.DataManager&&this.dataSource()instanceof ej.DataManager?r.range(0,parseInt(this.listContainer.height()/this.listitemheight)):r.range(0,this.listitems.length),groupedList=t,this.mergeValue&&this.mergeValue!=groupedList&&this.mergeValue!=undefined&&this.model.virtualScrollMode=="continuous"){for(this.mergeUl=[],i=0;i<this.mergeValue.length;i++)this.mergeUl.push(ej.buildTag("li",this.mergeValue[i][this.model.fields.text],null,this._itemStyle())[0]);this.element.append(this.mergeUl)}(!this.mergeValue||this.mergeValue&&this._loadInitialRemoteData)&&this._loadlist(groupedList)},_loadlist:function(n){var f,y,t,i,e,r,u;if(this._dummyVirtualUl=[],this.element!=null){for(f=[],this.model.sortOrder.toLowerCase()!="none"&&(y=ej.Query().sortBy(this.mapFld._text,this.model.sortOrder,!0),n=ej.DataManager(n).executeLocal(y)),t=0;t<n.length;t++){var p=this._getField(n[t],this.mapFld._id),s=this._getField(n[t],this.mapFld._imageUrl),h=this._getField(n[t],this.mapFld._imageAttributes),c=this._getField(n[t],this.mapFld._spriteCSS),o=this._getField(n[t],this.mapFld._text),l=this._getField(n[t],this.mapFld._value),a=this._getField(n[t],this.mapFld._htmlAttributes),b=this._getField(n[t],this.mapFld._selectBy),k=this._getField(n[t],this.mapFld._checkBy),v=this._getField(n[t],this.mapFld._tooltipText),w=this.model.virtualScrollMode=="continuous"&&this.mergeValue?this.realUllength+this.mergeValue.length:this.realUllength;i=l&&l!=""?ej.buildTag("li","","",$.extend(this._itemStyle(),{value:l})):ej.buildTag("li",null,null,this._itemStyle());p&&i.attr("id",p);s&&s!=""&&(imgtag=ej.buildTag("img.e-align","",{},{src:s,alt:o}),h&&h!=""&&imgtag.attr(h),i.append(imgtag));c&&c!=""&&(divtag=ej.buildTag("div.e-align "+c+" sprite-image"),i.append(divtag));o&&o!=""&&(this.model.template?i.append(this._getTemplatedString(n[t])):i.append(o));a&&a!=""&&i.attr(a);v&&v!=""&&i.attr("data-content",v).addClass("e-tooltip");(k||this.model.checkAll)&&i.addClass("checkItem");(b||this.model.selectAll)&&i.addClass("selectItem");this.model.allowVirtualScrolling&&this.model.virtualScrollMode=="normal"?($(i[0]).attr("data-ej-page",0),$(this.dummyUl[w]).replaceWith(i[0]),this._dummyVirtualUl.push(i[0])):this.dummyUl.push(i[0]);this.realUllength+=1}if(this.model.allowVirtualScrolling||this.element.children().remove(),this.element.children()[w]==null&&(!this.model.allowVirtualScrolling||this.model.virtualScrollMode==ej.VirtualScrollMode.Continuous)&&this._loadContent&&this.element.append(this.dummyUl),e=this.element.find("li:not('.e-ghead')"),this.listItemsElement=this.element.find("li:not('.e-ghead')"),this.model.showCheckbox&&this.model.checkedIndices)for(r=0;r<e.length;r++)this.model.checkedIndices.indexOf(r)!=-1&&$(e[r]).addClass("checkItem");else if(!this.model.showCheckbox)for(this.value()==""||this.mapCateg||!this.mapCateg==""||this.selectItemByText(this.value()),r=0;r<e.length;r++)(this.model.selectedIndices.indexOf(r)!=-1||this.model.selectedIndex==r)&&$(e[r]).addClass("selectItem");this.element.find(".selectItem").each(function(n,t){f.push($(t).parent().find("li").index($(t)))});u=this;u.model.showCheckbox||this.mapCateg||!this.mapCateg==""||u._selectListItems();this.element.find(".checkItem").each(function(n,t){u.model.checkedIndices.push(u._elementIndex(t))});this.mapCateg||!this.mapCateg==""||(f.length&&(this.model.allowMultiSelection?this.model.selectedIndices=f:this.model.selectedIndex=f[0]),this.model.checkedIndices?this.model.checkedIndices=$.grep(u.model.checkedIndices,function(n,t){return t==$.inArray(n,u.model.checkedIndices)}):this.model.selectedIndices&&(this.model.selectedIndices=$.grep(u.model.selectedIndices,function(n,t){return t==$.inArray(n,u.model.selectedIndices)})));this._loadContent=!0}return this},_applySelection:function(){if(!(this.model.fields.checkBy||this.model.fields.selectBy))return!1;this.model.showCheckbox?(this.uncheckAll(),this.checkItemsByIndices(this.model.checkedIndices)):this.model.allowMultiSelection?this.selectItemsByIndices(this.model.selectedIndices):(this.unselectAll(),this.selectItemByIndex(this.model.selectedIndex))},_getField:function(n,t){return ej.pvt.getObject(t,n)},_getTemplatedString:function(n){for(var t=this.model.template,i=t.indexOf("${"),r=t.indexOf("}"),u,f;i!=-1&&r!=-1;)u=t.substring(i,r+1),f=u.replace("${","").replace("}",""),t=t.replace(u,this._getField(n,f)),i=t.indexOf("${"),r=t.indexOf("}");return t},_checkboxHideShow:function(n){return this.model.showCheckbox=n,n?this._createCheckbox():this._removeCheckbox(),this},_createCheckbox:function(){var n,r,u=this,t,i;for(this._listitems=this.listContainer.find("ol,ul").length>0?this.listContainer.find("ol,ul").children("li:not('.e-ghead')"):this.element.children("li:not('.e-ghead')"),r=this._listitems.find("input[type=checkbox]"),n=0;n<this._listitems.length;n++)$(this._listitems[n]).text()!=""&&($checkbox=ej.buildTag("input.listcheckbox e-align#popuplist"+n+"_"+this._id,"",{},{type:"checkbox",name:"list"+n}),$(this._listitems[n]).find("input[type=checkbox]").length||$(this._listitems[n]).prepend($checkbox));for(this.listContainer.find(".listcheckbox").ejCheckBox({cssClass:this.model.cssClass,change:$.proxy(this._onClickCheckList,this)}),n=0;n<this._listitems.length;n++)t=$(this._listitems[n]).find(".listcheckbox"),$(this._listitems[n]).hasClass("e-disable")?t.ejCheckBox("disable"):$(this._listitems[n]).hasClass("checkItem")&&!t.ejCheckBox("isChecked")&&(t.ejCheckBox({checked:!0}),this._activeItem=n,this.checkedStatus=!0,i=this._getItemObject($(this._listitems[n]),null),i.isInteraction=!0,this._initValue||this._trigger("checkChange",i),$(this._listitems[n]).removeClass("checkItem"));for(n=0;n<this.model.selectedIndices.length;n++)this.checkItemsByIndices(this.model.selectedIndices)},_removeCheckbox:function(){var n,t;if(this.listitem=this.listContainer.find("ol,ul").children("li"),t=this.listitem.find(".listcheckbox"),t.length>0){if(this.listitem.find(".listcheckbox").ejCheckBox("destroy"),this.listitem.find("input[type=checkbox]").remove(),this.model.allowMultiSelection)for(n=0;n<this.model.checkedInd