cronapp-framework-mobile-js
Version:
Javascript library for CronApp's projects
1 lines • 7.87 kB
JavaScript
var $jscomp={scope:{},findInternal:function(t,a,e){t instanceof String&&(t=String(t));for(var n=t.length,s=0;s<n;s++){var r=t[s];if(a.call(e,r,s,t))return{i:s,v:r}}return{i:-1,v:void 0}}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,a,e){if(e.get||e.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[a]=e.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.polyfill=function(t,a,e,n){if(a){for(e=$jscomp.global,t=t.split("."),n=0;n<t.length-1;n++){var s=t[n];s in e||(e[s]={}),e=e[s]}t=t[t.length-1],n=e[t],a=a(n),a!=n&&null!=a&&$jscomp.defineProperty(e,t,{configurable:!0,writable:!0,value:a})}},$jscomp.polyfill("Array.prototype.find",function(t){return t||function(t,a){return $jscomp.findInternal(this,t,a).v}},"es6-impl","es3"),function(t,a,e){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t(require("jquery")):t(a||e)}(function(t){var a=function(a,e,n){var s={invalid:[],getCaret:function(){try{var t,e=0,n=a.get(0),r=document.selection,o=n.selectionStart;return r&&-1===navigator.appVersion.indexOf("MSIE 10")?(t=r.createRange(),t.moveStart("character",-s.val().length),e=t.text.length):(o||"0"===o)&&(e=o),e}catch(t){}},setCaret:function(t){try{if(a.is(":focus")){var e,n=a.get(0);n.setSelectionRange?n.setSelectionRange(t,t):(e=n.createTextRange(),e.collapse(!0),e.moveEnd("character",t),e.moveStart("character",t),e.select())}}catch(t){}},events:function(){a.on("keydown.mask",function(t){a.data("mask-keycode",t.keyCode||t.which),a.data("mask-previus-value",a.val()),a.data("mask-previus-caret-pos",s.getCaret()),s.maskDigitPosMapOld=s.maskDigitPosMap}).on(t.jMaskGlobals.useInput?"input.mask":"keyup.mask",s.behaviour).on("paste.mask drop.mask",function(){setTimeout(function(){a.keydown().keyup()},100)}).on("change.mask",function(){a.data("changed",!0)}).on("blur.mask",function(){i===s.val()||a.data("changed")||a.trigger("change"),a.data("changed",!1)}).on("blur.mask",function(){i=s.val()}).on("focus.mask",function(a){!0===n.selectOnFocus&&t(a.target).select()}).on("focusout.mask",function(){n.clearIfNotMatch&&!r.test(s.val())&&s.val("")})},getRegexMask:function(){for(var t,a,n,s,r=[],i=0;i<e.length;i++)(t=o.translation[e.charAt(i)])?(a=t.pattern.toString().replace(/.{1}$|^.{1}/g,""),n=t.optional,(t=t.recursive)?(r.push(e.charAt(i)),s={digit:e.charAt(i),pattern:a}):r.push(n||t?a+"?":a)):r.push(e.charAt(i).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"));return r=r.join(""),s&&(r=r.replace(new RegExp("("+s.digit+"(.*"+s.digit+")?)"),"($1)?").replace(new RegExp(s.digit,"g"),s.pattern)),new RegExp(r)},destroyEvents:function(){a.off("input keydown keyup paste drop blur focusout ".split(" ").join(".mask "))},val:function(t){var e=a.is("input")?"val":"text";return 0<arguments.length?(a[e]()!==t&&a[e](t),e=a):e=a[e](),e},calculateCaretPosition:function(){var t=a.data("mask-previus-value")||"",e=s.getMasked(),n=s.getCaret();if(t!==e){var r,o=a.data("mask-previus-caret-pos")||0,e=e.length,i=t.length,l=t=0,c=0,u=0;for(r=n;r<e&&s.maskDigitPosMap[r];r++)l++;for(r=n-1;0<=r&&s.maskDigitPosMap[r];r--)t++;for(r=n-1;0<=r;r--)s.maskDigitPosMap[r]&&c++;for(r=o-1;0<=r;r--)s.maskDigitPosMapOld[r]&&u++;n>i?n=10*e:o>=n&&o!==i?s.maskDigitPosMapOld[n]||(o=n,n=n-(u-c)-t,s.maskDigitPosMap[n]&&(n=o)):n>o&&(n=n+(c-u)+l)}return n},behaviour:function(e){e=e||window.event,s.invalid=[];var n=a.data("mask-keycode");if(-1===t.inArray(n,o.byPassKeys)){var n=s.getMasked(),r=s.getCaret();return setTimeout(function(){s.setCaret(s.calculateCaretPosition())},10),s.val(n),s.setCaret(r),s.callbacks(e)}},getMasked:function(t,a){var r,i,l=[],c=void 0===a?s.val():a+"",u=0,f=e.length,p=0,d=c.length,v=1,k="push",h=-1,g=0,m=[];n.reverse?(k="unshift",v=-1,r=0,u=f-1,p=d-1,i=function(){return-1<u&&-1<p}):(r=f-1,i=function(){return u<f&&p<d});for(var y;i();){var M=e.charAt(u),b=c.charAt(p),j=o.translation[M];j?(b.match(j.pattern)?(l[k](b),j.recursive&&(-1===h?h=u:u===r&&(u=h-v),r===h&&(u-=v)),u+=v):b===y?(g--,y=void 0):j.optional?(u+=v,p-=v):j.fallback?(l[k](j.fallback),u+=v,p-=v):s.invalid.push({p:p,v:b,e:j.pattern}),p+=v):(t||l[k](M),b===M?(m.push(p),p+=v):(y=M,m.push(p+g),g++),u+=v)}return c=e.charAt(r),f!==d+1||o.translation[c]||l.push(c),l=l.join(""),s.mapMaskdigitPositions(l,m,d),l},mapMaskdigitPositions:function(t,a,e){for(t=n.reverse?t.length-e:0,s.maskDigitPosMap={},e=0;e<a.length;e++)s.maskDigitPosMap[a[e]+t]=1},callbacks:function(t){var r=s.val(),o=r!==i,l=[r,t,a,n],c=function(t,a,e){"function"==typeof n[t]&&a&&n[t].apply(this,e)};c("onChange",!0===o,l),c("onKeyPress",!0===o,l),c("onComplete",r.length===e.length,l),c("onInvalid",0<s.invalid.length,[r,t,a,s.invalid,n])}};a=t(a);var r,o=this,i=s.val();e="function"==typeof e?e(s.val(),void 0,a,n):e,o.mask=e,o.options=n,o.remove=function(){var t=s.getCaret();return s.destroyEvents(),s.val(o.getCleanVal()),s.setCaret(t),a},o.getCleanVal=function(){return s.getMasked(!0)},o.getMaskedVal=function(t){return s.getMasked(!1,t)},o.init=function(i){if(i=i||!1,n=n||{},o.clearIfNotMatch=t.jMaskGlobals.clearIfNotMatch,o.byPassKeys=t.jMaskGlobals.byPassKeys,o.translation=t.extend({},t.jMaskGlobals.translation,n.translation),o=t.extend(!0,{},o,n),r=s.getRegexMask(),i)s.events(),s.val(s.getMasked());else{n.placeholder&&a.attr("placeholder",n.placeholder),a.data("mask")&&a.attr("autocomplete","off"),i=0;for(var l=!0;i<e.length;i++){var c=o.translation[e.charAt(i)];if(c&&c.recursive){l=!1;break}}l&&a.attr("maxlength",e.length),s.destroyEvents(),s.events(),i=s.getCaret(),s.val(s.getMasked()),s.setCaret(i)}},o.init(!a.is("input"))};t.maskWatchers={};var e=function(){var e=t(this),s={},r=e.attr("data-mask");if(e.attr("data-mask-reverse")&&(s.reverse=!0),e.attr("data-mask-clearifnotmatch")&&(s.clearIfNotMatch=!0),"true"===e.attr("data-mask-selectonfocus")&&(s.selectOnFocus=!0),n(e,r,s))return e.data("mask",new a(this,r,s))},n=function(a,e,n){n=n||{};var s=t(a).data("mask"),r=JSON.stringify;a=t(a).val()||t(a).text();try{return"function"==typeof e&&(e=e(a)),"object"!=typeof s||r(s.options)!==r(n)||s.mask!==e}catch(t){}},s=function(t){var a,e=document.createElement("div");return t="on"+t,a=t in e,a||(e.setAttribute(t,"return;"),a="function"==typeof e[t]),a};t.fn.mask=function(e,s){s=s||{};var r=this.selector,o=t.jMaskGlobals,i=o.watchInterval,o=s.watchInputs||o.watchInputs,l=function(){if(n(this,e,s))return t(this).data("mask",new a(this,e,s))};return t(this).each(l),r&&""!==r&&o&&(clearInterval(t.maskWatchers[r]),t.maskWatchers[r]=setInterval(function(){t(document).find(r).each(l)},i)),this},t.fn.masked=function(t){return this.data("mask").getMaskedVal(t)},t.fn.unmask=function(){return clearInterval(t.maskWatchers[this.selector]),delete t.maskWatchers[this.selector],this.each(function(){var a=t(this).data("mask");a&&a.remove().removeData("mask")})},t.fn.cleanVal=function(){return this.data("mask").getCleanVal()},t.applyDataMask=function(a){a=a||t.jMaskGlobals.maskElements,(a instanceof t?a:t(a)).filter(t.jMaskGlobals.dataMaskAttr).each(e)},s={maskElements:"input,td,span,div",dataMaskAttr:"*[data-mask]",dataMask:!0,watchInterval:300,watchInputs:!0,useInput:!/Chrome\/[2-4][0-9]|SamsungBrowser/.test(window.navigator.userAgent)&&s("input"),watchDataMask:!1,byPassKeys:[9,16,17,18,36,37,38,39,40,91],translation:{0:{pattern:/\d/},9:{pattern:/\d/,optional:!0},"#":{pattern:/\d/,recursive:!0},A:{pattern:/[a-zA-Z0-9]/},S:{pattern:/[a-zA-Z]/}}},t.jMaskGlobals=t.jMaskGlobals||{},s=t.jMaskGlobals=t.extend(!0,{},s,t.jMaskGlobals),s.dataMask&&t.applyDataMask(),setInterval(function(){t.jMaskGlobals.watchDataMask&&t.applyDataMask()},s.watchInterval)},window.jQuery,window.Zepto);