Files
Disco/Disco.Web/ClientSource/Scripts/Modules/jQuery-NumberFormatter.min.js
Gary Sharp 9baca7f633 Javascript bundling updated
Using VS extension: 'Bundler & Minifier'
2016-09-29 18:34:06 +10:00

1 line
7.3 KiB
JavaScript

var Hashtable=function(){function e(t){var i;if(typeof t=="string")return t;if(typeof t.hashCode==n)return i=t.hashCode(),typeof i=="string"?i:e(i);if(typeof t.toString==n)return t.toString();try{return String(t)}catch(r){return Object.prototype.toString.call(t)}}function y(n,t){return n.equals(t)}function p(t,i){return typeof i.equals==n?i.equals(t):t===i}function o(n){return function(t){if(t===null)throw new Error("null is not a valid "+n);else if(typeof t=="undefined")throw new Error(n+" must not be undefined");}}function r(n,t,i,r){this[0]=n;this.entries=[];this.addEntry(t,i);r!==null&&(this.getEqualityFunction=function(){return r})}function u(n){return function(t){for(var r=this.entries.length,i,u=this.getEqualityFunction(t);r--;)if(i=this.entries[r],u(t,i[0]))switch(n){case h:return!0;case c:return i;case l:return[r,i[1]]}return!1}}function a(n){return function(t){for(var r=t.length,i=0,u=this.entries.length;i<u;++i)t[r+i]=this.entries[i][n]}}function w(n,t){for(var i=n.length,r;i--;)if(r=n[i],t===r[0])return i;return null}function i(n,t){var i=n[t];return i&&i instanceof r?i:null}function v(u,o){var l=this,h=[],c={},a=typeof u==n?u:e,p=typeof o==n?o:null,y;this.put=function(n,u){t(n);s(u);var o=a(n),f,e,l=null;return f=i(c,o),f?(e=f.getEntryForKey(n),e?(l=e[1],e[1]=u):f.addEntry(n,u)):(f=new r(o,n,u,p),h[h.length]=f,c[o]=f),l};this.get=function(n){var f,r,u;return(t(n),f=a(n),r=i(c,f),r&&(u=r.getEntryForKey(n),u))?u[1]:null};this.containsKey=function(n){t(n);var u=a(n),r=i(c,u);return r?r.containsKey(n):!1};this.containsValue=function(n){s(n);for(var t=h.length;t--;)if(h[t].containsValue(n))return!0;return!1};this.clear=function(){h.length=0;c={}};this.isEmpty=function(){return!h.length};y=function(n){return function(){for(var t=[],i=h.length;i--;)h[i][n](t);return t}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(n){t(n);var r=a(n),o,u=null,e=i(c,r);return e&&(u=e.removeEntryForKey(n),u!==null&&(e.entries.length||(o=w(h,r),f(h,o),delete c[r]))),u};this.size=function(){for(var n=0,t=h.length;t--;)n+=h[t].entries.length;return n};this.each=function(n){for(var i=l.entries(),r=i.length,t;r--;)t=i[r],n(t[0],t[1])};this.putAll=function(t,i){for(var e=t.entries(),f,r,u,o,s=e.length,h=typeof i==n;s--;)f=e[s],r=f[0],u=f[1],h&&(o=l.get(r))&&(u=i(r,o,u)),l.put(r,u)};this.clone=function(){var n=new v(u,o);return n.putAll(l),n}}var n="function",f=typeof Array.prototype.splice==n?function(n,t){n.splice(t,1)}:function(n,t){var r,i,u;if(t===n.length-1)n.length=t;else for(r=n.slice(t+1),n.length=t,i=0,u=r.length;i<u;++i)n[t+i]=r[i]},t=o("key"),s=o("value"),h=0,c=1,l=2;return r.prototype={getEqualityFunction:function(t){return typeof t.equals==n?y:p},getEntryForKey:u(c),getEntryAndIndexForKey:u(l),removeEntryForKey:function(n){var t=this.getEntryAndIndexForKey(n);return t?(f(this.entries,t[0]),t[1]):null},addEntry:function(n,t){this.entries[this.entries.length]=[n,t]},keys:a(0),values:a(1),getEntries:function(n){for(var i=n.length,t=0,r=this.entries.length;t<r;++t)n[i+t]=this.entries[t].slice(0)},containsKey:u(h),containsValue:function(n){for(var t=this.entries.length;t--;)if(n===this.entries[t][1])return!0;return!1}},v}();(function(n){function f(n,t,i){this.dec=n;this.group=t;this.neg=i}function e(){for(var i,n=0;n<r.length;n++)for(localeGroup=r[n],i=0;i<localeGroup.length;i++)t.put(localeGroup[i],n)}function i(n,i){var o,r;t.size()==0&&e();var s=".",h=",";return i==!1&&(n.indexOf("_")!=-1?n=n.split("_")[1].toLowerCase():n.indexOf("-")!=-1&&(n=n.split("-")[1].toLowerCase())),o=t.get(n),o&&(r=u[o],r&&(s=r[0],h=r[1])),new f(s,h,"-")}var t=new Hashtable,u=[[".",","],[",","."],[","," "],[".","'"]],r=[["ae","au","ca","cn","eg","gb","hk","il","in","jp","sk","th","tw","us"],["at","br","de","dk","es","gr","it","nl","pt","tr","vn"],["cz","fi","fr","ru","se","pl"],["ch"]];n.fn.formatNumber=function(t,i,r){return this.each(function(){var f,u;return i==null&&(i=!0),r==null&&(r=!0),f=n(this).is(":input")?new String(n(this).val()):new String(n(this).text()),u=n.formatNumber(f,t),i&&(n(this).is(":input")?n(this).val(u):n(this).text(u)),r?u:void 0})};n.formatNumber=function(t,r){for(var f,c,r=n.extend({},n.fn.formatNumber.defaults,r),o=i(r.locale.toLowerCase(),r.isFullLocale),l=o.dec,a=o.group,v=o.neg,s="0#-,.",e="",h=!1,u=0;u<r.format.length;u++)if(s.indexOf(r.format.charAt(u))==-1)e=e+r.format.charAt(u);else if(u==0&&r.format.charAt(u)=="-"){h=!0;continue}else break;for(f="",u=r.format.length-1;u>=0;u--)if(s.indexOf(r.format.charAt(u))==-1)f=r.format.charAt(u)+f;else break;return r.format=r.format.substring(e.length),r.format=r.format.substring(0,r.format.length-f.length),c=new Number(t),n._formatNumber(c,r,f,e,h)};n._formatNumber=function(t,r,u,f,e){var r=n.extend({},n.fn.formatNumber.defaults,r),k=i(r.locale.toLowerCase(),r.isFullLocale),it=k.dec,rt=k.group,ut=k.neg,ft=!1,c,v,a,y,et,l,ot,p,s,h,d,g,w,o,nt,st,tt,b;if(isNaN(t))if(r.nanForceZero==!0)t=0,ft=!0;else return null;if(u=="%"&&(t=t*100),c="",r.format.indexOf(".")>-1){for(v=it,a=r.format.substring(r.format.lastIndexOf(".")+1),r.round==!0?t=new Number(t.toFixed(a.length)):(y=t.toString(),y=y.substring(0,y.lastIndexOf(".")+a.length+1),t=new Number(y)),et=t%1,l=new String(et.toFixed(a.length)),l=l.substring(l.lastIndexOf(".")+1),o=0;o<a.length;o++)if(a.charAt(o)=="#"&&l.charAt(o)!="0"){v+=l.charAt(o);continue}else if(a.charAt(o)=="#"&&l.charAt(o)=="0")if(ot=l.substring(o),ot.match("[1-9]")){v+=l.charAt(o);continue}else break;else a.charAt(o)=="0"&&(v+=l.charAt(o));c+=v}else t=Math.round(t);if(p=Math.floor(t),t<0&&(p=Math.ceil(t)),s="",s=r.format.indexOf(".")==-1?r.format:r.format.substring(0,r.format.indexOf(".")),h="",!(p==0&&s.substr(s.length-1)=="#")||ft){for(d=new String(Math.abs(p)),g=9999,s.lastIndexOf(",")!=-1&&(g=s.length-s.lastIndexOf(",")-1),w=0,o=d.length-1;o>-1;o--)h=d.charAt(o)+h,w++,w==g&&o!=0&&(h=rt+h,w=0);if(s.length>h.length&&(nt=s.indexOf("0"),nt!=-1))for(st=s.length-nt,tt=s.length-h.length-1;h.length<st;)b=s.charAt(tt),b==","&&(b=rt),h=b+h,tt--}return h||s.indexOf("0",s.length-1)===-1||(h="0"),c=h+c,t<0&&e&&f.length>0?f=ut+f:t<0&&(c=ut+c),r.decimalSeparatorAlwaysShown||c.lastIndexOf(it)==c.length-1&&(c=c.substring(0,c.length-1)),f+c+u};n.fn.parseNumber=function(t,i,r){var f,u;return i==null&&(i=!0),r==null&&(r=!0),f=n(this).is(":input")?new String(n(this).val()):new String(n(this).text()),u=n.parseNumber(f,t),u&&(i&&(n(this).is(":input")?n(this).val(u.toString()):n(this).text(u.toString())),r)?u:void 0};n.parseNumber=function(t,r){for(var r=n.extend({},n.fn.parseNumber.defaults,r),o=i(r.locale.toLowerCase(),r.isFullLocale),a=o.dec,c=o.group,v=o.neg,f,s,e,u,h,l;t.indexOf(c)>-1;)t=t.replace(c,"");for(t=t.replace(a,".").replace(v,"-"),f="",s=!1,(t.charAt(t.length-1)=="%"||r.isPercentage==!0)&&(s=!0),e=0;e<t.length;e++)"1234567890.-".indexOf(t.charAt(e))>-1&&(f=f+t.charAt(e));return u=new Number(f),s&&(u=u/100,h=f.indexOf("."),h!=-1?(l=f.length-h-1,u=u.toFixed(l+2)):u=u.toFixed(f.length-1)),u};n.fn.parseNumber.defaults={locale:"us",decimalSeparatorAlwaysShown:!1,isPercentage:!1,isFullLocale:!1};n.fn.formatNumber.defaults={format:"#,###.00",locale:"us",decimalSeparatorAlwaysShown:!1,nanForceZero:!0,round:!0,isFullLocale:!1};Number.prototype.toFixed=function(t){return n._roundNumber(this,t)};n._roundNumber=function(n,t){var u=Math.pow(10,t||0),r=String(Math.round(n*u)/u),i;if(t>0)for(i=r.indexOf("."),i==-1?(r+=".",i=0):i=r.length-(i+1);i<t;)r+="0",i++;return r}})(jQuery);