Socket
Socket
Sign inDemoInstall

angular-dynamic-number

Package Overview
Dependencies
0
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.12.5 to 2.0.0

2

bower.json
{
"name": "angular-dynamic-number",
"version": "1.12.5",
"version": "2.0.0",
"homepage": "https://github.com/uhlryk/angular-dynamic-number",

@@ -5,0 +5,0 @@ "authors": [

{
"name": "angular-dynamic-number",
"version": "1.12.5",
"version": "2.0.0",
"description": "Highly customizable angular directive for numbers",

@@ -5,0 +5,0 @@ "keywords": [

@@ -27,2 +27,8 @@ # Angular Dynamic Number

## Change Log:
### v2.0.0:
model type is number instead of string.
## Demo:

@@ -29,0 +35,0 @@ [link](http://htmlpreview.github.io/?https://github.com/uhlryk/angular-dynamic-number/blob/master/examples/index.html)

@@ -190,3 +190,3 @@ /*jslint node: true */

}
ngModelController.$setViewValue(addPrependAppend(value, prepend, append));
ngModelController.$setViewValue(addPrependAppend(String(value), prepend, append));
ngModelController.$render();

@@ -276,2 +276,6 @@ }

function prepareResponse(value) {
return Number(value);
}
function createPropertyObject(scope, key, value) {

@@ -584,3 +588,3 @@ var properties = {

state.count ++;
return directiveParser(value, initObject, state);
return prepareResponse(directiveParser(value, initObject, state));
} else {

@@ -587,0 +591,0 @@ state.enable = true;

@@ -1,1 +0,1 @@

!function(n,e,t){"use strict";function r(n,e,r,u){if(n===t||null===n||""===n)return 0;var o="";return o=","===e?String(n).replace(".",","):String(n),a(o,r,u)}function u(n,e,t){return","===e?String(n).replace(/['\.\s]/g,"").replace(",","."):"."===e?String(n).replace(/[',\s]/g,""):void 0}function a(n,e,t){var r=n;return t&&(r+=t),e&&(r=/^\-.+/.test(r)?r.replace("-","-"+e):/^\-/.test(r)?r:e+r),r}function o(n,e){if(n>=0){var t=parseInt(n,10);if(isNaN(t)===!1&&isFinite(t)&&t>=0)return t}return e}function i(n,e){if(n>=0){var t=parseInt(n,10);if(isNaN(t)===!1&&isFinite(t)&&t>=0)return t}return e}function c(n,e){return","===n?",":"."===n?".":e}function m(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function p(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function s(n,e){return"floor"===n?Math.floor:"ceil"===n?Math.ceil:"round"===n?Math.round:e}function d(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function f(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function l(n,e,t){if(!n)return t;var r;return r="."===e?new RegExp("^[',\\s]$"):new RegExp("^['\\.\\s]$"),r.test(n)?n:t}function g(n){var e=new RegExp("[^\\d,\\.\\s\\-]{1}");return e.test(n)?n:null}function h(n,e,t,r,u){var a="-?";r===!1&&u===!0?a="-":r===!0&&u===!1&&(a="");var o="[0-9]{0,"+n+"}";0===n&&(o="0");var i="(\\"+t+"([0-9]){0,"+e+"})";return 0===e&&(i=""),new RegExp("^"+a+o+i+"?$")}function S(n){return String(n).replace(/^0+/g,"").replace(/^-0(\d+)/g,"-$1").replace(new RegExp("^-([\\.,\\s])","g"),"-0$1").replace(new RegExp("^[\\.,\\s]","g"),"0$&")}function v(n,e,t){var r=n;return e&&(r=r.replace(new RegExp("[\\"+e+"]","g"),"")),t&&(r=r.replace(new RegExp("[\\"+t+"]","g"),"")),r}function w(n,e){return"."===e?String(n).replace(/\./g,""):","===e?String(n).replace(/,/g,""):String(n).replace(new RegExp("['\\s]","g"),"")}function $(n,e,t){return n=String(n).split(e),n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,t),n.join(e)}function R(n,e,t,r,u,o){o&&(u.enable=!1),n.$setViewValue(a(e,t,r)),n.$render()}function N(n,e,u,a,o,i,c,m,p){if(""===n||n===t||null===n)return"";if(n=Number(n),!isNaN(n)&&isFinite(n)){var s=Math.pow(10,e);return n=o?r((a(n*s)/s).toFixed(e),u,m,p):r(String(a(n*s)/s),u,m,p),i&&(n=$(n,u,c)),n}return o?0..toFixed(e):"0"}function T(n){var e=0;if(document.selection){n.focus();var t=document.selection.createRange();t.moveStart("character",-n.value.length),e=t.text.length}else(n.selectionStart||"0"==n.selectionStart)&&(e="backward"==n.selectionDirection?n.selectionStart:n.selectionEnd);return e}function P(n,e){if(null!==n)if(n.createTextRange){var t=n.createTextRange();t.move("character",e),t.select()}else n.selectionStart?(n.focus(),n.setSelectionRange(e,e)):n.focus()}function x(n,e,t){for(var r=0,u=0,a=0;a<n.length;a++)if(n[a]!==e){if(r++,r>=t)break}else u++;return u}function b(n,e,t){var r={awnum:n.awnum,numInt:n.numInt,numFract:n.numFract,numSep:n.numSep,numPos:n.numPos,numNeg:n.numNeg,numRound:n.numRound,numThousand:n.numThousand,numThousandSep:n.numThousandSep,numPrepend:n.numPrepend,numAppend:n.numAppend};return e&&(r[e]=t),r}function F(n,e,r,u,a){var d={};n.awnum&&(d=a.getStrategy(n.awnum));var S=o(n.numInt!==t?n.numInt:d.numInt,6),v=i(n.numFract!==t?n.numFract:d.numFract,2),w=c(n.numSep!==t?n.numSep:d.numSep,"."),$=m(n.numPos!==t?n.numPos:d.numPos,!0),R=p(n.numNeg!==t?n.numNeg:d.numNeg,!0),N=s(n.numRound!==t?n.numRound:d.numRound,Math.round),T=f(n.numThousand!==t?n.numThousand:d.numThousand,!1),P=l(n.numThousandSep!==t?n.numThousandSep:d.numThousandSep,w,"."===w?",":"."),x=g(n.numPrepend!==t?n.numPrepend:d.numPrepend),b=g(n.numAppend!==t?n.numAppend:d.numAppend);if($===!1&&R===!1)throw new Error("Number is set to not be positive and not be negative. Change num_pos attr or/and num_neg attr to true");var F=h(S,v,w,$,R);return{element:e,attrs:r,ngModelController:u,viewRegexTest:F,integerPart:S,fractionPart:v,fractionSeparator:w,isPositiveNumber:$,isNegativeNumber:R,roundFunction:N,isThousandSeparator:T,thousandSeparator:P,prepend:x,append:b}}function y(n,e,a){var o=e.element,i=(e.attrs,e.ngModelController),c=e.viewRegexTest,m=(e.integerPart,e.fractionPart),p=e.fractionSeparator,s=e.isPositiveNumber,d=e.isNegativeNumber,f=(e.roundFunction,e.isThousandSeparator),l=e.thousandSeparator,g=e.prepend,h=e.append,N=String(n);if(M){M=!1;var b=new RegExp("[^"+(d?"-":"")+p+l+"0-9]+","g");N=N.replace(b,""),b=new RegExp("^["+p+l+"]"),N=N.replace(b,""),b=new RegExp("["+p+l+"]([0-9]{"+m+"})$"),N=N.replace(b,p+"$1")}if(N=v(N,g,h),new RegExp("^[.,"+l+"]{2,}").test(N))return R(i,0,g,h,a),0;var F=T(o[0]);g&&F--;var y=N.slice(0,F);y=w(y,l),N=w(N,l),y=S(y);var E=N;if(N=S(N),N==="0"+p&&E===p&&s)return m?(R(i,"0"+p,g,h,a,!0),P(o[0],2),0):(R(i,"",g,h,a),0);if(""===N&&"0"===String(n).charAt(0))return R(i,0,g,h),0;if(N===t||""===N)return 0;if("-"===N)return s&&!d?R(i,"",g,h,a):R(i,"-",g,h,a),0;if(c.test(N)===!1){var A=r(i.$modelValue,p,g,h);return f&&(A=$(A,p,l)),R(i,A,g,h,a),P(o[0],F-1),i.$modelValue}var I=0,V=y.length;return f&&(N=$(N,p,l),I=x(N,l,V)),g&&(I++,new RegExp("^(\\-\\d)$").test(N)&&(I+=2),new RegExp("^(\\d)$").test(N)&&I++),R(i,N,g,h,a),P(o[0],V+I),u(N,p,l)}function E(n,e){n.$setViewValue(""),n.$render(),n.$setViewValue(e),n.$render()}function A(n,e){var t=N(n.$modelValue,e.fractionPart,e.fractionSeparator,e.roundFunction,!1,e.isThousandSeparator,e.thousandSeparator,e.prepend,e.append);E(n,t)}function I(n){return{restrict:"A",require:"?ngModel",scope:{awnum:"@",numInt:"@",numFract:"@",numSep:"@",numPos:"@",numNeg:"@",numRound:"@",numThousand:"@",numThousandSep:"@",numPrepend:"@",numAppend:"@"},link:function(e,t,r,u){if(!t[0]||"INPUT"!==t[0].tagName||"text"!==t[0].type&&"tel"!==t[0].type)return void console.warn("Directive angular-dynamic-number works only for 'input' tag with type = 'text' or type = 'tel'");if(!u)return void console.warn("Directive angular-dynamic-number need ngModel attribute");var a=F(b(e),t,r,u,n);t.on("paste",function(){M=!0}),e.$watch("numInt",function(o,i){i!==o&&(a=F(b(e,"numInt",o),t,r,u,n),A(u,a))}),e.$watch("numFract",function(o,i){i!==o&&(a=F(b(e,"numFract",o),t,r,u,n),A(u,a))}),e.$watch("numSep",function(o,i){i!==o&&(a=F(b(e,"numSep",o),t,r,u,n),A(u,a))}),e.$watch("numPos",function(o,i){i!==o&&(a=F(b(e,"numPos",o),t,r,u,n),A(u,a))}),e.$watch("numNeg",function(o,i){i!==o&&(a=F(b(e,"numNeg",o),t,r,u,n),A(u,a))}),e.$watch("numThousand",function(o,i){i!==o&&(a=F(b(e,"numThousand",o),t,r,u,n),A(u,a))}),e.$watch("numThousandSep",function(o,i){i!==o&&(a=F(b(e,"numThousandSep",o),t,r,u,n),A(u,a))}),e.$watch("numAppend",function(o,i){i!==o&&(a=F(b(e,"numAppend",o),t,r,u,n),A(u,a))}),e.$watch("numPrepend",function(o,i){i!==o&&(a=F(b(e,"numPrepend",o),t,r,u,n),A(u,a))});var o={enable:!0,count:0};u.$parsers.unshift(function(n){return o.enable?(o.count++,y(n,a,o)):(o.enable=!0,n)}),u.$formatters.push(function(n){return N(n,a.fractionPart,a.fractionSeparator,a.roundFunction,!1,a.isThousandSeparator,a.thousandSeparator,a.prepend,a.append)})}}}var M=!1;e.module("dynamicNumber",[]).provider("dynamicNumberStrategy",function(){var n={};this.addStrategy=function(e,t){n[e]=t},this.getStrategy=function(e){return n[e]},this.$get=function(){return{getStrategy:function(e){return n[e]}}}}).filter("awnum",function(n){return function(r,u,a,o,m,p,h,S,v){var w,$={};e.isString(u)&&($=n.getStrategy(u),u=$.numFract);var w=i(u,2),R=c(a!==t?a:$.numSep,"."),T=s(o!==t?o:$.numRound,Math.round),P=d(m!==t?m:$.numFixed,!1),x=f(p!==t?p:$.numThousand,!1),b=l(h!==t?h:$.numThousandSep,R,"."===R?",":"."),F=g(S!==t?S:$.numPrepend),y=g(v!==t?v:$.numAppend),E=N(r,w,R,T,P,x,b,F,y);return""===E?"0":E}}).directive("awnum",["dynamicNumberStrategy",I])}(window,window.angular);
!function(n,e,t){"use strict";function r(n,e,r,u){if(n===t||null===n||""===n)return 0;var o="";return o=","===e?String(n).replace(".",","):String(n),a(o,r,u)}function u(n,e,t){return","===e?String(n).replace(/['\.\s]/g,"").replace(",","."):"."===e?String(n).replace(/[',\s]/g,""):void 0}function a(n,e,t){var r=n;return t&&(r+=t),e&&(r=/^\-.+/.test(r)?r.replace("-","-"+e):/^\-/.test(r)?r:e+r),r}function o(n,e){if(n>=0){var t=parseInt(n,10);if(isNaN(t)===!1&&isFinite(t)&&t>=0)return t}return e}function i(n,e){if(n>=0){var t=parseInt(n,10);if(isNaN(t)===!1&&isFinite(t)&&t>=0)return t}return e}function c(n,e){return","===n?",":"."===n?".":e}function m(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function p(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function s(n,e){return"floor"===n?Math.floor:"ceil"===n?Math.ceil:"round"===n?Math.round:e}function d(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function f(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function g(n,e,t){if(!n)return t;var r;return r="."===e?new RegExp("^[',\\s]$"):new RegExp("^['\\.\\s]$"),r.test(n)?n:t}function l(n){var e=new RegExp("[^\\d,\\.\\s\\-]{1}");return e.test(n)?n:null}function S(n,e,t,r,u){var a="-?";r===!1&&u===!0?a="-":r===!0&&u===!1&&(a="");var o="[0-9]{0,"+n+"}";0===n&&(o="0");var i="(\\"+t+"([0-9]){0,"+e+"})";return 0===e&&(i=""),new RegExp("^"+a+o+i+"?$")}function h(n){return String(n).replace(/^0+/g,"").replace(/^-0(\d+)/g,"-$1").replace(new RegExp("^-([\\.,\\s])","g"),"-0$1").replace(new RegExp("^[\\.,\\s]","g"),"0$&")}function v(n,e,t){var r=n;return e&&(r=r.replace(new RegExp("[\\"+e+"]","g"),"")),t&&(r=r.replace(new RegExp("[\\"+t+"]","g"),"")),r}function w(n,e){return"."===e?String(n).replace(/\./g,""):","===e?String(n).replace(/,/g,""):String(n).replace(new RegExp("['\\s]","g"),"")}function $(n,e,t){return n=String(n).split(e),n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,t),n.join(e)}function N(n,e,t,r,u,o){o&&(u.enable=!1),n.$setViewValue(a(String(e),t,r)),n.$render()}function R(n,e,u,a,o,i,c,m,p){if(""===n||n===t||null===n)return"";if(n=Number(n),!isNaN(n)&&isFinite(n)){var s=Math.pow(10,e);return n=o?r((a(n*s)/s).toFixed(e),u,m,p):r(String(a(n*s)/s),u,m,p),i&&(n=$(n,u,c)),n}return o?0..toFixed(e):"0"}function T(n){var e=0;if(document.selection){n.focus();var t=document.selection.createRange();t.moveStart("character",-n.value.length),e=t.text.length}else(n.selectionStart||"0"==n.selectionStart)&&(e="backward"==n.selectionDirection?n.selectionStart:n.selectionEnd);return e}function P(n,e){if(null!==n)if(n.createTextRange){var t=n.createTextRange();t.move("character",e),t.select()}else n.selectionStart?(n.focus(),n.setSelectionRange(e,e)):n.focus()}function x(n,e,t){for(var r=0,u=0,a=0;a<n.length;a++)if(n[a]!==e){if(r++,r>=t)break}else u++;return u}function b(n){return Number(n)}function F(n,e,t){var r={awnum:n.awnum,numInt:n.numInt,numFract:n.numFract,numSep:n.numSep,numPos:n.numPos,numNeg:n.numNeg,numRound:n.numRound,numThousand:n.numThousand,numThousandSep:n.numThousandSep,numPrepend:n.numPrepend,numAppend:n.numAppend};return e&&(r[e]=t),r}function y(n,e,r,u,a){var d={};n.awnum&&(d=a.getStrategy(n.awnum));var h=o(n.numInt!==t?n.numInt:d.numInt,6),v=i(n.numFract!==t?n.numFract:d.numFract,2),w=c(n.numSep!==t?n.numSep:d.numSep,"."),$=m(n.numPos!==t?n.numPos:d.numPos,!0),N=p(n.numNeg!==t?n.numNeg:d.numNeg,!0),R=s(n.numRound!==t?n.numRound:d.numRound,Math.round),T=f(n.numThousand!==t?n.numThousand:d.numThousand,!1),P=g(n.numThousandSep!==t?n.numThousandSep:d.numThousandSep,w,"."===w?",":"."),x=l(n.numPrepend!==t?n.numPrepend:d.numPrepend),b=l(n.numAppend!==t?n.numAppend:d.numAppend);if($===!1&&N===!1)throw new Error("Number is set to not be positive and not be negative. Change num_pos attr or/and num_neg attr to true");var F=S(h,v,w,$,N);return{element:e,attrs:r,ngModelController:u,viewRegexTest:F,integerPart:h,fractionPart:v,fractionSeparator:w,isPositiveNumber:$,isNegativeNumber:N,roundFunction:R,isThousandSeparator:T,thousandSeparator:P,prepend:x,append:b}}function E(n,e,a){var o=e.element,i=(e.attrs,e.ngModelController),c=e.viewRegexTest,m=(e.integerPart,e.fractionPart),p=e.fractionSeparator,s=e.isPositiveNumber,d=e.isNegativeNumber,f=(e.roundFunction,e.isThousandSeparator),g=e.thousandSeparator,l=e.prepend,S=e.append,R=String(n);if(V){V=!1;var b=new RegExp("[^"+(d?"-":"")+p+g+"0-9]+","g");R=R.replace(b,""),b=new RegExp("^["+p+g+"]"),R=R.replace(b,""),b=new RegExp("["+p+g+"]([0-9]{"+m+"})$"),R=R.replace(b,p+"$1")}if(R=v(R,l,S),new RegExp("^[.,"+g+"]{2,}").test(R))return N(i,0,l,S,a),0;var F=T(o[0]);l&&F--;var y=R.slice(0,F);y=w(y,g),R=w(R,g),y=h(y);var E=R;if(R=h(R),R==="0"+p&&E===p&&s)return m?(N(i,"0"+p,l,S,a,!0),P(o[0],2),0):(N(i,"",l,S,a),0);if(""===R&&"0"===String(n).charAt(0))return N(i,0,l,S),0;if(R===t||""===R)return 0;if("-"===R)return s&&!d?N(i,"",l,S,a):N(i,"-",l,S,a),0;if(c.test(R)===!1){var A=r(i.$modelValue,p,l,S);return f&&(A=$(A,p,g)),N(i,A,l,S,a),P(o[0],F-1),i.$modelValue}var I=0,M=y.length;return f&&(R=$(R,p,g),I=x(R,g,M)),l&&(I++,new RegExp("^(\\-\\d)$").test(R)&&(I+=2),new RegExp("^(\\d)$").test(R)&&I++),N(i,R,l,S,a),P(o[0],M+I),u(R,p,g)}function A(n,e){n.$setViewValue(""),n.$render(),n.$setViewValue(e),n.$render()}function I(n,e){var t=R(n.$modelValue,e.fractionPart,e.fractionSeparator,e.roundFunction,!1,e.isThousandSeparator,e.thousandSeparator,e.prepend,e.append);A(n,t)}function M(n){return{restrict:"A",require:"?ngModel",scope:{awnum:"@",numInt:"@",numFract:"@",numSep:"@",numPos:"@",numNeg:"@",numRound:"@",numThousand:"@",numThousandSep:"@",numPrepend:"@",numAppend:"@"},link:function(e,t,r,u){if(!t[0]||"INPUT"!==t[0].tagName||"text"!==t[0].type&&"tel"!==t[0].type)return void console.warn("Directive angular-dynamic-number works only for 'input' tag with type = 'text' or type = 'tel'");if(!u)return void console.warn("Directive angular-dynamic-number need ngModel attribute");var a=y(F(e),t,r,u,n);t.on("paste",function(){V=!0}),e.$watch("numInt",function(o,i){i!==o&&(a=y(F(e,"numInt",o),t,r,u,n),I(u,a))}),e.$watch("numFract",function(o,i){i!==o&&(a=y(F(e,"numFract",o),t,r,u,n),I(u,a))}),e.$watch("numSep",function(o,i){i!==o&&(a=y(F(e,"numSep",o),t,r,u,n),I(u,a))}),e.$watch("numPos",function(o,i){i!==o&&(a=y(F(e,"numPos",o),t,r,u,n),I(u,a))}),e.$watch("numNeg",function(o,i){i!==o&&(a=y(F(e,"numNeg",o),t,r,u,n),I(u,a))}),e.$watch("numThousand",function(o,i){i!==o&&(a=y(F(e,"numThousand",o),t,r,u,n),I(u,a))}),e.$watch("numThousandSep",function(o,i){i!==o&&(a=y(F(e,"numThousandSep",o),t,r,u,n),I(u,a))}),e.$watch("numAppend",function(o,i){i!==o&&(a=y(F(e,"numAppend",o),t,r,u,n),I(u,a))}),e.$watch("numPrepend",function(o,i){i!==o&&(a=y(F(e,"numPrepend",o),t,r,u,n),I(u,a))});var o={enable:!0,count:0};u.$parsers.unshift(function(n){return o.enable?(o.count++,b(E(n,a,o))):(o.enable=!0,n)}),u.$formatters.push(function(n){return R(n,a.fractionPart,a.fractionSeparator,a.roundFunction,!1,a.isThousandSeparator,a.thousandSeparator,a.prepend,a.append)})}}}var V=!1;e.module("dynamicNumber",[]).provider("dynamicNumberStrategy",function(){var n={};this.addStrategy=function(e,t){n[e]=t},this.getStrategy=function(e){return n[e]},this.$get=function(){return{getStrategy:function(e){return n[e]}}}}).filter("awnum",function(n){return function(r,u,a,o,m,p,S,h,v){var w,$={};e.isString(u)&&($=n.getStrategy(u),u=$.numFract);var w=i(u,2),N=c(a!==t?a:$.numSep,"."),T=s(o!==t?o:$.numRound,Math.round),P=d(m!==t?m:$.numFixed,!1),x=f(p!==t?p:$.numThousand,!1),b=g(S!==t?S:$.numThousandSep,N,"."===N?",":"."),F=l(h!==t?h:$.numPrepend),y=l(v!==t?v:$.numAppend),E=R(r,w,N,T,P,x,b,F,y);return""===E?"0":E}}).directive("awnum",["dynamicNumberStrategy",M])}(window,window.angular);

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc