UNPKG

@syncfusion/reporting-javascript

Version:
10 lines 1.49 MB
/*! * filename: ej.report-designer-widgets.min.js * version : 4.1.0.16 * Copyright Syncfusion Inc. 2001 - 2018. 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(["jquery-validation","jsrender","./ej.reporting.widgets.min"],n):n()})(function(){(function(n,t,i){t.widget("ejAutocomplete","ej.Autocomplete",{element:null,model:null,validTags:["input"],_ignoreOnPersist:["fields","dataSource","query","focusIn","focusOut","change","select","create","destroy","open","close","actionComplete","actionSuccess","actionFailure"],_setFirst:!1,_rootCSS:"e-autocomplete",type:"editor",angular:{require:["?ngModel","^?form","^?ngModelOptions"]},_requiresID:!0,defaults:{dataSource:null,query:null,fields:{text:null,key:null,category:null,groupBy:null,htmlAttributes:null},locale:"en-US",name:null,template:null,allowGrouping:!1,enableDistinct:!1,ignoreAccent:!1,allowSorting:!0,sortOrder:"ascending",htmlAttributes:{},multiSelectMode:"none",delimiterChar:",",allowAddNew:!1,addNewText:"Add New",showRoundedCorner:!1,readOnly:!1,cssClass:"",watermarkText:null,value:"",selectValueByKey:null,filterType:"startswith",caseSensitiveSearch:!1,showLoadingIcon:!0,showResetIcon:!1,itemsCount:0,minCharacter:1,delaySuggestionTimeout:200,showPopupButton:!1,highlightSearch:!1,enableAutoFill:!1,enableRTL:!1,enabled:!0,visible:!0,height:"",width:"",emptyResultText:"No suggestions",animateType:"slide",showEmptyResultText:!0,enablePersistence:!1,popupHeight:"152px",popupWidth:"auto",autoFocus:!1,multiColumnSettings:{enable:!1,showHeader:!0,stringFormat:"{0}",searchColumnIndices:[],columns:[{field:null,headerText:null,textAlign:"left",headerTextAlign:"left",cssClass:"",type:"string",filterType:"startswith"}]},validationRules:null,validationMessage:null,focusIn:null,focusOut:null,change:null,select:null,create:null,open:null,close:null,destroy:null,actionBegin:null,actionComplete:null,actionSuccess:null,actionFailure:null},dataTypes:{autoFocus:"boolean",watermarkText:"string",locale:"string",cssClass:"string",filterType:"enum",caseSensitiveSearch:"boolean",showLoadingIcon:"boolean",template:"string",allowGrouping:"boolean",enableDistinct:"boolean",allowSorting:"boolean",sortOrder:"enum",allowAddNew:"boolean",addNewText:"string",showRoundedCorner:"boolean",showResetIcon:"boolean",readOnly:"boolean",itemsCount:"number",animateType:"enum",minCharacter:"number",showPopupButton:"boolean",highlightSearch:"boolean",enableAutoFill:"boolean",enableRTL:"boolean",multiSelectMode:"enum",delimiterChar:"string",emptyResultText:"string",showEmptyResultText:"boolean",enabled:"boolean",visible:"boolean",enablePersistence:"boolean",dataSource:"data",query:"data",fields:"data",validationRules:"data",validationMessage:"data",htmlAttributes:"data",multiColumnSettings:"data",columns:"data",searchColumnIndices:"array"},observables:["value","selectValueByKey"],value:t.util.valueFunction("value"),_selectValueByKey:t.util.valueFunction("selectValueByKey"),enable:function(){this.model.enabled||(this.model.enabled=!0,this.target.disabled=!1,this.element.removeClass("e-disable").attr({"aria-disabled":!1}),this.element.removeAttr("disabled"),this.model.showPopupButton&&this.dropdownbutton.removeClass("e-disable").attr({"aria-disabled":!1}),this.model.multiSelectMode=="visualmode"&&this._ulBox.removeClass("e-disable").attr({"aria-disabled":!1}),this.wrapper.removeClass("e-disable-wrap"))},disable:function(){this.model.enabled&&(this._hideResult(),this.model.enabled=!1,this.target.disabled=!0,this.element.attr("disabled","disabled"),this.element.addClass("e-disable").attr({"aria-disabled":!0}),this.model.showPopupButton&&this.dropdownbutton.addClass("e-disable").attr({"aria-disabled":!0}),this.model.multiSelectMode=="visualmode"&&this._ulBox&&this._ulBox.addClass("e-disable").attr({"aria-disabled":!0}),this.wrapper.addClass("e-disable-wrap"))},clearText:function(){this.model.multiSelectMode=="visualmode"&&this._deleteBox(this._ulBox.children("li"));this.element.val("");this._valueChange();this._isFocused||this._focusOutAction();this._hideResult()},getValue:function(){var n=this.value();return n==null?"":n},getSelectedItems:function(){return this._isFocused&&this.model.multiSelectMode!="visualmode"&&this._updateSelectedItemArray(this.getValue()),this._selectedItems},_setValue:function(i){var r,u,f;if(this._isWatermark||this._hiddenSpan.css("display","none"),(typeof i=="object"||typeof i=="number"&&isNaN(i)||n.trim(i)=="")&&(i=""),this.model.multiSelectMode=="visualmode"&&this._hiddenInput.val(""),this.element.val(""),this._hiddenInput||(this._hiddenInput=t.buildTag("input#"+this.target.id+"_hidden","",{},{type:"hidden",name:this.element.attr("name")}).insertBefore(this.element)),i)if(this.model.multiSelectMode=="visualmode")if(this._selectedItems=[],this._modelValue=i,this._deleteBox(this._ulBox.children("li")),r=i.split(this.model.delimiterChar),this.element.width(1).val("").removeAttr("placeholder"),t.DataManager&&this.model.dataSource instanceof t.DataManager)this._createBoxForObjectType(r);else if(this.suggestionListItems=this.model.dataSource,this.suggestionListItems&&typeof this.suggestionListItems[0]!="object")for(this._hiddenInput.val(i),u=0,f=r.length;u<f;u++)r[u]&&(this._ulBox.append(this._createBox(r[u])),this._selectedItems.push(r[u]));else this._createBoxForObjectType(r);else this.element.val(i),this._updateSelectedItemArray(i);return this.model.multiSelectMode!="visualmode"&&this.value(this.element.val()),this._preVal=this.element.val(),this._isWatermark||this._setWatermarkTxt(),i},_createBoxForObjectType:function(i){for(var r,u=this,f=this._declareVariable(),e=0,o=i.length;e<o;e++)r=n.trim(i[e]),r!=""&&(t.DataManager&&this.model.dataSource instanceof t.DataManager?(this._dataQuery=this._getQuery().where(f[0],"equal",r,!1),this._promise=this.model.dataSource.executeQuery(this._dataQuery),this._promise.done(function(n){var i=n.result;u._strData=i instanceof Array&&i.length?i[0]:r;t.isNullOrUndefined(u._strData[f[1]])||u._selectKeyInit();u._selectedItems.push(u._strData)}).fail(function(){u._selectedItems.push(r)})):(this._dataQuery=t.Query().where(f[0],"equal",r,!1),this._promise=t.DataManager(this.suggestionListItems).executeLocal(this._dataQuery),this._strData=this._promise instanceof Array&&this._promise.length?this._promise[0]:r,t.isNullOrUndefined(this._strData[f[1]])||this._selectKeyInit(),this._selectedItems.push(this._strData)),this.model.multiSelectMode=="visualmode"&&this._ulBox.append(this._createBox(r)))},_selectKeyInit:function(){var n=this._declareVariable(),i=this._delimiterChar(),r;this.model.multiSelectMode=="visualmode"&&this._hiddenInput.val(this._hiddenInput.val()+(t.isNullOrUndefined(this._strData[n[1]]||this._strData[n[0]])?"":(this._strData[n[1]]||this._strData[n[0]])+this.model.delimiterChar));t.isNullOrUndefined(this._strData[n[1]])||(this.model.multiSelectMode!="none"?(r=this._selectValueByKey()!=null?this._selectValueByKey()+this._strData[n[1]]+i:this._strData[n[1]]+i,r=r.split(i).reduce(function(n,t){return n.indexOf(t)<0&&n.push(t),n},[]),this._selectValueByKey(r.join(i))):this._selectValueByKey(this._strData[n[1]]))},_declareVariable:function(){var n=this.model.fields,i={_key:null,_text:null,_attr:null},r=[];if(!t.isNullOrUndefined(n))return i._text=n&&n.text?n.text:"text",i._key=n&&n.key?n.key:"key",r.push(i._text,i._key),r},selectValueByKey:function(i){var u,r;t.isNullOrUndefined(i)||(u=this,i=i.toString(),r=this.model.multiSelectMode!="none"?i.split(this.model.delimiterChar):i.split(","),Object.prototype.toString.call(r)==="[object Array]"&&n.each(r,function(t,i){u._setOperation(n.trim(i),"key")}))},selectValueByText:function(n){this._setOperation(n,"text")},_eventTrigger:function(){var n=this.model.multiSelectMode=="visualmode"?this._modelValue:this.element.val()==""?null:this.element.val();this._trigger("select",{isInteraction:!0,value:this.value(),text:n,key:this._selectValueKey,item:this._selectedItems})},setValue:function(n){this._setText(n)},_setOperation:function(n,i){var o="",u,f,s=this,r=this.model.dataSource,e;if(t.isNullOrUndefined(r))return!1;if(typeof r[0]=="object"||r instanceof t.DataManager)e=this.model.fields,o=e&&e[i]?e[i]:i;else if(i=="key")return!1;if(n)if(t.DataManager&&r instanceof t.DataManager)f=this._getQuery().where(o,"equal",n,!this.model.caseSensitiveSearch),u=r.executeQuery(f),u.done(function(n){s._setText(n.result[0]);s._eventTrigger()});else{if(!r||!r.length||r.length<1)return!1;f=t.Query().where(o,"equal",n,!this.model.caseSensitiveSearch);u=t.DataManager(r).executeLocal(f);this._setText(u[0]);this._eventTrigger()}},_setText:function(n){var r,u,i,f;if(!n)return!1;if(i=this.model.fields,typeof this.model.dataSource[0]=="object"||typeof n=="object"?(r=typeof n=="string"?n:i&&i.text?n[i.text]:n.text,u=typeof n=="string"?n:i&&i.key?n[i.key]:n.key):r=n,r){if(this.model.multiSelectMode=="visualmode"&&this._removeDuplicates(n))return!1;this._valueToTextBox(r,n,!0);f=this.model.multiSelectMode=="visualmode"?this._modelValue:this.element.val();this.value(f);this.model.showResetIcon&&this._showReset()}this._selectValueKey=u;this._selectkey.push(u);t.isNullOrUndefined(u)||this._selectValueByKey(this._selectkey+this.model.delimiterChar)},_textFormateString:function(n){var i=this.model.multiColumnSettings.stringFormat,r,u;if(this._columnsIndex(),t.isNullOrUndefined(n)||typeof n!="object")i=t.isNullOrUndefined(n)||typeof n=="object"?this._currList[this._activeItem-1]:i.replace("{"+this._columnIndex[0]+"}",n);else for(r=0,u=this._columnIndex.length;r<u;r++)i=i.replace("{"+this._columnIndex[r]+"}",n[this.model.multiColumnSettings.columns[parseInt(this._columnIndex[r])].field]);return i},_columnsIndex:function(){var t=this;this._columnIndex=[];n.each(this.model.multiColumnSettings.stringFormat.match(/\{.+?\}/g),function(n,i){t._columnIndex[n]=i.slice(1,-1)});this._searchColumnIndex=[];n.each(this.model.multiColumnSettings.searchColumnIndices,function(n,i){t._searchColumnIndex.push(i)})},_valueToTextBox:function(i,r,u){var f,o,e;!this._addNewTemplate&&this.model.multiColumnSettings.enable&&typeof r!="string"&&(i=this._textFormateString(r));e=this.model.delimiterChar;f=this._getUniqueKey();f=f?f:this.model.fields&&this.model.fields.key?r[this.model.fields.key]:t.isNullOrUndefined(r.key)?f:r.key;this._hiddenInput||(this._hiddenInput=t.buildTag("input#"+this.target.id+"_hidden","",{},{type:"hidden",name:this.element.attr("name")}).insertBefore(this.element));(!(this._hiddenInput.val()==f||f==null)||o>-1)&&(this.model.multiSelectMode=="none"?this._hiddenInput.val(f||i):this._hiddenInput.val(this._hiddenInput.val()+(f||i)+e));this.model.multiSelectMode=="visualmode"?(r=typeof r=="string"&&this._addNewTemplate&&r.substr(r.length-this._addNewTemplate.length)==this._addNewTemplate?r.replace(this._addNewTemplate,""):r,typeof i=="number"&&(i=this._textFormateString(i)),o=i.indexOf(this._addNewTemplate),this._addNewTemplate&&(i=i.substr(0,i.length-this._addNewTemplate.length)),(!(this._selectValueByKey()==f||f==null)||o>-1)&&this._selectValueByKey(this._selectValueByKey()!=null?this._selectValueByKey()+(o>-1?i:f)+e:(o>-1?i:f)+e),this._modelValue=t.isNullOrUndefined(this.value())?i+e:this.value()+i+e,this.element.val("").removeAttr("placeholder").width(1),this._ulBox.append(this._createBox(i)),this.model.height!=""&&(n(this._ulBox).parent().css("overflow","auto"),this.model.showPopupButton&&this._ulBox.parent()[0].scrollHeight!=0&&this.dropdownbutton.css("height",this._ulBox.parent()[0].scrollHeight)),this._addNewTemplate=null):this.model.multiSelectMode=="delimiter"?(e=this.target.value.lastIndexOf(this.model.delimiterChar),this._typed||this.element.val()==""||u||!this.model.showPopupButton?u?this.element.val(this.element.val()==""?i+this.model.delimiterChar:this.element.val()+i+this.model.delimiterChar):e==-1?this.element.val(this._queryString.substr(0,e+1)+i+this.model.delimiterChar):this.element.val(this._queryString.substr(0,e+this.model.delimiterChar.length)+i+this.model.delimiterChar):!this.model.enableAutoFill||this.showSuggestionBox?this._checkDeli()?this.element.val(this._queryString.substr(0,e)+this.model.delimiterChar+i+this.model.delimiterChar):this.element.val(this.element.val()+this.model.delimiterChar):this._checkDeli()||this.element.val(this.element.val()+this.model.delimiterChar),this._typed=!1):(this.element.val(i),this._selectedItems=[]);this._selectedItems.push(r);this._originalval.push(i);this._moveCaretToEnd(this.element[0])},_removeDuplicates:function(n){return this._selectedItems.length==0?!1:this._selectedItems.indexOf(n)!=-1?!0:void 0},search:function(){this.model.enabled&&this._checkDelimiter()&&(this._hideResult(),this._autoFill=!1,this._queryString=n.trim(this._queryString),this._queryString.length>0&&this._OnTextEnter())},setVisible:function(n){n?this.wrapper.show():this.wrapper.hide()},hide:function(){this._hideResult()},open:function(){this._showFullList()},_changeWatermark:function(n){this._isWatermark?this.element.attr("placeholder",n):this._hiddenSpan.text(n)},_changeSkin:function(n){this.wrapper.removeClass(this.model.cssClass).addClass(n);this.suggestionList.removeClass(this.model.cssClass).addClass(n)},_setDropdown:function(n){this.model.showPopupButton=n;n?this._renderDropdown():this._destroyDropdown()},_changeHeight:function(n){this.wrapper.height(n)},_changeWidth:function(n){this.wrapper.width(n);this._setListWidth()},_setCulture:function(){this._localizedLabels=this._getLocalizedLabels();t.isNullOrUndefined(this._options)||(t.isNullOrUndefined(this._options.addNewText)||(this._localizedLabels.addNewText=this._options.addNewText),t.isNullOrUndefined(this._options.emptyResultText)||(this._localizedLabels.emptyResultText=this._options.emptyResultText),t.isNullOrUndefined(this._options.watermarkText)||(this._localizedLabels.watermarkText=this._options.watermarkText));this.model.addNewText=this._localizedLabels.addNewText;this.model.emptyResultText=this._localizedLabels.emptyResultText;this.model.watermarkText=this._localizedLabels.watermarkText},_init:function(n){if(this._options=n,this._selectkey=[],this._setCulture(),!this.element.is("input")||this.element.attr("type")&&this.element.attr("type")!="text")return!1;this.model.fields.groupBy=this.model.fields.groupBy?this.model.fields.groupBy:this.model.fields.category;this._initialize();this._render();this._wireEvents();this.initialRender=!1;this.model.validationRules!=null&&(this._initValidator(),this._setValidation())},_initValidator:function(){this.element.closest("form").data("validator")||this.element.closest("form").validate()},_setValidation:function(){var e,r,f,i,u,o;if(this.model.validationRules){e=this.model.multiSelectMode=="visualmode"?this._hiddenInput:this.element;e.rules("add",this.model.validationRules);r=this.element.closest("form").data("validator");r=r?r:this.element.closest("form").validate();f=e.attr("name");r.settings.messages[f]={};for(i in this.model.validationRules)if(u=null,!t.isNullOrUndefined(this.model.validationRules[i])){if(t.isNullOrUndefined(this.model.validationRules.messages&&this.model.validationRules.messages[i])){r.settings.messages[f][i]=n.validator.messages[i];for(o in this.model.validationMessage)i==o?u=this.model.validationMessage[i]:""}else u=this.model.validationRules.messages[i];r.settings.messages[f][i]=u!=null?u:n.validator.messages[i]}}},_removeDuplicateValue:function(n){return n.split(this.model.delimiterChar).reduce(function(n,t){return n.indexOf(t)<0&&n.push(t),n},[]).join(this.model.delimiterChar)},_delimiterChar:function(){return this.model.multiSelectMode!="none"?this.model.delimiterChar:""},_setModel:function(n){var i,r,u,h,l,a,c,s,f,e,o;for(i in n){switch(i){case"dataSource":this.model.dataSource=null;break;case"watermarkText":this._changeWatermark(n[i]);break;case"delaySuggestionTimeout":this.model.delaySuggestionTimeout=parseInt(n[i]);break;case"value":r=t.util.getVal(n[i]);u=this._delimiterChar();this.model.multiSelectMode!="none"&&(e=r.substr(r.length-u.length)==u?r:r+u,r=r==""?this.value():(this.value()?this.value():"")+e,this.model.multiSelectMode=="visualmode"&&(r=r.split(u).reduce(function(n,t){return n.indexOf(t)<0&&n.push(t),n},[]),r=r.join(u)));this.value(this._setValue(r));h=this.model.dataSource;t.DataManager&&h instanceof t.DataManager?this._loadInitData():this._setHiddenkeyByValue(h);this._modelValue=this.value();l=this.model.multiSelectMode=="visualmode"?this._hiddenInput.val():this.element.val();this._changeEvtTrigger(l);this.model.showResetIcon&&this._showReset();break;case"showPopupButton":this._setDropdown(n[i]);break;case"enableRTL":this._RightToLeft(n[i]);break;case"showRoundedCorner":this._setRoundedCorner(n[i]);break;case"readOnly":this._checkReadOnly(n[i]);break;case"delimiterChar":a=this.model.delimiterChar;n[i]=this._validateDelimiter(n[i]);this.model.delimiterChar=n[i];this.element.val(this.value().replace(new RegExp(a,"g"),this.model.delimiterChar));this.value(this.element.val());break;case"validationRules":this.model.validationRules!=null&&(this.element.rules("remove"),this.model.validationMessage=null);this.model.validationRules=n[i];this.model.validationRules!=null&&(this._initValidator(),this._setValidation());break;case"validationMessage":this.model.validationMessage=n[i];this.model.validationRules!=null&&this.model.validationMessage!=null&&(this._initValidator(),this._setValidation());break;case"locale":t.Autocomplete.Locale[n[i]]?(this.model.locale=n[i],this._setCulture(),this._setWatermark()):this.model.locale=n[i];break;case"filterType":c=[];for(f in t.filterType)t.filterType.hasOwnProperty(f)&&c.push(t.filterType[f]);c.indexOf(n[i])>-1?this.model.filterType=n[i]:n[i]=this.model.filterType;break;case"multiSelectMode":this.model.multiSelectMode=n[i];s=this._delimiterChar();this.model.multiSelectMode!="none"&&(f=this._selectValueByKey(),e=this.value(),e&&(e=e.substr(e.length-s.length)==s?e:e+s,this.value(e),this.model.multiSelectMode=="visualmode"&&this.value(this._removeDuplicateValue(this.value()))),f&&(this._selectValueByKey(f.substr(f.length-s.length)==s?f:f+s),this.model.multiSelectMode=="visualmode"&&this._selectValueByKey(this._removeDuplicateValue(this._selectValueByKey()))));n[i]=="visualmode"?(this.model.validationRules!=null&&this.element.rules("remove"),this.element.val()!=""&&this._isWatermark&&this.element.removeAttr("placeholder")):this.element.hasClass("e-visual-mode")&&this._destroyBoxModel();this._destroy();this._init();this._setValue(this.value());this._setValidation();t.isNullOrUndefined(this.element.attr("placeholder"))&&this._isWatermark&&this._setWatermark();break;case"enabled":this._disabled(!n[i]);break;case"visible":this.setVisible(n[i]);break;case"height":this._changeHeight(n[i]);break;case"width":this._changeWidth(n[i]);break;case"cssClass":this._changeSkin(n[i]);break;case"itemsCount ":(n[i]<=0||isNaN(n[i]))&&(n[i]=0);break;case"popupHeight":this.suggestionList.css({"max-height":isNaN(n[i])?n[i]:n[i]+"px"});break;case"popupWidth":this.model.popupWidth=n[i];this._setListWidth();break;case"selectValueByKey":u=this._delimiterChar();f=t.util.getVal(n[i]);this.selectValueByKey(f);o=this.model.multiSelectMode!="none"?this._selectValueByKey()+n[i]:n[i];o=o.split(u).reduce(function(n,t){return n.indexOf(t)<0&&n.push(t),n},[]);o=o.join(u);n[i]=o.substr(o.length-u.length)==u?o:o+u;break;case"htmlAttributes":this._addAttr(n[i]);break;case"emptyResultText":t.isNullOrUndefined(this._options)&&(this._options={});this._options.emptyResultText=this.model.emptyResultText=n[i];this._setCulture();break;case"addNewText":t.isNullOrUndefined(this._options)&&(this._options={});this._options.addNewText=this.model.emptyResultText=n[i];this._setCulture();break;case"multiColumnSettings":t.isNullOrUndefined(n[i].enable)||(this.model.multiColumnSettings.enable=n[i].enable);t.isNullOrUndefined(n[i].showHeader)||(this.model.multiColumnSettings.showHeader=n[i].showHeader);t.isNullOrUndefined(n[i].stringFormat)||(this.model.multiColumnSettings.stringFormat=n[i].stringFormat);t.isNullOrUndefined(n[i].searchColumnIndices)||(this.model.multiColumnSettings.searchColumnIndices=n[i].searchColumnIndices);t.isNullOrUndefined(n[i].columns)||(this.model.multiColumnSettings.columns=n[i].columns);this.suggestionList.remove();this._renderSuggestionList();break;case"showResetIcon":this.model.showResetIcon=n[i];n[i]&&!t.isNullOrUndefined(this.value())&&this.value()!=""?this._showReset():this._removeReset()}this._hideResult()}},_destroy:function(){this.element.width("").removeAttr("role aria-label aria-expanded aria-haspopup aria-autocomplete autocomplete placeholder aria-owns aria-disabled disabled");this.element.insertAfter(this.wrapper);this.model.multiSelectMode=="visualmode"&&this.element.removeClass("e-visual-mode").attr("name",this._hiddenInput.attr("name"));this.model.enabled||this.element.removeClass("e-disable");this.wrapper.remove();this.element.removeClass("e-input").val("");this._isWatermark&&this.element.removeAttr("placeholder");this._hideResult();this.suggestionList.remove()},_initialize:function(){this.value(this.value()===""?this.element[0].value:this.value());this.element.attr("role","combobox").attr("aria-label","Autocomplete textbox").attr("aria-expanded",!1).attr("aria-autocomplete","list");t.isNullOrUndefined(this.element.attr("tabindex"))&&this.element.attr("tabindex",0);/Edge\/12./i.test(navigator.userAgent)&&this.element.addClass("edge-browser");this.target=this.element[0];this.dropdownbutton=null;this._isIE8=t.browserInfo().name=="msie"&&t.browserInfo().version=="8.0"?!0:!1;this.showSuggestionBox=!1;this.noresult=!0;this._queryString=null;this.suggLen=0;this._selectedItems=[];this._modelValue="";this._activeItem=0;this._originalval=[];this.ctrlKeyPressed=!1;this._isFocused=!1;this._isOpened=!1;this._typed=!1;this._cancelEvent=!1;this._isWatermark=this._checkWatermarkSupport();this._selectedObj=[];this.eleClick=!1},_render:function(){this._renderWrapper();this._addAttr(this.model.htmlAttributes);this._setDimentions();this._renderDropdown();this._checkProperties();this._isWatermark?this._setWatermark():this._setWatermarkTxt();this._renderSuggestionList();this._RightToLeft(this.model.enableRTL);this._setRoundedCorner(this.model.showRoundedCorner);this.setVisible(this.model.visible);this._setListPosition()},_renderWrapper:function(){var n,i;this.element.addClass("e-input").attr("autocomplete","off");this.model.multiSelectMode=="visualmode"?(this.wrapper=t.buildTag("div.e-atc e-widget "+this.model.cssClass+"#"+this.target.id+"_wrapper").insertAfter(this.element),this.container=t.buildTag("div.e-in-wrap e-box").append(this.element)):(this.wrapper=t.buildTag("span.e-atc e-widget "+this.model.cssClass+"#"+this.target.id+"_wrapper").insertAfter(this.element),this.container=t.buildTag("span.e-in-wrap e-box").append(this.element));document.activeElement==this.element[0]&&(n=!0);this.wrapper.append(this.container);this._isWatermark||(this._hiddenSpan=t.buildTag("span.e-input e-placeholder ").insertAfter(this.element),this._hiddenSpan.text(this.model.watermarkText),this._hiddenSpan.css("display","none"),i=this,this._hiddenSpan.click(function(){this._isFocused||i.element.focus()}));n&&this.element.focus()},_renderDropdown:function(){if(this.model.showPopupButton){var i=t.buildTag("span.e-icon e-search").attr(this._isIE8?{unselectable:"on"}:{});this.dropdownbutton=t.buildTag("span.e-select#"+this.target.id+"_dropdown").attr(this._isIE8?{unselectable:"on"}:{}).append(i);this.container.append(this.dropdownbutton).addClass("e-padding");this.model.enabled||this.dropdownbutton.addClass("e-disable").attr({"aria-disabled":!0});this.dropdownbutton.on("mousedown",n.proxy(this._OnDropdownClick,this))}},_addAttr:function(t){var i=this;n.map(t,function(n,t){t=="required"&&i.element.attr(t,n);t=="class"?i.wrapper.addClass(n):t=="name"?i.element.attr(t,n):t=="disabled"&&n=="disabled"?i._disabled(!0):t=="readOnly"&&n===!0?i._checkReadOnly(!0):i.wrapper.attr(t,n)})},_setDimentions:function(){this.model.height&&this.wrapper.height(this.model.height);this.model.width&&this.wrapper.width(this.model.width)},_renderBoxModel:function(){this._ulBox=t.buildTag("ul.e-ul e-boxes");var i=this.model.enabled?"":"e-disable";this._ulBox.addClass(i);this._hiddenInput=t.buildTag("input#"+this.target.id+"_hidden","",{},{type:"hidden"}).insertBefore(this.element);this._hiddenInput.attr("name",this.element.attr("name"));this.element.val("").removeAttr("name").addClass("e-visual-mode");this._isWatermark||this.element.width(1);this.container.prepend(this._hiddenInput,this._ulBox);this.model.height!=""?this.wrapper.height(this.model.height):this.wrapper.height("auto");this._on(this.container,"mousedown",function(t){if(!this.model.enabled)return!1;var i=n(t.target);i.is(this.element)||(t.preventDefault(),this._isFocused||this.element.focus(),i.hasClass("e-options")?(!t.ctrlKey&&i.siblings().hasClass("e-active")&&this._removeActive(),i.hasClass("e-active")?i.removeClass("e-active"):i.addClass("e-active")):this._moveCaretToEnd(this.element[0]));!t.ctrlKey&&(i.hasClass("e-boxes")||i.hasClass("e-input"))&&this._removeActive()})},_destroyBoxModel:function(){this.container.prepend(this.element);this.element.attr({name:this._hiddenInput.attr("name")}).removeAttr("style").removeClass("e-visual-mode");this.wrapper.height(this.model.height);this._hiddenInput.remove();this._hiddenInput=null;this._ulBox.remove();this._off(this.container,"mousedown")},_deleteLastBox:function(){var t=this._ulBox.children(),n=t.last(),i=n.hasClass("e-active");this._removeActive();i?this._deleteBox(n):n.addClass("e-active")},_deleteBox:function(t){for(var s,u,i,f,e,r=0,o=t.length;r<o;r++)s=this._ulBox.children(),u=s.index(t[r]),this._selectedItems.splice(u,1),i=this.model.delimiterChar,f=this._hiddenInput.val().split(i),f.splice(u,1),this._hiddenInput.val(f.join(i)),this._selectValueByKey(f.join(i)),e=this._modelValue.split(i),e.splice(u,1),this._modelValue=e.join(i),n(t[r]).remove(),this.deletedItem=n(t)[0].innerText;this.showSuggestionBox&&this._refreshPopup();this._valueChange();this.value()==""&&this.model.height!=""&&(n(this._ulBox).parent().css("overflow","hidden"),this.dropdownbutton.css("height",this.model.height));this._hiddenInput.val()==""&&this._setWatermark()},_removeActive:function(){this._ulBox.children("li.e-active").removeClass("e-active")},_adjustWidth:function(){var n=t.buildTag("span",this.element.val()),i,r;this.container.append(n);r=30;i=n.width()+r;this.element.width()!=i&&this.element.width(i);this._hiddenInput.val()==""&&this._setWatermark();n.remove()},_checkProperties:function(){var r,i,u;this._checkReadOnly(this.model.readOnly);this.model.delimiterChar=this._validateDelimiter(this.model.delimiterChar);this.model.enabled?this.model.enabled&&n(this.element).hasClass("e-disable")&&(this.model.enabled=!1,this._disabled(!1)):(this.model.enabled=!0,this._disabled(!0));this._checkNameAttr();this.model.multiSelectMode=="visualmode"&&this._renderBoxModel();t.isNullOrUndefined(this._selectValueByKey())?(i=t.isNullOrUndefined(this.value())?this.value():this.value().toString(),this.model.multiSelectMode=="none"||t.isNullOrUndefined(i)||i==""||(i=i.substr(i.length-this.model.delimiterChar.length)==this.model.delimiterChar?i:i+this.model.delimiterChar),this.value(this._setValue(i)),i&&(u=this.model.dataSource,t.DataManager&&u instanceof t.DataManager?this._loadInitData(i):this._setHiddenkeyByValue(u)),this.model.showResetIcon&&this.value()!=""&&this._showReset()):(r=this._selectValueByKey().toString(),this.model.multiSelectMode!="none"&&(r=r.substr(r.length-this.model.delimiterChar.length)==this.model.delimiterChar?r:r+this.model.delimiterChar,this.model.multiSelectMode=="visualmode"?this._selectValueByKey(null):this._selectValueByKey(r)),this.selectValueByKey(r),this.model.showResetIcon&&this._showReset())},_loadInitData:function(n){var r=this.model.dataSource,u=this,f=this.model.fields,s=f&&f.text?f.text:"text",e,o,i;if(this.model.multiSelectMode!="none"&&(n=n.split(this.model.delimiterChar)),t.DataManager&&r instanceof t.DataManager&&!u._trigger("actionBegin",{requestFrom:"default"})){if(o=this._getQuery(),typeof n=="object"){for(i=0;i<n.length-1;i++)o.queries.push(t.Predicate(s,"equal",n[i].trim(),!this.model.caseSensitiveSearch));e=r.executeQuery(o)}else e=r.executeQuery(this._getQuery().where(s,"equal",n,!this.model.caseSensitiveSearch));e.done(function(n){u._trigger("actionSuccess",{e:n,requestFrom:"default"});(!n.result||n.result.length>0)&&u._setHiddenkeyByValue(n.result)})}},_setHiddenkeyByValue:function(n){var u,r,o,s,h;t.isNullOrUndefined(this.value())&&this.value("");var i=this.value(),f=n,c=[],e=[];if(i=this.model.multiSelectMode=="none"?i.replace(",",""):i.split(this.model.delimiterChar),!t.isNullOrUndefined(f)){for(u=0;u<f.length;u++){if(r=this._getField(f[u],this.model.fields.text),typeof r=="number"&&(r=r.toString()),t.isNullOrUndefined(this.model.fields.key)){if(t.isNullOrUndefined(this.model.fields.key))if(typeof i=="object"){for(h=0;h<i.length-1;h++)r==i[h].trim()&&e.push(r);e=this._removeDuplicateVal(e);this._hiddenInput.val(e)}else r==i&&this._hiddenInput.val(r)}else if(o=this._getField(f[u],this.model.fields.key),typeof i=="string")r==i&&this._hiddenInput.val(o);else for(s=0;s<i.length-1;s++)r==i[s]&&(this._hiddenInput.val()==""?this._hiddenInput.val(o):this._hiddenInput.val(this._hiddenInput.val()+this.model.delimiterChar+o+this.model.delimiterChar));c.push(r)}typeof i!="object"&&c.indexOf(i)==-1&&this._hiddenInput.val(i)}},_checkNameAttr:function(){this.model.name=this.element.attr("name")!=null?this.element.attr("name"):this.model.name!=null?this.model.name:this.element[0].id;this.element.attr("name",this.model.name)},_disabled:function(n){n?this.disable():this.enable()},_destroyDropdown:function(){this.dropdownbutton.off("mousedown",n.proxy(this._OnDropdownClick,this));this.dropdownbutton.remove();this.dropdownbutton=null;this.container.removeClass("e-padding")},_validateDelimiter:function(t){if(n.trim(t).length==t.length||t.length!=null)if(!/^[a-zA-Z0-9]+$/.test(t))return t;return","},_checkWatermarkSupport:function(){return"placeholder"in document.createElement("input")},_setWatermark:function(){(this.model.watermarkText&&(this.value()==""||t.isNullOrUndefined(this.value()))||this.model.multiSelectMode!="visualmode")&&this.element.attr("placeholder",this.model.watermarkText).width("")},_setWatermarkTxt:function(){if(this.model.watermarkText!=null&&n.trim(this.element.val())==""&&(this.model.multiSelectMode!="visualmode"||n.trim(this._hiddenInput.val())=="")){var t=this.model.watermarkText!=null?this.model.watermarkText:this._localizedLabels.watermarkText;this._hiddenSpan.css("display","block").text(t)}},_renderSuggestionList:function(){var o=n("#"+this.element[0].id+"_suggestion").get(0),r,s,f,i,u,e;if(o&&n(o).remove(),this.suggestionList=t.buildTag("div.e-atc-popup e-popup e-widget e-box "+this.model.cssClass+"#"+this.target.id+"_suggestion","",{display:"none"}).attr("role","listbox"),this.element.attr("aria-owns",this.target.id+"_suggestion"),this.popup=this.suggestionList,r=t.buildTag("div"),this.model.multiColumnSettings.enable){if(this._tableColumn=t.buildTag("table","",{border:0,padding:0,"border-spacing":0},{role:"listbox","class":"e-atc-tableContent"}),this._listEventBind(this._tableColumn,"tr"),this._headerColGroup=document.createElement("colgroup"),this.model.multiColumnSettings.showHeader){for(this._tableHeaderDiv=t.buildTag("div",{},{},{"class":"e-atc-tableHeader "+(this.model.enableRTL?"e-atc-tableHeaderRTL":"e-atc-tableHeaderScroll")}),s=t.buildTag("div",{},{},{"class":"e-atc-tableHeaderContent e-atc-tableHeaderBorder"}),f=document.createElement("tr"),this._tableHeader=t.buildTag("table","",{"border-spacing":"0.25px"},{}),i=0,u=this.model.multiColumnSettings.columns.length;i<u;i++)n(f).append(t.buildTag("th",this.model.multiColumnSettings.columns[i].headerText?this.model.multiColumnSettings.columns[i].headerText:"column"+i,{"text-align":this.model.multiColumnSettings.columns[i].headerTextAlign?this.model.multiColumnSettings.columns[i].headerTextAlign:"left"},{"class":i==this.model.multiColumnSettings.columns.length-1?"":this.model.enableRTL?"e-atc-thleft":"e-atc-thright"})),n(this._headerColGroup).append(document.createElement("col"));n(this._tableHeaderDiv).append(n(s).append(n(this._tableHeader).append(f).append(this._headerColGroup)));this.suggestionList.append(this._tableHeaderDiv)}else{for(i=0,u=this.model.multiColumnSettings.columns.length;i<u;i++)n(this._headerColGroup).append(document.createElement("col"));this._tableColumn.append(this._headerColGroup)}e=t.buildTag("div");e.append(this._tableColumn);r.append(e)}else this.ul=t.buildTag("ul.e-ul").attr("role","listbox"),this._listEventBind(this.ul,"li:not('.e-category')"),r.append(this.ul);this.suggestionList.append(r);n("body").append(this.suggestionList);this._setListWidth();this._setListHeight();this.model.multiColumnSettings.enable?(r.ejScroller({height:0,width:0,scrollerSize:20}),this.scrollerObj=r.ejScroller("instance")):(this.suggestionList.ejScroller({height:0,width:0,scrollerSize:20}),this.scrollerObj=this.suggestionList.ejScroller("instance"))},_listEventBind:function(t,i){t.on({mouseenter:n.proxy(this._OnMouseEnter,this),mouseleave:n.proxy(this._OnMouseLeave,this),click:n.proxy(this._OnMouseClick,this)},i)},_checkEmptyList:function(){this.model.multiSelectMode=="visualmode"&&this._removeRepeated();this.suggestionListItems.length==0?(this.suggestionListItems.push(this.model.emptyResultText),this.noresult=!0):this.noresult=!1},_showSuggestionList:function(n){this.suggestionListItems=this.model.enableDistinct?t.dataUtil.distinct(this.suggestionListItems,typeof this.suggestionListItems[0]!="object"?"":this.model.fields&&this.model.fields.text?this.model.fields.text:"text",!0):this.suggestionListItems;this.model.itemsCount>0&&(this.suggestionListItems=t.DataManager(this.suggestionListItems).executeLocal(t.Query().take(this.model.itemsCount)));this._checkEmptyList();this._addNewTemplate=null;this.noresult&&this.model.multiSelectMode=="visualmode"&&this.model.allowAddNew&&this.element.val()!=""&&!this._repeatRemove&&(this.noresult=!1,this.suggestionListItems.pop(),this._addNewTemplate=" ("+this.model.addNewText+")",this.suggestionListItems.push(this.element.val()+this._addNewTemplate),this._checkEmptyList());(!this.noresult||this.model.showEmptyResultText)&&this._generateSuggestionList(n)},_generateSuggestionList:function(i){var f=this.suggestionListItems,r,h,g,c,y,e,o,nt,p,w,u,s,tt,b,a,l;if(this.model.multiColumnSettings.enable?this._tableColumn.empty()&&this.model.multiColumnSettings.showHeader&&this._tableHeaderDiv.css("display",""):this.ul.empty(),r=this,h=document.createDocumentFragment(),typeof f[0]!="object"){if(r.model.multiColumnSettings.enable){var k=t.buildTag("tbody"),it=t.buildTag("tr").attr("role","option").attr(r._isIE8?{unselectable:"on"}:{}),rt=t.buildTag("td",{},{},{role:"option"});for(u=0,s=f.length;s>u;u++){var c=r.model.highlightSearch&&!r.noresult?r._highlightSuggestion(f[u]):f[u],d=it.clone(),v=rt.clone();n(v).attr(r._isIE8?{unselectable:"on"}:{}).attr(f[u]!=f.length-1?{"class":"e-atc-tdbottom"}:{}).html(c);d[0].appendChild(v[0]);k[0].appendChild(d[0]);h.appendChild(k[0]);r.model.showEmptyResultText&&r.model.emptyResultText==c&&r.model.multiColumnSettings.showHeader&&r._tableHeaderDiv.css("display","none")&&n(v).removeClass("e-atc-tdbottom");r._addNewTemplate&&!t.isNullOrUndefined(r._tableHeaderDiv)&&r._tableHeaderDiv.css("display","none")}r._tableColumn[0].appendChild(h)}else{for(g=t.buildTag("li",{},{},{role:"option"}).attr(r._isIE8?{unselectable:"on"}:{}),u=0,s=f.length;s>u;u++)c=r.model.highlightSearch&&!r.noresult?r._highlightSuggestion(f[u]):f[u],y=g.clone(),y[0].innerHTML=c,h.appendChild(y[0]);r.ul[0].appendChild(h)}this._currList=f;this._mapper={txt:null,key:null}}else e=this.model.fields,o={_key:null,_text:null,_attr:null},o._key=e&&e.key?e.key:"key",o._text=e&&e.text?e.text:"text",o._attr=e&&e.htmlAttributes?e.htmlAttributes:"htmlAttributes",this._mapper={txt:o._text,key:o._key},this._currList=[],this.model.fields.groupBy?(nt=e&&e.groupBy?e.groupBy:"groupBy",w=t.Query().group(nt),this._addSortingQuery(w,"key"),p=t.DataManager(f).executeLocal(w),this._swapUnCategorized(p),p.forEach(function(n,i){if(n.key)if(r.model.multiColumnSettings.enable){var u=t.buildTag("tr.e-category").attr("role","option").attr(r._isIE8?{unselectable:"on"}:{});u.append(t.buildTag("td",n.key).attr("role","option").attr(r._isIE8?{unselectable:"on"}:{}).attr(i!=f.length-1?{"class":"e-atc-tdbottom"}:{}));r._tableColumn.append(u)}else r.ul.append(t.buildTag("li.e-category",n.key).attr("role","option").attr(r._isIE8?{unselectable:"on"}:{}));r._generateLi(n.items,o)})):this._generateLi(f,o);for(u=0,s=f.length;s>u;u++)if(this.model.multiColumnSettings.enable)tt=this._textFormateString(this._currList[u]),tt==this.value()&&(l=this._getLiTags()[u],n(l).addClass("e-activeli"));else for(b=this.value().split(this.model.delimiterChar),a=0;a<=b.length;a++)this._currList[u]==b[a]&&(l=this._getLiTags()[u],n(l).addClass("e-activeli"));this._getLiTags().length>0&&this._showResult(i)},_swapUnCategorized:function(n){for(var t,r=n.length,i=0;i<r;i++)if(!n[i].key){for(t=i;t>0;t--)n[t]=n[t-1];return n[t]=n[i],!1}},_generateLi:function(i,r){var u=this,a=document.createDocumentFragment(),y=document.createDocumentFragment(),p,w,b,d,h,e,c,k,f,v,o,s,l;if(u.model.multiColumnSettings.enable){for(p=u.model.multiColumnSettings.columns.length,this._tableColumn.append(t.buildTag("tbody")),w=t.buildTag("tr"),b=t.buildTag("td"),f=0,v=i.length;v>f;f++)if(o=this._getField(i[f],r._text),s=this._getField(i[f],r._key),!t.isNullOrUndefined(o)||u.model.multiColumnSettings.enable){for(d=u._getField(i[f]),h=w.clone(),h[0].className=f%2?"e-atc-trbgcolor":"",e=0;e<p;e++)c=b.clone(),c[0].innerHTML=this.model.multiColumnSettings.searchColumnIndices.length!=0?u.model.highlightSearch&&n.inArray(e,u._searchColumnIndex)>-1?u._highlightSuggestion(u._getField(i[f],u.model.multiColumnSettings.columns[e].field).toString()):u._getField(i[f],u.model.multiColumnSettings.columns[e].field):u.model.highlightSearch&&n.inArray(e.toString(),u._columnIndex)>-1?t.isNullOrUndefined(u._getField(i[f],u.model.multiColumnSettings.columns[e].field))?u._highlightSuggestion(""):u._highlightSuggestion(u._getField(i[f],u.model.multiColumnSettings.columns[e].field).toString()):u._getField(i[f],u.model.multiColumnSettings.columns[e].field),c[0].className=(f!=i.length-1?"e-atc-tdbottom ":"")+(e!=u.model.multiColumnSettings.columns.length-1?u.model.enableRTL?"e-atc-tdleft ":"e-atc-tdright ":"")+(u.model.multiColumnSettings.columns[e].cssClass?u.model.multiColumnSettings.columns[e].cssClass:""),c[0].style.textAlign=u.model.multiColumnSettings.columns[e].textAlign?u.model.multiColumnSettings.columns[e].textAlign:"left",y.appendChild(c[0]);h[0].appendChild(y);s&&h.attr("id",s);u._setAttributes(u._getField(i[f],r._attr),h[0]);a.appendChild(h[0]);u._currList=u._currList.concat([i[f]])}n(u._tableColumn).find("tbody")[0].appendChild(a)}else{for(k=n("<li><\/li>"),f=0,v=i.length;v>f;f++)o=this._getField(i[f],r._text),s=this._getField(i[f],r._key),t.isNullOrUndefined(o)||(u.model.highlightSearch&&(o=u._highlightSuggestion(o)),u.model.template&&(o=u._getTemplatedString(i[f],r._text,o)),l=k.clone(),l[0].innerHTML+=o,s&&l[0].setAttribute("id",s),u._setAttributes(u._getField(i[f],r._attr),l[0]),a.appendChild(l[0]),u._currList=u._currList.concat([i[f]]));u.ul[0].appendChild(a)}},_getLiTags:function(){return this.model.multiColumnSettings.enable?this._tableColumn.find("tbody tr:not('.e-category')"):this.ul.children("li:not('.e-category')")},_getTemplatedString:function(n,t,i){for(var r=this.model.template,f=r.indexOf("${"),e=r.indexOf("}");f!=-1&&e!=-1;){var o=r.substring(f,e+1),s=o.replace("${","").replace("}",""),u=this._getField(n,s);t==s&&(u=i);u||(u="");r=r.split(o).join(u);f=r.indexOf("${");e=r.indexOf("}")}return r},_getField:function(n,i){return t.pvt.getObject(i,n)},_setAttributes:function(t,i){if(t){typeof t=="string"&&(t=n.parseJSON(t));for(var r in t)i.setAttribute(r,t[r])}},_setListWidth:function(){var n=this.model.popupWidth;n&&n!="auto"?this.suggestionList.css({width:n}):this.suggestionList.css({width:this.wrapper.width()})},_setListHeight:function(){this.suggestionList.css({"max-height":this.model.popupHeight})},_refreshPopup:function(){this.model.popupWidth=="auto"&&Math.floor(this.wrapper.outerWidth())!=Math.floor(this.suggestionList.outerWidth())&&(this.suggestionList.css({width:this.wrapper.width()}),this._refreshScroller());this._setListPosition()},_showResult:function(r){var u,e,o,f;if(this._refreshScroller(),this._refreshPopup(),this._isOpened)n(document).on("mousedown",n.proxy(this._OnDocumentClick,this));else this.suggestionList.css("display","none"),u=this,clearTimeout(this._typing),this._typing=setTimeout(function(){u.suggestionList[u.model.animateType=="slide"?"slideDown":"fadeIn"](u.model.animateType=="none"?0:300,function(){n(document).on("mousedown",n.proxy(u._OnDocumentClick,u))})},this.model.delaySuggestionTimeout),e=r!=i?{event:r,isInteraction:!0}:{isInteraction:!1},this._trigger("open",e),this.wrapper.addClass("e-active");this._isOpened=!0;this.showSuggestionBox=!0;o=this._getLiTags();this._listSize=o.length;n(window).on("resize",n.proxy(this._OnWindowResize,this));f=t.getScrollableParents(this.wrapper);f[0]!=window&&this._on(f,"scroll",this._hideResult)},_hideResult:function(r){var u,f;this.showSuggestionBox&&(this.showSuggestionBox=!1,this._activeItem=0,clearTimeout(this._hiding),this.element.attr("aria-expanded",!1),u=this,this._isOpened?(this.suggestionList.css("display","none"),f=r!=i?{event:r,isInteraction:!0}:{isInteraction:!1},this._trigger("close",f)):this._hiding=setTimeout(function(){u.model&&u.suggestionList[u.model.animateType=="slide"?"slideUp":"fadeOut"](u.model.animateType=="none"?0:100);u._activeItem=0},this.model.delaySuggestionTimeout),n(document).off("mousedown",n.proxy(this._OnDocumentClick,this)),n(window).off("resize",n.proxy(this._OnWindowResize,this)),this._off(t.getScrollableParents(this.wrapper),"scroll",this._hideResult),this.wrapper.removeClass("e-active"))},_refreshScroller:function(){this.suggestionList.css("height","auto");this.suggestionList.find(".e-content , .e-scroller").removeAttr("style");this.model.multiColumnSettings.enable&&this.model.multiColumnSettings.showHeader&&(n(this._tableColumn).css("width","auto"),n(this._tableHeader).css("width","auto"));this.suggestionList.css("display","block");this.model.multiColumnSettings.enable&&(this.scrollerObj.option("height","auto"),this._columnBorderAlign());var i=this.suggestionList.height()>parseInt(n.isNumeric(this.model.popupHeight)?this.model.popupHeight:this.model.popupHeight.replace("px",""))-4;i||this.model.multiColumnSettings.enable&&(this.suggestionList.height()<=this._tableColumn.height()||this.suggestionList.width()<=this._tableColumn.width()||this.model.multiColumnSettings.showHeader&&this.suggestionList.width()<=this._tableHeader.width())?(i&&(this.scrollerObj.model.height=this.model.multiColumnSettings.showHeader&&this._tableHeader?parseInt(this.suggestionList.height())-parseInt(this._tableHeader.height()):this.suggestionList.height()),!this.model.multiColumnSettings.enable&&this.suggestionList.width()<this.suggestionList.find(".e-ul").width()&&this.suggestionList.find(".e-ul").width(this.suggestionList.find(".e-ul").width()),this.scrollerObj.model.width=this.suggestionList.width(),this.scrollerObj.refresh(),this.scrollerObj.option({enableRTL:this.model.enableRTL,scrollTop:0,scrollLeft:0}),this.model.multiColumnSettings.enable&&this.model.multiColumnSettings.showHeader&&this._addThBorder(),this.suggestionList.addClass("e-scroller"),!this.scrollerObj._vScroll&&this.model.multiColumnSettings.enable&&this.model.multiColumnSettings.showHeader&&this._removeThBorder()):(this.scrollerObj.setModel({height:"auto",width:this.suggestionList.width()}),this.scrollerObj.refresh(),this.model.multiColumnSettings.enable&&this.model.multiColumnSettings.showHeader&&this._removeThBorder());this.suggestionList.css("height","auto");this._isIE8&&this.suggestionList.find(".e-vscroll div, .e-hscroll div").attr("unselectable","on");this.model.multiColumnSettings.enable&&this.model.multiColumnSettings.showHeader&&(this.suggestionList.find(".e-content").scroll(t.proxy(function(t){this._tableHeader.parent(".e-atc-tableHeaderContent").scrollLeft(n(t.currentTarget).scrollLeft())},this)),this.suggestionList.find(".e-content").length>0&&this._tableHeader.parent(".e-atc-tableHeaderContent").scrollLeft(this.model.enableRTL?this.suggestionList.find(".e-content")[0].scrollWidth-this.suggestionList.find(".e-content")[0].clientWidth:0))},_columnBorderAlign:function(){var i,t,r;if(this.model.multiColumnSettings.enable&&this.model.multiColumnSettings.showHeader&&this._tableHeaderDiv.css("display")!="none"){for(this._tableWid=this._tableHeader.outerWidth()>this._tableColumn.outerWidth()?this._tableHeader.outerWidth():this._tableColumn.outerWidth(),this._tableColumn.find("colgroup").remove(),n(this._headerColGroup.children).removeAttr("style"),t=0,r=this._headerColGroup.children.length;t<r;t++)n(this._headerColGroup.children[t]).css({width:parseInt(n(this._tableColumn).find("tr:first td").eq(t).outerWidth())>parseInt(this._tableHeader.find("tr:first th").eq(t).outerWidth())?n(this._tableColumn).find("tr:first td").eq(t).outerWidth():this._tableHeader.find("tr:first th").eq(t).outerWidth()});this._tableColumn.append(n(this._headerColGroup).clone());i=this._tableWid>this.suggestionList.width()?this._tableWid:"100%";n(this._tableColumn).css("width",i);n(this._tableHeader).css("width",i)}else if(this.model.multiColumnSettings.enable&&!this.model.multiColumnSettings.showHeader){if(n(this._tableColumn).css("width","auto"),this._tableWid=this._tableColumn.outerWidth(),n(this._headerColGroup.children).removeAttr("style"),i=this._tableWid>this.suggestionList.width()?this._tableWid:"100%",i!="100%"){for(t=0,r=this._headerColGroup.children.length;t<r;t++)n(this._headerColGroup.children[t]).css({width:n(this._tableColumn).find("tr:first td").eq(t).outerWidth()});this._tableColumn.append(this._headerColGroup)}n(this._tableColumn).css("width",i)}else n(this._tableColumn).css("width","100%")},_removeThBorder:function(){this._tableHeader.parents(".e-atc-tableHeader").removeClass(this.model.enableRTL?"e-atc-tableHeaderRTL":"e-atc-tableHeaderScroll");this._tableHeader.parent(".e-atc-tableHeaderContent").removeClass("e-atc-tableHeaderBorder")},_addThBorder:function(){this._tableHeader.parents(".e-atc-tableHeader").addClass(this.model.enableRTL?"e-atc-tableHeaderRTL":"e-atc-tableHeaderScroll").removeClass(this.model.enableRTL?"e-atc-tableHeaderScroll":"e-atc-tableHeaderRTL");this._tableHeader.parent(".e-atc-tableHeaderContent").addClass("e-atc-tableHeaderBorder")},_setListPosition:function(){var t=this.wrapper,i=this._getOffset(t),f,h=n(document).scrollTop()+n(window).height()-(i.top+n(t).outerHeight()),c=i.top-n(document).scrollTop(),u=this.suggestionList.outerHeight(),e=this.suggestionList.outerWidth(),r=i.left,o=t.outerHeight(),l=(o-t.height())/2,a=this._getZindexPartial(),s=3,v=(u<h||u>c?i.top+o+s:i.top-u-s)-l;f=n(document).scrollLeft()+n(window).width()-r;(this.model.enableRTL||e>f&&e<r+t.outerWidth())&&(r-=this.suggestionList.outerWidth()-t.outerWidth());this.suggestionList.css({left:r+"px",top:v+"px","z-index":a})},_getOffset:function(n){return t.util.getOffset(n)},_getZindexPartial:function(){return t.util.getZindexPartial(this.element,this.suggestionList)},_targetFocus:function(n){this.model.multiSelectMode=="visualmode"&&this._setWatermarkWidth(30);this._isWatermark||this._hiddenSpan.css("display","none");this.wrapper.addClass("e-focus");this._focusValue=this.model.value;this._isFocused=!0;this._trigger("focusIn",{event:n,isInteraction:!0,value:this.value()})},_focusOutAction:function(n){var i=this.model.multiSelectMode=="visualmode"?this._modelValue:this.element.val(),r,u,f;if(this._isFocused=!1,this.wrapper.removeClass("e-focus"),t.isNullOrUndefined(this.model.fields.key)&&(this.model.multiSelectMode=="none"?(r=this.model.dataSource,t.DataManager&&r instanceof t.DataManager?this._loadInitData():this._setHiddenkeyByValue(r)):this._hiddenInput.val(i)),this._focusValue!=this.model.value)this._hiddenInput.val()==""&&this._hiddenInput.val(i),this._changeEvtTrigger(i,n);else return!1;this.model.showPopupButton&&this.dropdownbutton.removeClass("e-active");this._isWatermark||this._setWatermarkTxt();this._removeSelection();this.model.multiSelectMode=="visualmode"&&this.model.showResetIcon&&this.element.val()!=""&&this._removeReset();this.model.multiSelectMode=="visualmode"?(this._removeActive(),this.element.val(""),this._setWatermarkWidth(1),this._preVal="",this._addNewTemplate=null):(this.model.multiSelectMode=="delimiter"&&this._valueChange(n),this._updateSelectedItemArray(this.getValue()));t.isNullOrUndefined(this.value())||this.value()==""||(u=this.value().split(this.model.delimiterChar),(this.model.multiSelectMode=="delimiter"||this.model.multiSelectMode=="none")&&(f=this._removeDuplicateVal(u),this._keyProcess(f)));this.element.val()==""&&(this.value()==""||this.value()==null)&&this._selectValueByKey(null)},_targetBlur:function(n){this._focusOutAction(n);this._trigger("focusOut",{event:n,isInteraction:!0,value:this.value()});this._targetEle()},_setWatermarkWidth:function(n){this.model.watermarkText&&this.element.attr("placeholder")?this.element.width(""):this.element.val("").width(n)},_checkDeli:function(){var n=this.element.val(),t=this.model.delimiterChar,i=n.substr(n.length-t.length,n.length