forked from Edddy/jQueryCalculadora
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjquery.calculadora.min.js
More file actions
2 lines (2 loc) · 1.71 KB
/
jquery.calculadora.min.js
File metadata and controls
2 lines (2 loc) · 1.71 KB
1
2
!function(e){var a={decimals:2,useCommaAsDecimalMark:!1,parent_element:e("body")};e.fn.extend({calculadora:function(t){(t=e.extend({},a,t)).numberFormat||(t.numberFormat=t.useCommaAsDecimalMark?new Intl.NumberFormat("FR",{maximumFractionDigits:t.decimals}):new Intl.NumberFormat("US",{maximumFractionDigits:t.decimals}));var r={};r.radix=t.numberFormat.format(.1).slice(1,2),r.re=new RegExp(`[^-0-9${r.radix}]`,"g");for(var l=e('<div id="calculadora" style="display: none; position: absolute"><ul></ul></div>'),n=l.find("ul");0!=e("#calculadora").length;)e("#calculadora").remove();return e(t.parent_element).append(l),this.each(function(){var a=e(this),t=null,r=0;function i(e){switch(t){case null:r=e;break;case"+":r+=e;break;case"-":r-=e;break;case"*":r*=e;break;case"/":r=0!==e?r/e:0}}function o(e,t,r){l.is(":visible")||(l.css("min-width",a.width()+"px"),l.show(),l.offset({top:a.offset().top-15,left:a.offset().left})),n.append("<li class='"+r+"'><div class='op'>"+t+"</div><div class='num'>"+e+"</div></li>"),l.offset({top:l.offset().top-15,left:l.offset().left})}a.blur(function(e){t=null,n.html(""),l.hide();var r=s(a.val());a.val(c(r))}),a.keydown(function(e){var l=s(a.val());switch(e.key){case"+":case"-":case"*":case"/":e.preventDefault(),i(l),o(c(l),e.key),t=e.key,a.val("");break;case"Enter":case"=":e.preventDefault();case"Tab":i(l),o(c(l),"="),o(c(r)," ","tot"),a.val(c(r)),t=null,a.change();break;case"k":e.preventDefault(),a.val(1e3*l);break;case"M":e.preventDefault(),a.val(1e6*l);break;case"m":e.preventDefault(),0!==l&&a.val(l/1e3)}})});function s(e){return e?(e=e.replace(r.re,"").replace(r.radix,"."),parseFloat(e)):0}function c(e){return t.numberFormat.format(e)}}})}(jQuery);
//@ sourceMappingURL=jquery.calculadora.min.js.map