www-thermferm/jqwidgets/jqxmaskedinput.js

changeset 511
2d1d43c3a2c2
parent 373
f6850e0b5d35
child 617
b216f9d4b917
--- a/www-thermferm/jqwidgets/jqxmaskedinput.js	Fri May 19 16:34:21 2017 +0200
+++ b/www-thermferm/jqwidgets/jqxmaskedinput.js	Sun May 28 14:19:57 2017 +0200
@@ -1,7 +1,7 @@
 /*
-jQWidgets v3.8.0 (2015-Apr)
-Copyright (c) 2011-2015 jQWidgets.
+jQWidgets v4.5.2 (2017-May)
+Copyright (c) 2011-2017 jQWidgets.
 License: http://jqwidgets.com/license/
-*/
-
-(function(a){a.jqx.jqxWidget("jqxMaskedInput","",{});a.extend(a.jqx._jqxMaskedInput.prototype,{defineInstance:function(){var b={value:null,mask:"99999",width:null,height:25,textAlign:"left",readOnly:false,cookies:false,promptChar:"_",inputMode:"advanced",rtl:false,disabled:false,events:["valueChanged","textchanged","mousedown","mouseup","keydown","keyup","keypress","change"],aria:{"aria-valuenow":{name:"value",type:"string"},"aria-disabled":{name:"disabled",type:"boolean"}}};a.extend(true,this,b);return b},createInstance:function(b){this.render()},render:function(){var e=this;e.host.attr({role:"textbox"});e.host.attr("data-role","input");var f=e.host.attr("value");if(f!=undefined&&f!=""){e.value=f}a.jqx.aria(this);a.jqx.aria(this,"aria-multiline",false);a.jqx.aria(this,"aria-readonly",e.readOnly);e.host.addClass(e.toThemeProperty("jqx-input"));e.host.addClass(e.toThemeProperty("jqx-rc-all"));e.host.addClass(e.toThemeProperty("jqx-widget"));e.host.addClass(e.toThemeProperty("jqx-widget-content"));maskEditor=this;if(e.element.nodeName.toLowerCase()=="div"){e.element.innerHTML="";e.maskbox=a("<input autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' type='textarea'/>").appendTo(e.host)}else{e.maskbox=e.host;e.maskbox.attr("autocomplete","off");e.maskbox.attr("autocorrect","off");e.maskbox.attr("autocapitalize","off");e.maskbox.attr("spellcheck",false)}e.maskbox.addClass(e.toThemeProperty("jqx-reset"));e.maskbox.addClass(e.toThemeProperty("jqx-input-content"));e.maskbox.addClass(e.toThemeProperty("jqx-widget-content"));var b=e.host.attr("name");if(b){e.maskbox.attr("name",b)}if(e.rtl){e.maskbox.addClass(e.toThemeProperty("jqx-rtl"))}var d=this;e.propertyChangeMap.disabled=function(g,j,h,k){if(k){g.maskbox.addClass(d.toThemeProperty("jqx-input-disabled"))}else{g.maskbox.removeClass(d.toThemeProperty("jqx-input-disabled"))}};if(e.disabled){e.maskbox.addClass(e.toThemeProperty("jqx-input-disabled"));e.maskbox.attr("disabled",true);e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}e.selectedText="";e.self=this;e.oldValue=e._value();e.items=new Array();e._initializeLiterals();e._render();if(e.value!=null){e.inputValue(e.value.toString())}var d=this;if(e.host.parents("form").length>0){e.host.parents("form").on("reset",function(){setTimeout(function(){d.clearValue()},10)})}e.addHandlers();if(e.cookies){var c=a.jqx.cookie.cookie("maskedInput."+e.element.id);if(c){e.val(c)}}},addHandlers:function(){var d=this;if(a.jqx.mobile.isTouchDevice()){this.inputMode="simple"}var b="";var c=function(j,f){var h=String.fromCharCode(f);var k=parseInt(h);var g=true;if(!isNaN(k)){g=true;var e=this.maskbox.val().toString().length;if(e>=this.items.length&&this._selection().length==0){g=false}}if(!j.ctrlKey&&!j.shiftKey&&!j.metaKey){if(f>=65&&f<=90){g=false}}return g};this.addHandler(this.maskbox,"blur",function(e){if(d.inputMode=="simple"){d._exitSimpleInputMode(e,d,false,b);return false}if(d.rtl){d.maskbox.css("direction","ltr")}d.host.removeClass(d.toThemeProperty("jqx-fill-state-focus"));if(d.maskbox.val()!=b){d._raiseEvent(7,e);if(d.cookies){a.jqx.cookie.cookie("maskedInput."+d.element.id,d.maskbox.val())}}});this.addHandler(this.maskbox,"focus",function(e){b=d.maskbox.val();if(d.inputMode=="simple"){d.maskbox[0].value=d._getEditValue();a.data(d.maskbox,"simpleInputMode",true);return false}if(d.rtl){d.maskbox.css("direction","rtl")}d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"))});this.addHandler(this.host,"keydown",function(g){var h=d.readOnly;var f=g.charCode?g.charCode:g.keyCode?g.keyCode:0;if(h||d.disabled){return false}if(d.inputMode!="simple"){var e=d._handleKeyDown(g,f);if(!e){if(g.preventDefault){g.preventDefault()}if(g.stopPropagation){g.stopPropagation()}}return e}else{return c.call(d,g,f)}});this.addHandler(this.host,"keyup",function(f){var g=d.readOnly;var e=f.charCode?f.charCode:f.keyCode?f.keyCode:0;if(g||d.disabled){return true}if(d.inputMode=="simple"){return c.call(d,f,e)}else{if(f.preventDefault){f.preventDefault()}if(f.stopPropagation){f.stopPropagation()}return false}});this.addHandler(this.host,"keypress",function(g){var h=d.readOnly;var f=g.charCode?g.charCode:g.keyCode?g.keyCode:0;if(h||d.disabled){return true}if(d.inputMode=="simple"){return c.call(d,g,f)}else{var e=d._handleKeyPress(g,f);if(!e){if(g.preventDefault){g.preventDefault()}if(g.stopPropagation){g.stopPropagation()}}return e}})},focus:function(){try{this.maskbox.focus()}catch(b){}},_exitSimpleInputMode:function(b,n,h,d){if(n==undefined){n=b.data}if(n==null){return}if(h==undefined){if(b.target!=null&&n.element!=null){if((b.target.id!=undefined&&b.target.id.toString().length>0&&n.host.find("#"+b.target.id).length>0)||b.target==n.element){return}}var f=n.host.offset();var e=f.left;var g=f.top;var c=n.host.width();var l=n.host.height();var o=a(b.target).offset();if(o.left>=e&&o.left<=e+c){if(o.top>=g&&o.top<=g+l){return}}}if(n.disabled||n.readOnly){return}var k=a.data(n.maskbox,"simpleInputMode");if(k==null){return}var j=n.maskbox[0].value;n.val(j);a.data(n.maskbox,"simpleInputMode",null);return false},_getString:function(){var c="";for(var b=0;b<this.items.length;b++){var d=this.items[b].character;if((this.items[b].character==this.promptChar)&&(this.promptChar!=this.items[b].defaultCharacter)){c+=this.items[b].defaultCharacter}else{c+=d}}return c},_initializeLiterals:function(){if(this.mask==undefined||this.mask==null){this.items=new Array();return}this.mask=this.mask.toString();var c=this.mask.length;for(var f=0;f<c;f++){var g=this.mask.substring(f,f+1);var h="";var b=false;if(g=="["){for(var d=f;d<c;d++){var e=this.mask.substring(d,d+1);if(e=="]"){break}}h="("+this.mask.substring(f,d+1)+")";f=d;b=true}if(g=="#"){h="(\\d|[+]|[-])";b=true}else{if(g=="9"||g=="0"){h="\\d";b=true}else{if(g=="$"){b=false}else{if(g=="/"||g==":"){b=false}else{if(g=="A"||g=="a"){h="\\w";b=true}else{if(g=="c"||g=="C"){h=".";b=true}else{if(g=="L"||g=="l"){h="([a-zA-Z])";b=true}}}}}}}var l=this;var k=function(o,n,j){k.character=o;k.regex=n;k.canEdit=j;k.defaultCharacter=l.promptChar};if(b){k(this.promptChar,h,b)}else{k(g,h,b)}this.items.push(k)}},setRegex:function(d,e,b,c){if((d==null||d==undefined)||(e==null||e==undefined)){return}if(d<this.items.length){this.items[d].regex=e;if(b!=null&&b!=undefined){this.items[d].canEdit=b}if(c!=null&&c!=undefined){this.items[d].defaultCharacter=c}}},_match:function(c,b){var d=new RegExp(b,"i");return d.test(c)},_raiseEvent:function(j,c){var d=this.events[j];var e={};e.owner=this;var f=c.charCode?c.charCode:c.keyCode?c.keyCode:0;var b=true;var h=this.readOnly;var g=new a.Event(d);g.owner=this;e.value=this.inputValue();e.text=this.maskedValue();g.args=e;if(j<2||j>6){b=this.host.trigger(g)}return b},_handleKeyPress:function(d,b){var c=this._isSpecialKey(b,d);return c},_insertKey:function(c){var d=this._selection();var b=this;if(d.start>=0&&d.start<this.items.length){var e=String.fromCharCode(c);var f=false;a.each(this.items,function(h,l){if(h<d.start){return}var k=b.items[h];if(!k.canEdit){return}if(b._match(e,k.regex)){if(!f&&d.length>0){for(var g=d.start;g<d.end;g++){if(b.items[g].canEdit){b.items[g].character=b.promptChar}}var n=b._getString();b.maskedValue(n);f=true}k.character=e;var n=b._getString();b.maskedValue(n);if(d.start<b.items.length){b._setSelectionStart(h+1)}return false}else{return false}})}},_deleteSelectedText:function(){var c=this._selection();var b=false;if(c.start>0||c.length>0){for(i=c.start;i<c.end;i++){if(i<this.items.length&&this.items[i].canEdit&&this.items[i].character!=this.promptChar){this.items[i].character=this.promptChar;b=true}}var d=this._getString();this.maskedValue(d);return b}},_saveSelectedText:function(){var b=this._selection();var d="";if(b.start>0||b.length>0){for(i=b.start;i<b.end;i++){if(this.items[i].canEdit){d+=this.items[i].character}}}if(window.clipboardData){window.clipboardData.setData("Text",d)}else{var c=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');c.val(d);a("body").append(c);c.select();setTimeout(function(){document.designMode="off";c.select();c.remove()},100)}return d},_pasteSelectedText:function(){var j=this._selection();var l="";var c=0;var h=j.start;var g="";var f=this;var b=function(k){if(k!=f.selectedText&&k.length>0){f.selectedText=k;if(f.selectedText==null||f.selectedText==undefined){return}}if(j.start>=0||j.length>0){for(i=j.start;i<f.items.length;i++){if(f.items[i].canEdit){if(c<f.selectedText.length){f.items[i].character=f.selectedText[c];c++;h=1+i}}}}var n=f._getString();f.maskedValue(n);if(h<f.items.length){f._setSelectionStart(h)}else{f._setSelectionStart(f.items.length)}};if(window.clipboardData){g=window.clipboardData.getData("Text");b(g)}else{var d=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(d);d.select();var e=this;setTimeout(function(){var k=d.val();b(k);d.remove()},100)}},_handleKeyDown:function(k,o){var n=this._selection();if(o>=96&&o<=105){o=o-48}var d=k.ctrlKey||k.metaKey;if((d&&o==97)||(d&&o==65)){return true}if((d&&o==120)||(d&&o==88)){this.selectedText=this._saveSelectedText(k);this._deleteSelectedText(k);if(a.jqx.browser.msie){return false}return true}if((d&&o==99)||(d&&o==67)){this.selectedText=this._saveSelectedText(k);if(a.jqx.browser.msie){return false}return true}if((d&&o==122)||(d&&o==90)){return false}if((d&&o==118)||(d&&o==86)||(k.shiftKey&&o==45)){this._pasteSelectedText();if(a.jqx.browser.msie){return false}return true}if(n.start>=0&&n.start<this.items.length){var g=String.fromCharCode(o);var p=this.items[n.start]}if(o==8){if(n.length==0){for(j=this.items.length-1;j>=0;j--){if(this.items[j].canEdit&&j<n.end&&this.items[j].character!=this.promptChar){this._setSelection(j,j+1);break}}}n=this._selection();var h=this._deleteSelectedText();if(n.start>0||n.length>0){if(n.start<=this.items.length){if(h){this._setSelectionStart(n.start)}else{this._setSelectionStart(n.start-1)}}}return false}if(o==190){var c=n.start;for(var j=c;j<this.items.length;j++){if(this.items[j].character=="."){this._setSelectionStart(j+1);break}}}if(o==191){var c=n.start;for(var j=c;j<this.items.length;j++){if(this.items[j].character=="/"){this._setSelectionStart(j+1);break}}}if(o==189){var c=n.start;for(var j=c;j<this.items.length;j++){if(this.items[j].character=="-"){this._setSelectionStart(j+1);break}}}if(o==46){if(n.length==0){for(var j=0;j<this.items.length;j++){if(this.items[j].canEdit&&j>=n.start&&this.items[j].character!=this.promptChar){this._setSelection(j,j+1);break}}}var b=n;n=this._selection();var f=this._deleteSelectedText();if(n.start>=0||n.length>=0){if(n.start<this.items.length){if(n.length<=1){if(b.end!=n.end){this._setSelectionStart(n.end)}else{this._setSelectionStart(n.end+1)}}else{this._setSelectionStart(n.start)}}}return false}this._insertKey(o);var l=this._isSpecialKey(o,k);return l},_isSpecialKey:function(b,c){if(b==189||b==9||b==13||b==35||b==36||b==37||b==39||b==46){return true}if((b===16&&c.shiftKey)||c.ctrlKey||c.metaKey){return true}return false},_selection:function(){if("selectionStart" in this.maskbox[0]){var f=this.maskbox[0];var g=f.selectionEnd-f.selectionStart;return{start:f.selectionStart,end:f.selectionEnd,length:g,text:f.value}}else{var c=document.selection.createRange();if(c==null){return{start:0,end:f.value.length,length:0}}var b=this.maskbox[0].createTextRange();var d=b.duplicate();b.moveToBookmark(c.getBookmark());d.setEndPoint("EndToStart",b);var g=c.text.length;return{start:d.text.length,end:d.text.length+c.text.length,length:g,text:c.text}}},_setSelection:function(d,b){if("selectionStart" in this.maskbox[0]){this.maskbox[0].focus();this.maskbox[0].setSelectionRange(d,b)}else{var c=this.maskbox[0].createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",d);c.select()}},_setSelectionStart:function(b){this._setSelection(b,b)},refresh:function(b){if(!b){this._render()}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},_render:function(){var c=parseInt(this.host.css("border-left-width"));var g=parseInt(this.host.css("border-left-width"));var f=parseInt(this.host.css("border-left-width"));var d=parseInt(this.host.css("border-left-width"));var j=parseInt(this.host.css("height"))-f-d;var e=parseInt(this.host.css("width"))-c-g;if(this.width!=null&&this.width.toString().indexOf("px")!=-1){e=this.width}else{if(this.width!=undefined&&!isNaN(this.width)){e=this.width}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){j=this.height}else{if(this.height!=undefined&&!isNaN(this.height)){j=this.height}}e=parseInt(e);j=parseInt(j);if(this.maskbox[0]!=this.element){this.maskbox.css({"border-left-width":0,"border-right-width":0,"border-bottom-width":0,"border-top-width":0})}this.maskbox.css("text-align",this.textAlign);var k=this.maskbox.css("font-size");if(!isNaN(j)){this.maskbox.css("height",parseInt(k)+4+"px")}if(!isNaN(e)){this.maskbox.css("width",e-2)}var h=parseInt(j)-2*parseInt(f)-2*parseInt(d)-parseInt(k);if(isNaN(h)){h=0}if(!isNaN(j)){this.host.height(j)}if(!isNaN(e)){this.host.width(e)}if(this.maskbox[0]!=this.element){var b=h/2;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b=h/4}this.maskbox.css("padding-right","0px");this.maskbox.css("padding-left","0px");this.maskbox.css("padding-top",b);this.maskbox.css("padding-bottom",h/2)}this.maskbox[0].value=this._getString();if(this.width){if(this.width.toString().indexOf("%")>=0){this.element.style.width=this.width}if(this.height.toString().indexOf("%")>=0){this.element.style.height=this.height}}},destroy:function(){this.host.remove()},maskedValue:function(b){if(b===undefined){return this._value()}this.value=b;this._refreshValue();if(this.oldValue!==b){this._raiseEvent(1,b);this.oldValue=b;this._raiseEvent(0,b)}return this},_value:function(){var b=this.maskbox.val();return b},propertyChangedHandler:function(c,d,b,e){if(this.isInitialized==undefined||this.isInitialized==false){return}if(d=="rtl"){if(c.rtl){c.maskbox.addClass(c.toThemeProperty("jqx-rtl"))}else{c.maskbox.removeClass(c.toThemeProperty("jqx-rtl"))}}if(d==="value"){if(e==undefined||e==null){e=""}if(e===""){this.clear()}else{e=e.toString();this.inputValue(e)}c._raiseEvent(7,e)}if(d==="theme"){a.jqx.utilities.setTheme(b,e,this.host)}if(d=="disabled"){if(e){c.maskbox.addClass(c.toThemeProperty("jqx-input-disabled"));c.host.addClass(c.toThemeProperty("jqx-fill-state-disabled"));c.maskbox.attr("disabled",true)}else{c.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"));c.host.removeClass(this.toThemeProperty("jqx-input-disabled"));c.maskbox.attr("disabled",false)}a.jqx.aria(c,"aria-disabled",e)}if(d=="readOnly"){this.readOnly=e}if(d=="promptChar"){for(i=0;i<c.items.length;i++){if(c.items[i].character==c.promptChar){c.items[i].character=e;c.items[i].defaultCharacter=e}}c.promptChar=e}if(d=="textAlign"){c.maskbox.css("text-align",e);c.textAlign=e}if(d=="mask"){c.mask=e;c.items=new Array();c._initializeLiterals();c.value=c._getString();c._refreshValue()}if(d=="width"){c.width=e;c._render()}else{if(d=="height"){c.height=e;c._render()}}},_value:function(){var b=this.value;return b},_getEditStringLength:function(){var b="";for(i=0;i<this.items.length;i++){if(this.items[i].canEdit){b+=this.items[i].character}}return b.length},_getEditValue:function(){var b="";for(i=0;i<this.items.length;i++){if(this.items[i].canEdit&&this.items[i].character!=this.promptChar){b+=this.items[i].character}}return b},parseValue:function(e){if(e==undefined||e==null){return null}var c=e.toString();var f="";var b=0;for(m=0;m<c.length;m++){var d=c.substring(m,m+1);for(i=b;i<this.items.length;i++){if(this.items[i].canEdit&&this._match(d,this.items[i].regex)){f+=d;b=i;break}}}return f},clear:function(){this.clearValue()},clearValue:function(){this.inputValue("",true)},val:function(b){if(b!=undefined&&typeof b!="object"){if(typeof b==="number"&&isFinite(b)){b=b.toString()}this.maskedValue(b)}return this.maskbox[0].value},inputValue:function(g,c){if(g==undefined||g==null){var f="";for(var e=0;e<this.items.length;e++){if(this.items[e].canEdit){f+=this.items[e].character}}return f}else{var b=0;g=g.toString();for(var e=0;e<this.items.length;e++){if(this.items[e].canEdit){if(this._match(g.substring(b,b+1),this.items[e].regex)){this.items[e].character=g.substring(b,b+1);b++}else{if(c){this.items[e].character=this.promptChar;b++}}}}var d=this._getString();this.maskedValue(d);return this.inputValue()}},_refreshValue:function(){var d=this.maskedValue();var b=0;for(var c=0;c<this.items.length;c++){if(d.length>b){if(this.items[c].canEdit&&this.items[c].character!=d[b]){if((this._match(d[b],this.items[c].regex)||d[b]==this.promptChar)&&d[b].length==1){this.items[c].character=d[b]}}b++}}this.value=this._getString();d=this.value;this.maskbox[0].value=d;a.jqx.aria(this,"aria-valuenow",d)}})})(jqxBaseFramework);
\ No newline at end of file
+*/
+!function(a){"use strict";a.jqx.jqxWidget("jqxMaskedInput","",{}),a.extend(a.jqx._jqxMaskedInput.prototype,{defineInstance:function(){var b={value:null,mask:"99999",width:null,height:25,textAlign:"left",readOnly:!1,cookies:!1,promptChar:"_",rtl:!1,disabled:!1,events:["valueChanged","textchanged","mousedown","mouseup","keydown","keyup","keypress","change"],aria:{"aria-valuenow":{name:"value",type:"string"},"aria-disabled":{name:"disabled",type:"boolean"}}};return this===a.jqx._jqxMaskedInput.prototype?b:(a.extend(!0,this,b),b)},createInstance:function(){this.render()},render:function(){var b=this;b.element.setAttribute("role","textbox"),b.element.setAttribute("data-role","input");var c=b.element.getAttribute("value");void 0!==c&&""!==c&&null!==c&&(b.value=c),a.jqx.aria(this),a.jqx.aria(this,"aria-multiline",!1),a.jqx.aria(this,"aria-readonly",b.readOnly),b._helpers=[],b._helpers.element=new jqxHelper(b.element),b._helpers.element.addClass(b.toThemeProperty("jqx-input jqx-rc-all jqx-widget jqx-widget-content"));var d=b.element.getAttribute("name");if("div"===b.element.nodeName.toLowerCase()){b.element.innerHTML="";var e=document.createElement("input");e.setAttribute("type","textarea"),e.setAttribute("autocomplete","off"),e.setAttribute("autocorrect","off"),e.setAttribute("autocapitalize","off"),e.setAttribute("spellcheck",!1),e.setAttribute("name",d),b.element.appendChild(e),b.maskbox=a(e),b.disabled&&(b._helpers.element.addClass(b.toThemeProperty("jqx-input-disabled jqx-fill-state-disabled")),e.setAttribute("disabled",!0))}else b.maskbox=b.host,b.element.setAttribute("autocomplete","off"),b.element.setAttribute("autocorrect","off"),b.element.setAttribute("autocapitalize","off"),b.element.setAttribute("spellcheck",!1),b.element.setAttribute("name",d),b.disabled&&(b._helpers.element.addClass(b.toThemeProperty("jqx-input-disabled jqx-fill-state-disabled")),b.element.setAttribute("disabled",!0));if(b._helpers.maskbox=new jqxHelper(b.maskbox[0]),b._helpers.maskbox.addClass(b.toThemeProperty("jqx-reset jqx-input-content jqx-widget-content")),b.rtl&&b._helpers.maskbox.addClass(b.toThemeProperty("jqx-rtl")),b.propertyChangeMap.disabled=function(a,c,d,e){e?a._helpers.maskbox.addClass(b.toThemeProperty("jqx-input-disabled")):a._helpers.maskbox.removeClass(b.toThemeProperty("jqx-input-disabled"))},b.selectedText="",b.self=this,b.oldValue=b._value(),b.items=[],b._initializeLiterals(),b._render(),null!=b.value&&b.inputValue(b.value.toString()),b.host.parents("form").length>0&&b.host.parents("form").on("reset",function(){setTimeout(function(){b.clearValue()},10)}),b.addHandlers(),b.cookies){var f=a.jqx.cookie.cookie("maskedInput."+b.element.id);f&&b.val(f)}},addHandlers:function(){var b=this,c="";this.addHandler(this.maskbox,"blur",function(){b.rtl&&b.maskbox.css("direction","ltr"),b._helpers.maskbox.removeClass(b.toThemeProperty("jqx-fill-state-focus")),b.maskbox.val()!==c&&(b._raiseEvent(7,{type:"keyboard"}),b.cookies&&a.jqx.cookie.cookie("maskedInput."+b.element.id,b.maskbox.val()))}),this.addHandler(this.maskbox,"focus",function(){c=b.maskbox[0].value,b.rtl&&(b.maskbox[0].style.direction="rtl"),b._helpers.element.addClass(b.toThemeProperty("jqx-fill-state-focus"))}),this.addHandler(this.host,"keydown",function(a){var c=b.readOnly,d=a.charCode?a.charCode:a.keyCode?a.keyCode:0;if(c||b.disabled)return!1;var e=b._handleKeyDown(a,d);return e||(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation()),e}),this.addHandler(this.host,"keyup",function(a){var c=b.readOnly;return!(!c&&!b.disabled)||(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),!1)}),this.addHandler(this.host,"keypress",function(a){var c=b.readOnly,d=a.charCode?a.charCode:a.keyCode?a.keyCode:0;if(c||b.disabled)return!0;var e=b._handleKeyPress(a,d);return e||(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation()),e})},focus:function(){try{var a=this;a.maskbox.focus(),setTimeout(function(){a.maskbox.focus()})}catch(a){}},_getString:function(){for(var a="",b=0;b<this.items.length;b++){var c=this.items[b].character;a+=this.items[b].character===this.promptChar&&this.promptChar!==this.items[b].defaultCharacter?this.items[b].defaultCharacter:c}return a},_initializeLiterals:function(){if(void 0===this.mask||null===this.mask)return void(this.items=[]);var a=this,b=function(b,c,d){var e={};return e.character=b,e.regex=c,e.canEdit=d,e.defaultCharacter=a.promptChar,e};this.mask=this.mask.toString();for(var c=this.mask.length,d=0;d<c;d++){var e=this.mask.substring(d,d+1),f="",g=!1;if("["===e){for(var h=d;h<c;h++){var i=this.mask.substring(h,h+1);if("]"===i)break}f="("+this.mask.substring(d,h+1)+")",d=h,g=!0}"#"===e?(f="(\\d|[+]|[-])",g=!0):"9"===e||"0"===e?(f="\\d",g=!0):"$"===e?g=!1:"/"===e||":"===e?g=!1:"A"===e||"a"===e?(f="\\w",g=!0):"c"===e||"C"===e?(f=".",g=!0):"L"!==e&&"l"!==e||(f="([a-zA-Z])",g=!0);var j={};j=g?b(this.promptChar,f,g):b(e,f,g),this.items.push(j)}},setRegex:function(a,b,c,d){null!==a&&void 0!==a&&null!==b&&void 0!==b&&a<this.items.length&&(this.items[a].regex=b,null!==c&&void 0!==c&&(this.items[a].canEdit=c),null!==d&&void 0!==d&&(this.items[a].defaultCharacter=d))},_match:function(a,b){var c=new RegExp(b,"i");return c.test(a)},_raiseEvent:function(b,c){var d=this.events[b],e={};e.owner=this;var f=!0,g=new a.Event(d);return g.owner=this,e.value=this.inputValue(),e.text=this.maskedValue(),7===b&&(e.type=c.type,void 0===e.type&&(e.type=null)),g.args=e,(b<2||b>6)&&(f=this.host.trigger(g)),f},_handleKeyPress:function(a,b){var c=this._isSpecialKey(b,a);return c},_insertKey:function(a,b){var c,d=this._selection(),e=this;if(d.start>=0&&d.start<this.items.length){var f=String.fromCharCode(a);a>=65&&a<=90&&(b.shiftKey||(f=f.toLowerCase()));for(var g=!1,h=0;h<this.items.length;h++)if(!(h<d.start)){var i=e.items[h];if(i.canEdit){if(e._match(f,i.regex)){if(!g&&d.length>0){for(var j=d.start;j<d.end;j++)e.items[j].canEdit&&(e.items[j].character=e.promptChar);c=e._getString(),e.maskedValue(c),g=!0}i.character=f,c=e._getString(),e.maskedValue(c),d.start<e.items.length&&e._setSelectionStart(h+1);break}break}}}},_deleteSelectedText:function(){var a=this._selection(),b=!1;if(a.start>0||a.length>0){for(var c=a.start;c<a.end;c++)c<this.items.length&&this.items[c].canEdit&&this.items[c].character!==this.promptChar&&(this.items[c].character=this.promptChar,b=!0);var d=this._getString();return this.maskedValue(d),b}},_saveSelectedText:function(){var b=this._selection(),c="";if(b.start>0||b.length>0)for(var d=b.start;d<b.end;d++)this.items[d].canEdit&&(c+=this.items[d].character);if(window.clipboardData)window.clipboardData.setData("Text",c);else{var e=a("<textarea style='position: absolute; left: -1000px; top: -1000px;'/>");e.val(c),a("body").append(e),e.select(),setTimeout(function(){document.designMode="off",e.select(),e.remove()},100)}return c},_pasteSelectedText:function(){var b=this._selection(),c="",d=0,e=b.start,f="",g=this,h=function(a){if(!(a!==g.selectedText&&a.length>0&&(g.selectedText=a,null===g.selectedText||void 0===g.selectedText))){if(b.start>=0||b.length>0)for(var f=b.start;f<g.items.length;f++)g.items[f].canEdit&&d<g.selectedText.length&&(g.items[f].character=g.selectedText[d],d++,e=1+f);c=g._getString(),g.maskedValue(c),e<g.items.length?g._setSelectionStart(e):g._setSelectionStart(g.items.length)}};if(window.clipboardData)f=window.clipboardData.getData("Text"),h(f);else{var i=a("<textarea style='position: absolute; left: -1000px; top: -1000px;'/>");a("body").append(i),i.select(),setTimeout(function(){var a=i.val();h(a),i.remove()},100)}},_handleKeyDown:function(b,c){var d,e,f=this._selection();c>=96&&c<=105&&(c-=48);var g=b.ctrlKey||b.metaKey;if(g&&97===c||g&&65===c)return!0;if(g&&120===c||g&&88===c)return this.selectedText=this._saveSelectedText(b),this._deleteSelectedText(b),!a.jqx.browser.msie;if(g&&99===c||g&&67===c)return this.selectedText=this._saveSelectedText(b),!a.jqx.browser.msie;if(g&&122===c||g&&90===c)return!1;if(g&&118===c||g&&86===c||b.shiftKey&&45===c)return this._pasteSelectedText(),!a.jqx.browser.msie;if(8===c){if(0===f.length)for(e=this.items.length-1;e>=0;e--)if(this.items[e].canEdit&&e<f.end&&this.items[e].character!==this.promptChar){this._setSelection(e,e+1);break}f=this._selection();var h=this._deleteSelectedText();return(f.start>0||f.length>0)&&f.start<=this.items.length&&(h?this._setSelectionStart(f.start):this._setSelectionStart(f.start-1)),!1}if(190===c)for(d=f.start,e=d;e<this.items.length;e++)if("."===this.items[e].character){this._setSelectionStart(e+1);break}if(191===c)for(d=f.start,e=d;e<this.items.length;e++)if("/"===this.items[e].character){this._setSelectionStart(e+1);break}if(189===c)for(d=f.start,e=d;e<this.items.length;e++)if("-"===this.items[e].character){this._setSelectionStart(e+1);break}if(46===c){if(0===f.length)for(e=0;e<this.items.length;e++)if(this.items[e].canEdit&&e>=f.start&&this.items[e].character!==this.promptChar){this._setSelection(e,e+1);break}var i=f;return f=this._selection(),(f.start>=0||f.length>=0)&&f.start<this.items.length&&(f.length<=1?i.end!==f.end?this._setSelectionStart(f.end):this._setSelectionStart(f.end+1):this._setSelectionStart(f.start)),!1}this._insertKey(c,b);var j=this._isSpecialKey(c,b);return j},_isSpecialKey:function(a,b){return 189===a||9===a||13===a||35===a||36===a||37===a||39===a||46===a||!!(16===a&&b.shiftKey||b.ctrlKey||b.metaKey)},_selection:function(){var a,b=this.maskbox[0];if("selectionStart"in this.maskbox[0])return a=b.selectionEnd-b.selectionStart,{start:b.selectionStart,end:b.selectionEnd,length:a,text:b.value};var c=document.selection.createRange();if(null==c)return{start:0,end:b.value.length,length:0};var d=this.maskbox[0].createTextRange(),e=d.duplicate();return d.moveToBookmark(c.getBookmark()),e.setEndPoint("EndToStart",d),a=c.text.length,{start:e.text.length,end:e.text.length+c.text.length,length:a,text:c.text}},_setSelection:function(a,b){if("selectionStart"in this.maskbox[0])this.maskbox[0].focus(),this.maskbox[0].setSelectionRange(a,b);else{var c=this.maskbox[0].createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select()}},_setSelectionStart:function(a){this._setSelection(a,a)},refresh:function(a){a||this._render()},resize:function(a,b){this.width=a,this.height=b,this.refresh()},_render:function(){var b=parseInt(this.host.css("border-left-width"),10),c=parseInt(this.host.css("border-left-width"),10),d=parseInt(this.host.css("border-left-width"),10),e=parseInt(this.host.css("border-left-width"),10),f=parseInt(this.host.css("height"),10)-d-e,g=parseInt(this.host.css("width"),10)-b-c;null!=this.width&&this.width.toString().indexOf("px")!==-1?g=this.width:void 0===this.width||isNaN(this.width)||(g=this.width),null!=this.height&&this.height.toString().indexOf("px")!==-1?f=this.height:void 0===this.height||isNaN(this.height)||(f=this.height),g=parseInt(g,10),f=parseInt(f,10),this.maskbox[0]!==this.element&&this.maskbox.css({"border-left-width":0,"border-right-width":0,"border-bottom-width":0,"border-top-width":0}),this.maskbox.css("text-align",this.textAlign);var h=this.maskbox.css("font-size");isNaN(f)||this.maskbox.css("height",parseInt(h,10)+4+"px"),isNaN(g)||this.maskbox.css("width",g-2);var i=parseInt(f,10)-2*parseInt(d,10)-2*parseInt(e,10)-parseInt(h,10);if(isNaN(i)&&(i=0),isNaN(f)||this.host.height(f),isNaN(g)||this.host.width(g),this.maskbox[0]!==this.element){var j=i/2;a.jqx.browser.msie&&a.jqx.browser.version<8&&(j=i/4),this.maskbox.css("padding-right","0px"),this.maskbox.css("padding-left","0px"),this.maskbox.css("padding-top",j),this.maskbox.css("padding-bottom",i/2)}this.maskbox[0].value=this._getString(),this.width&&(this.width.toString().indexOf("%")>=0&&(this.element.style.width=this.width),this.height.toString().indexOf("%")>=0&&(this.element.style.height=this.height))},destroy:function(){var b=this;a.jqx.utilities.resize(this.host,null,!0),b.host.remove(),b._helpers=[]},maskedValue:function(a){return void 0===a?this._value():(this.value=a,this._refreshValue(),this.oldValue!==a&&(this._raiseEvent(1,a),this.oldValue=a,this._raiseEvent(0,a)),this)},propertyChangedHandler:function(b,c,d,e){if(void 0!==this.isInitialized&&this.isInitialized!==!1){if("rtl"===c&&(b.rtl?b._helpers.maskbox.addClass(b.toThemeProperty("jqx-rtl")):b._helpers.maskbox.removeClass(b.toThemeProperty("jqx-rtl"))),"value"===c&&(void 0!==e&&null!==e||(e=""),""===e?this.clear():(e=e.toString(),this.inputValue(e)),b._raiseEvent(7,e)),"theme"===c&&a.jqx.utilities.setTheme(d,e,this.host),"disabled"===c&&(e?(b._helpers.maskbox.addClass(b.toThemeProperty("jqx-input-disabled")),b._helpers.element.addClass(b.toThemeProperty("jqx-fill-state-disabled")),b._helpers.maskbox.attr("disabled",!0)):(b._helpers.maskbox.removeClass(this.toThemeProperty("jqx-input-disabled")),b._helpers.element.removeClass(this.toThemeProperty("jqx-fill-state-disabled")),b._helpers.maskbox.attr("disabled",!1)),a.jqx.aria(b,"aria-disabled",e)),"readOnly"===c&&(this.readOnly=e),"promptChar"===c){for(var f=0;f<b.items.length;f++)b.items[f].character===b.promptChar&&(b.items[f].character=e,b.items[f].defaultCharacter=e);b.promptChar=e}"textAlign"===c&&(b.maskbox.css("text-align",e),b.textAlign=e),"mask"===c&&(b.mask=e,b.items=[],b._initializeLiterals(),b.value=b._getString(),b._refreshValue()),"width"===c?(b.width=e,b._render()):"height"===c&&(b.height=e,b._render())}},_value:function(){var a=this.value;return a},_getEditStringLength:function(){for(var a="",b=0;b<this.items.length;b++)this.items[b].canEdit&&(a+=this.items[b].character);return a.length},_getEditValue:function(){for(var a="",b=0;b<this.items.length;b++)this.items[b].canEdit&&this.items[b].character!==this.promptChar&&(a+=this.items[b].character);return a},parseValue:function(a){if(void 0===a||null===a)return null;for(var b=a.toString(),c="",d=0,e=0;e<b.length;e++)for(var f=b.substring(e,e+1),g=d;g<this.items.length;g++)if(this.items[g].canEdit&&this._match(f,this.items[g].regex)){c+=f,d=g;break}return c},clear:function(){this.clearValue()},clearValue:function(){this.inputValue("",!0)},val:function(a){return void 0!==a&&"object"!=typeof a&&("number"==typeof a&&isFinite(a)&&(a=a.toString()),this.maskedValue(a)),this.maskbox[0].value},inputValue:function(a,b){var c;if(void 0===a||null===a){var d="";for(c=0;c<this.items.length;c++)this.items[c].canEdit&&(d+=this.items[c].character);return d}var e=0;for(a=a.toString(),c=0;c<this.items.length;c++)this.items[c].canEdit&&(this._match(a.substring(e,e+1),this.items[c].regex)?(this.items[c].character=a.substring(e,e+1),e++):b&&(this.items[c].character=this.promptChar,e++));var f=this._getString();return this.maskedValue(f),this.inputValue()},_refreshValue:function(){for(var b=this.maskedValue(),c=0,d=0;d<this.items.length;d++)b.length>c&&(this.items[d].canEdit&&this.items[d].character!==b[c]&&(!this._match(b[c],this.items[d].regex)&&b[c]!==this.promptChar||1!==b[c].length||(this.items[d].character=b[c])),c++);this.value=this._getString(),b=this.value,this.maskbox[0].value=b,a.jqx.aria(this,"aria-valuenow",b)}})}(jqxBaseFramework);
+

mercurial