Socket
Socket
Sign inDemoInstall

angular-dynamic-number

Package Overview
Dependencies
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-dynamic-number - npm Package Compare versions

Comparing version 1.8.0 to 1.8.1

2

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

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

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

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

@@ -304,2 +304,3 @@ /*jslint node: true */

ngModelController.$parsers.unshift(function(value){
var parsedValue = String(value);

@@ -312,5 +313,6 @@ parsedValue = removePrependAppendChars(parsedValue, prepend, append);

var cursorPosition = getCaretPosition(element[0]);
if(prepend) {
cursorPosition--;
}
var valBeforeCursor = parsedValue.slice(0,cursorPosition);
var valLengthBeforeCursor = valBeforeCursor.length;
valBeforeCursor = removeThousandSeparators(valBeforeCursor, thousandSeparator);

@@ -351,3 +353,3 @@ parsedValue = removeThousandSeparators(parsedValue, thousandSeparator);

var dots = 0;
var currentPosition = cursorPosition - valLengthBeforeCursor + valBeforeCursor.length;
var currentPosition = valBeforeCursor.length;
if(isThousandSeparator){

@@ -357,4 +359,18 @@ parsedValue = addThousandSeparator(parsedValue, thousandSeparator);

}
if(prepend) {
dots++;
if(new RegExp('^(\\-\\d)$').test(parsedValue)) {
dots+=2;
}
if(new RegExp('^(\\d)$').test(parsedValue)) {
dots++;
}
}
changeViewValue(ngModelController, parsedValue, prepend, append);
setCaretPosition(element[0],currentPosition + dots);
setCaretPosition(element[0], currentPosition + dots);
setTimeout(function() {
setCaretPosition(element[0], currentPosition + dots);
},1);
return convViewToModel(parsedValue, fractionSeparator, thousandSeparator);

@@ -361,0 +377,0 @@ }

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

!function(n,e,t){"use strict";function r(n,e,r,u){if(n===t)return"";var a="";return a=","===e?String(n).replace(".",","):String(n),i(a,r,u)}function u(n,e,t){return","===e?String(n).replace(/[\.\s]/g,"").replace(",","."):"."===e?String(n).replace(/[,\s]/g,""):void 0}function i(n,e,t){var r=n;return t&&(r+=t),e&&(r=/^\-.+/.test(r)?r.replace("-","-"+e):/^\-/.test(r)?r:e+r),r}function a(n,e){if(n>=0){var t=parseInt(n,10);if(isNaN(t)===!1&&isFinite(t)&&t>=0)return t}return e}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 c(n,e){return","===n?",":"."===n?".":e}function s(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 m(n,e){return"floor"===n?Math.floor:"ceil"===n?Math.ceil:"round"===n?Math.round:e}function g(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function l(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function p(n,e,t){if(!n)return t;var r;return r="."===e?new RegExp("^[,\\s]$"):new RegExp("^[\\.\\s]$"),r.test(n)?n:t}function d(n){var e=new RegExp("[^\\d,\\.\\s\\-]{1}");return e.test(n)?n:null}function v(n,e,t,r,u){var i="-?";r===!1&&u===!0?i="-":r===!0&&u===!1&&(i="");var a="[0-9]{0,"+n+"}";0===n&&(a="0");var o="(\\"+t+"([0-9]){0,"+e+"})";return 0===e&&(o=""),new RegExp("^"+i+a+o+"?$")}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 h(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 R(n,e){return n=String(n).split("."),n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,e),n.join(".")}function x(n,e,t,r){n.$setViewValue(i(e,t,r)),n.$render()}function N(n,e,u,i,a,o,c,s,f){if(""===n||n===t||null===n)return"";if(n=Number(n),!isNaN(n)&&isFinite(n)){var m=Math.pow(10,e);return n=a?r((i(n*m)/m).toFixed(e),u,s,f):r(String(i(n*m)/m),u,s,f),o&&(n=R(n,c)),n}return a?0..toFixed(e):"0"}function y(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=n.selectionStart);return e}function $(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 b(n,e,t){for(var r=0,u=0,i=0;i<n.length;i++)if(n[i]!==e){if(r++,r>=t)break}else u++;return u}function E(n){return{restrict:"A",require:"?ngModel",scope:{awnum:"@",numInt:"@",numFract:"@",numSep:"@",numPos:"@",numNeg:"@",numRound:"@",numThousand:"@",numThousandSep:"@",numPrepend:"@",numAppend:"@"},link:function(e,i,g,E){if(!i[0]||"INPUT"!==i[0].tagName||"text"!==i[0].type)return void console.warn("Directive angular-dynamic-number works only for 'input' tag with type = 'text'");if(!E)return void console.warn("Directive angular-dynamic-number need ngModel attribute");var T={};e.awnum&&(T=n.getStrategy(e.awnum));var F=a(e.numInt!==t?e.numInt:T.numInt,6),P=o(e.numFract!==t?e.numFract:T.numFract,2),M=c(e.numSep!==t?e.numSep:T.numSep,"."),I=s(e.numPos!==t?e.numPos:T.numPos,!0),A=f(e.numNeg!==t?e.numNeg:T.numNeg,!0),V=m(e.numRound!==t?e.numRound:T.numRound,Math.round),k=l(e.numThousand!==t?e.numThousand:T.numThousand,!1),D=p(e.numThousandSep!==t?e.numThousandSep:T.numThousandSep,M,"."===M?",":"."),_=d(e.numPrepend!==t?e.numPrepend:T.numPrepend),j=d(e.numAppend!==t?e.numAppend:T.numAppend);if(I===!1&&A===!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 q=v(F,P,M,I,A);E.$parsers.unshift(function(n){var e=String(n);if(e=h(e,_,j),new RegExp("^[.,"+D+"]{2,}").test(e))return x(E,0,_,j),0;var a=y(i[0]),o=e.slice(0,a),c=o.length;if(o=w(o,D),e=w(e,D),o=S(o),e=S(e),""===e&&"0"===String(n).charAt(0))return x(E,0,_,j),0;if(e===t||""===e)return 0;if("-"===e)return x(E,"-",_,j),0;if(q.test(e)===!1){var s=r(E.$modelValue,M,_,j);return k&&(s=R(s,D)),x(E,s,_,j),$(i[0],a-1),E.$modelValue}var f=0,m=a-c+o.length;return k&&(e=R(e,D),f=b(e,D,m)),x(E,e,_,j),$(i[0],m+f),u(e,M,D)}),E.$formatters.push(function(n){return N(n,P,M,V,!1,k,D,_,j)})}}}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(){return function(n,e,t,r,u,i,a,s,f){var v=o(e,2),S=c(t,"."),h=m(r,Math.round),w=g(u,!1),R=l(i,!1),x=p(a,S,"."===S?",":"."),y=d(s),$=d(f),b=N(n,v,S,h,w,R,x,y,$);return""===b?"0":b}}).directive("awnum",["dynamicNumberStrategy",E])}(window,window.angular);
!function(n,e,t){"use strict";function r(n,e,r,u){if(n===t)return"";var a="";return a=","===e?String(n).replace(".",","):String(n),i(a,r,u)}function u(n,e,t){return","===e?String(n).replace(/[\.\s]/g,"").replace(",","."):"."===e?String(n).replace(/[,\s]/g,""):void 0}function i(n,e,t){var r=n;return t&&(r+=t),e&&(r=/^\-.+/.test(r)?r.replace("-","-"+e):/^\-/.test(r)?r:e+r),r}function a(n,e){if(n>=0){var t=parseInt(n,10);if(isNaN(t)===!1&&isFinite(t)&&t>=0)return t}return e}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 c(n,e){return","===n?",":"."===n?".":e}function s(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 m(n,e){return"floor"===n?Math.floor:"ceil"===n?Math.ceil:"round"===n?Math.round:e}function g(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function l(n,e){return"false"===n||n===!1?!1:"true"===n||n===!0?!0:e}function p(n,e,t){if(!n)return t;var r;return r="."===e?new RegExp("^[,\\s]$"):new RegExp("^[\\.\\s]$"),r.test(n)?n:t}function d(n){var e=new RegExp("[^\\d,\\.\\s\\-]{1}");return e.test(n)?n:null}function v(n,e,t,r,u){var i="-?";r===!1&&u===!0?i="-":r===!0&&u===!1&&(i="");var a="[0-9]{0,"+n+"}";0===n&&(a="0");var o="(\\"+t+"([0-9]){0,"+e+"})";return 0===e&&(o=""),new RegExp("^"+i+a+o+"?$")}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 h(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 R(n,e){return n=String(n).split("."),n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,e),n.join(".")}function x(n,e,t,r){n.$setViewValue(i(e,t,r)),n.$render()}function N(n,e,u,i,a,o,c,s,f){if(""===n||n===t||null===n)return"";if(n=Number(n),!isNaN(n)&&isFinite(n)){var m=Math.pow(10,e);return n=a?r((i(n*m)/m).toFixed(e),u,s,f):r(String(i(n*m)/m),u,s,f),o&&(n=R(n,c)),n}return a?0..toFixed(e):"0"}function $(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=n.selectionStart);return e}function y(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 E(n,e,t){for(var r=0,u=0,i=0;i<n.length;i++)if(n[i]!==e){if(r++,r>=t)break}else u++;return u}function T(n){return{restrict:"A",require:"?ngModel",scope:{awnum:"@",numInt:"@",numFract:"@",numSep:"@",numPos:"@",numNeg:"@",numRound:"@",numThousand:"@",numThousandSep:"@",numPrepend:"@",numAppend:"@"},link:function(e,i,g,T){if(!i[0]||"INPUT"!==i[0].tagName||"text"!==i[0].type)return void console.warn("Directive angular-dynamic-number works only for 'input' tag with type = 'text'");if(!T)return void console.warn("Directive angular-dynamic-number need ngModel attribute");var b={};e.awnum&&(b=n.getStrategy(e.awnum));var F=a(e.numInt!==t?e.numInt:b.numInt,6),P=o(e.numFract!==t?e.numFract:b.numFract,2),M=c(e.numSep!==t?e.numSep:b.numSep,"."),I=s(e.numPos!==t?e.numPos:b.numPos,!0),A=f(e.numNeg!==t?e.numNeg:b.numNeg,!0),V=m(e.numRound!==t?e.numRound:b.numRound,Math.round),k=l(e.numThousand!==t?e.numThousand:b.numThousand,!1),D=p(e.numThousandSep!==t?e.numThousandSep:b.numThousandSep,M,"."===M?",":"."),_=d(e.numPrepend!==t?e.numPrepend:b.numPrepend),j=d(e.numAppend!==t?e.numAppend:b.numAppend);if(I===!1&&A===!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 q=v(F,P,M,I,A);T.$parsers.unshift(function(n){var e=String(n);if(e=h(e,_,j),new RegExp("^[.,"+D+"]{2,}").test(e))return x(T,0,_,j),0;var a=$(i[0]);_&&a--;var o=e.slice(0,a);if(o=w(o,D),e=w(e,D),o=S(o),e=S(e),""===e&&"0"===String(n).charAt(0))return x(T,0,_,j),0;if(e===t||""===e)return 0;if("-"===e)return x(T,"-",_,j),0;if(q.test(e)===!1){var c=r(T.$modelValue,M,_,j);return k&&(c=R(c,D)),x(T,c,_,j),y(i[0],a-1),T.$modelValue}var s=0,f=o.length;return k&&(e=R(e,D),s=E(e,D,f)),_&&(s++,new RegExp("^(\\-\\d)$").test(e)&&(s+=2),new RegExp("^(\\d)$").test(e)&&s++),x(T,e,_,j),y(i[0],f+s),setTimeout(function(){y(i[0],f+s)},1),u(e,M,D)}),T.$formatters.push(function(n){return N(n,P,M,V,!1,k,D,_,j)})}}}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(){return function(n,e,t,r,u,i,a,s,f){var v=o(e,2),S=c(t,"."),h=m(r,Math.round),w=g(u,!1),R=l(i,!1),x=p(a,S,"."===S?",":"."),$=d(s),y=d(f),E=N(n,v,S,h,w,R,x,$,y);return""===E?"0":E}}).directive("awnum",["dynamicNumberStrategy",T])}(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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc