EOS/Scripts/kendo/2015.3.1111/kendo.maskedtextbox.min.js
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

9 lines
6.0 KiB
JavaScript

/*
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
* Copyright 2015 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
!function(e,define){define(["./kendo.core.min"],e)}(function(){return function(e,t){var n=window.kendo,i=n.caret,o=n.keys,r=n.ui,a=r.Widget,s=".kendoMaskedTextBox",l=e.proxy,c=(n.support.propertyChangeEvent?"propertychange":"input")+s,u="k-state-disabled",d="disabled",h="readonly",f="change",p=a.extend({init:function(t,o){var r,l,c=this;a.fn.init.call(c,t,o),c._rules=e.extend({},c.rules,c.options.rules),t=c.element,r=t[0],c.wrapper=t,c._tokenize(),c._form(),c.element.addClass("k-textbox").attr("autocomplete","off").on("focus"+s,function(){var e=r.value;e?c._togglePrompt(!0):r.value=c._old=c._emptyMask,c._oldValue=e,c._timeoutId=setTimeout(function(){i(t,0,e?c._maskLength:0)})}).on("focusout"+s,function(){var e=t.val();clearTimeout(c._timeoutId),r.value=c._old="",e!==c._emptyMask&&(r.value=c._old=e),c._change(),c._togglePrompt()}),l=t.is("[disabled]")||e(c.element).parents("fieldset").is(":disabled"),l?c.enable(!1):c.readonly(t.is("[readonly]")),c.value(c.options.value||t.val()),n.notify(c)},options:{name:"MaskedTextBox",clearPromptChar:!1,unmaskOnPost:!1,promptChar:"_",culture:"",rules:{},value:"",mask:""},events:[f],rules:{0:/\d/,9:/\d|\s/,"#":/\d|\s|\+|\-/,L:/[a-zA-Z]/,"?":/[a-zA-Z]|\s/,"&":/\S/,C:/./,A:/[a-zA-Z0-9]/,a:/[a-zA-Z0-9]|\s/},setOptions:function(t){var n=this;a.fn.setOptions.call(n,t),n._rules=e.extend({},n.rules,n.options.rules),n._tokenize(),this._unbindInput(),this._bindInput(),n.value(n.element.val())},destroy:function(){var e=this;e.element.off(s),e._formElement&&(e._formElement.off("reset",e._resetHandler),e._formElement.off("submit",e._submitHandler)),a.fn.destroy.call(e)},raw:function(){var e=this._unmask(this.element.val(),0);return e.replace(RegExp(this.options.promptChar,"g"),"")},value:function(e){var i=this.element,o=this._emptyMask;return e===t?this.element.val():(null===e&&(e=""),o?(e=this._unmask(e+""),i.val(e?o:""),this._mask(0,this._maskLength,e),e=i.val(),this._oldValue=e,n._activeElement()!==i&&(e===o?i.val(""):this._togglePrompt()),t):(i.val(e),t))},_togglePrompt:function(e){var t=this.element[0],n=t.value;this.options.clearPromptChar&&(n=e?this._oldValue:n.replace(RegExp(this.options.promptChar,"g")," "),t.value=this._old=n)},readonly:function(e){this._editable({readonly:e===t?!0:e,disable:!1})},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t?!0:e)})},_bindInput:function(){var e=this;e._maskLength&&e.element.on("keydown"+s,l(e._keydown,e)).on("keypress"+s,l(e._keypress,e)).on("paste"+s,l(e._paste,e)).on(c,l(e._propertyChange,e))},_unbindInput:function(){this.element.off("keydown"+s).off("keypress"+s).off("paste"+s).off(c)},_editable:function(e){var t=this,n=t.element,i=e.disable,o=e.readonly;t._unbindInput(),o||i?n.attr(d,i).attr(h,o).toggleClass(u,i):(n.removeAttr(d).removeAttr(h).removeClass(u),t._bindInput())},_change:function(){var e=this,t=e.value();t!==e._oldValue&&(e._oldValue=t,e.trigger(f),e.element.trigger(f))},_propertyChange:function(){var e,t,o=this,r=o.element[0],a=r.value;n._activeElement()===r&&(a===o._old||o._pasting||(t=i(r)[0],e=o._unmask(a.substring(t),t),r.value=o._old=a.substring(0,t)+o._emptyMask.substring(t),o._mask(t,t,e),i(r,t)))},_paste:function(e){var t=this,n=e.target,o=i(n),r=o[0],a=o[1],s=t._unmask(n.value.substring(a),a);t._pasting=!0,setTimeout(function(){var e=n.value,o=e.substring(r,i(n)[0]);n.value=t._old=e.substring(0,r)+t._emptyMask.substring(r),t._mask(r,r,o),r=i(n)[0],t._mask(r,r,s),i(n,r),t._pasting=!1})},_form:function(){var t=this,n=t.element,i=n.attr("form"),o=i?e("#"+i):n.closest("form");o[0]&&(t._resetHandler=function(){setTimeout(function(){t.value(n[0].value)})},t._submitHandler=function(){t.element[0].value=t._old=t.raw()},t.options.unmaskOnPost&&o.on("submit",t._submitHandler),t._formElement=o.on("reset",t._resetHandler))},_keydown:function(e){var n,r=e.keyCode,a=this.element[0],s=i(a),l=s[0],c=s[1],u=r===o.BACKSPACE;u||r===o.DELETE?(l===c&&(u?l-=1:c+=1,n=this._find(l,u)),n!==t&&n!==l?(u&&(n+=1),i(a,n)):l>-1&&this._mask(l,c,"",u),e.preventDefault()):r===o.ENTER&&this._change()},_keypress:function(e){var t,n;0===e.which||e.metaKey||e.ctrlKey||e.keyCode===o.ENTER||(t=String.fromCharCode(e.which),n=i(this.element),this._mask(n[0],n[1],t),(e.keyCode===o.BACKSPACE||t)&&e.preventDefault())},_find:function(e,t){var n=this.element.val()||this._emptyMask,i=1;for(t===!0&&(i=-1);e>-1||this._maskLength>=e;){if(n.charAt(e)!==this.tokens[e])return e;e+=i}return-1},_mask:function(e,o,r,a){var s,l,c,u,d=this.element[0],h=d.value||this._emptyMask,f=this.options.promptChar,p=0;for(e=this._find(e,a),e>o&&(o=e),l=this._unmask(h.substring(o),o),r=this._unmask(r,e),s=r.length,r&&(l=l.replace(RegExp("^_{0,"+s+"}"),"")),r+=l,h=h.split(""),c=r.charAt(p);this._maskLength>e;)h[e]=c||f,c=r.charAt(++p),u===t&&p>s&&(u=e),e=this._find(e+1);d.value=this._old=h.join(""),n._activeElement()===d&&(u===t&&(u=this._maskLength),i(d,u))},_unmask:function(t,n){var i,o,r,a,s,l,c,u;if(!t)return"";for(t=(t+"").split(""),r=0,a=n||0,s=this.options.promptChar,l=t.length,c=this.tokens.length,u="";c>a&&(i=t[r],o=this.tokens[a],i===o||i===s?(u+=i===s?s:"",r+=1,a+=1):"string"!=typeof o?((o.test&&o.test(i)||e.isFunction(o)&&o(i))&&(u+=i,a+=1),r+=1):a+=1,!(r>=l)););return u},_tokenize:function(){for(var e,t,i,o,r=[],a=0,s=this.options.mask||"",l=s.split(""),c=l.length,u=0,d="",h=this.options.promptChar,f=n.getCulture(this.options.culture).numberFormat,p=this._rules;c>u;u++)if(e=l[u],t=p[e])r[a]=t,d+=h,a+=1;else for("."===e||","===e?e=f[e]:"$"===e?e=f.currency.symbol:"\\"===e&&(u+=1,e=l[u]),e=e.split(""),i=0,o=e.length;o>i;i++)r[a]=e[i],d+=e[i],a+=1;this.tokens=r,this._emptyMask=d,this._maskLength=d.length}});r.plugin(p)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()});