UNPKG

js-pkg

Version:
10 lines 70.3 kB
/*! * filename: ej.autocomplete.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.globalize.min","./../common/ej.core.min","./../common/ej.data.min","./../common/ej.scroller.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,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}",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"},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.element.blur():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;delimiterChar=this._delimiterChar();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"?(i=this._selectValueByKey()!=null?this._selectValueByKey()+this._strData[n[1]]+delimiterChar:this._strData[n[1]]+delimiterChar,i=i.split(delimiterChar).reduce(function(n,t){return n.indexOf(t)<0&&n.push(t),n},[]),this._selectValueByKey(i.join(delimiterChar))):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")}),this._eventTrigger())},selectValueByText:function(n){this._setOperation(n,"text");var i=this.model.dataSource;t.DataManager&&i instanceof t.DataManager||this._eventTrigger()},_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._selectValueByKey(),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(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])}},_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._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)})},_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(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,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 f,r,i,u,e;if(this.model.validationRules){f=this.model.multiSelectMode=="visualmode"?this._hiddenInput:this.element;f.rules("add",this.model.validationRules);r=this.element.closest("form").data("validator");r=r?r:this.element.closest("form").validate();name=f.attr("name");r.settings.messages[name]={};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[name][i]=n.validator.messages[i];for(e in this.model.validationMessage)i==e?u=this.model.validationMessage[i]:""}else u=this.model.validationRules.messages[i];r.settings.messages[name][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,o,s,e,f,r,u;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":deli=this._delimiterChar();this.model.multiSelectMode!="none"&&(u=n[i].substr(n[i].length-deli.length)==deli?n[i]:n[i]+deli,n[i]=n[i]==""?this.value():(this.value()?this.value():"")+u,this.model.multiSelectMode=="visualmode"&&(n[i]=n[i].split(deli).reduce(function(n,t){return n.indexOf(t)<0&&n.push(t),n},[]),n[i]=n[i].join(deli)));this.value(this._setValue(n[i]));this._modelValue=this.value();o=this.model.multiSelectMode=="visualmode"?this._hiddenInput.val():this.element.val();this._changeEvtTrigger(o);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":s=this.model.delimiterChar;n[i]=this._validateDelimiter(n[i]);this.model.delimiterChar=n[i];this.element.val(this.value().replace(new RegExp(s,"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()):n[i]=this.model.locale;break;case"filterType":e=[];for(r in t.filterType)t.filterType.hasOwnProperty(r)&&e.push(t.filterType[r]);e.indexOf(n[i])>-1?this.model.filterType=n[i]:n[i]=this.model.filterType;break;case"multiSelectMode":this.model.multiSelectMode=n[i];f=this._delimiterChar();this.model.multiSelectMode!="none"&&(r=this._selectValueByKey(),u=this.value(),u&&(u=u.substr(u.length-f.length)==f?u:u+f,this.value(u),this.model.multiSelectMode=="visualmode"&&this.value(this._removeDuplicateValue(this.value()))),r&&(this._selectValueByKey(r.substr(r.length-f.length)==f?r:r+f),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._renderBoxModel()):this.element.hasClass("e-visual-mode")&&this._destroyBoxModel();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":deli=this._delimiterChar();r=t.util.getVal(n[i]);this.selectValueByKey(r);keyValue=this.model.multiSelectMode!="none"?this._selectValueByKey()+n[i]:n[i];keyValue=keyValue.split(deli).reduce(function(n,t){return n.indexOf(t)<0&&n.push(t),n},[]);keyValue=keyValue.join(deli);n[i]=keyValue.substr(keyValue.length-deli.length)==deli?keyValue:keyValue+deli;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].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("tabindex",0).attr("aria-autocomplete","list");/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=[]},_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.wrapper=t.buildTag("span.e-atc e-widget "+this.model.cssClass+"#"+this.target.id+"_wrapper").insertAfter(this.element);document.activeElement==this.element[0]&&(n=!0);this.container=t.buildTag("span.e-in-wrap e-box").append(this.element);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.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;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();this._selectValueByKey()!=null&&this.value()==""?(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()):(i=this.value(),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)),this._hiddenInput.val(i),this.model.showResetIcon&&this.value()!=""&&this._showReset())},_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=u.model.highlightSearch&&n.inArray(e.toString(),u._columnIndex)>-1?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.option("height","auto"),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;if(this._isFocused=!1,this.wrapper.removeClass("e-focus"),t.isNullOrUndefined(this.model.fields.key)&&this._hiddenInput.val(i),this._focusValue!=this.model.value)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()==""||(r=this.value().split(this.model.delimiterChar),(this.model.multiSelectMode=="delimiter"||this.model.multiSelectMode=="none")&&(u=this._removeDuplicateVal(r),this._keyProcess(u)));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()})},_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);return i==t?(this.element.val(n.substr(0,n.length-t.length)),!0):!1},_removeSelection:function(){if(this.model.enableAutoFill){this.element.attr("aria-autocomplete","both");var n=this._getCaretSelection();n.end-n.start!=0&&n.end-n.start!=this.element.val().length&&(this.target.value=this.target.value.substr(0,n.start))}},_removeListHover:function(){this._getLiTags().removeClass("e-hover")},_addListHover:function(){var t=n(this._getLiTags()[this._activeItem-1]);t.addClass("e-hover");this.scrollerObj.setModel({scrollTop:this._calcScrollTop()});t.focus()},_calcScrollTop:function(){var r=this.model.multiColumnSettings.enable?this.model.multiColumnSettings.showHeader?this._tableColumn.outerHeight()+this._tableHeader.outerHeight():this._tableColumn.outerHeight():this.ul.outerHeight(),t=this.model.multiColumnSettings.enable?this._tableColumn.find("tr"):this.ul.find("li"),i=0,n;return n=this.model.multiColumnSettings.enable?this._tableColumn.find("tr.e-hover").index():this.ul.find("li.e-hover").index(),i=t.eq(1).outerHeight()*n,i-((this.model.multiColumnSettings.enable?this._tableColumn.parent().outerHeight():this.suggestionList.outerHeight())-t.eq(n).outerHeight())/2},getActiveText:function(){if(this._activeItem>0)return this.model.multiColumnSettings.enable?this._textFormateString(this._currList[this._activeItem-1]):!t.isNullOrUndefined(this._mapper)&&this._mapper.txt?this._getField(this._currList[this._activeItem-1],this._mapper.txt):this._currList[this._activeItem-1]},_getUniqueKey:function(){var n=null;return t.isNullOrUndefined(this._mapper)||(this._mapper.key&&(n=this._getField(this._currList[this._activeItem-1],this._mapper.key)),t.isNullOrUndefined(n)&&(n=null)),n},_setTextBoxValue:function(){var t,f,i,e,r,u;this._activeItem&&!this.noresult&&(t=this.model.multiColumnSettings.enable?this._textFormateString(this._currList[this._activeItem-1]):this.getActiveText(),f=this._getCaretSelection(),this.suggLen=f.start,i=this.target.value.substr(0,this.suggLen),r=this.target.value.lastIndexOf(this.model.delimiterChar),u=r==-1?n.trim(i.substr(r+1,this.suggLen)):n.trim(i.substr(r+this.model.delimiterChar.length,this.suggLen)),i&&(i.toLowerCase()==t.substr(0,this.suggLen).toLowerCase()||u.toLowerCase()==t.substr(0,this.suggLen-(r+this.model.delimiterChar.length)).toLowerCase())?(e=this.model.multiSelectMode=="delimiter"?i+t.substr(u.length,t.length):i+t.substr(i.length,t.length),this.element.val(e),this._autofilSelection(),this.model.multiSelectMode=="visualmode"&&(this._adjustWidth(),this.model.enableAutoFill&&this._refreshPopup()),this.model.autoFocus&&!this.noresult&&this._addListHover()):(this.model.multiSelectMode=="delimiter"&&t&&u?this.element.val(this.element.val().replace(u,t)):t&&this.element.val(t),this._removeSelection()))},_enterTextBoxValue:function(n){var t,i,r;!this._activeItem||this.noresult||this.model.readOnly||(t=this.getActiveText(),i=this._currList[this._activeItem-1],this._preVal=t+(this.model.multiSelectMode=="delimiter"?this.model.delimiter