diff --git a/cit-portal-web/src/main/webapp/assets/js/angular/custom/directive/LabelInputDecimalDirective.js b/cit-portal-web/src/main/webapp/assets/js/angular/custom/directive/LabelInputDecimalDirective.js
index 04216e5..6ed5f5e 100644
--- a/cit-portal-web/src/main/webapp/assets/js/angular/custom/directive/LabelInputDecimalDirective.js
+++ b/cit-portal-web/src/main/webapp/assets/js/angular/custom/directive/LabelInputDecimalDirective.js
@@ -13,7 +13,7 @@ citApp.directive("labelInputDecimal", ["$translate", function($translate) {
model : "=ngModel",
form : "=form",
eventoChange : "&ngEventoChange",
- precisao : "=ngPrecisao",
+ precisao : "@ngPrecisao",
labelAlertTooltip: '@',
labelInfoTooltip: '@',
labelQuestionTooltip: '@',
@@ -23,8 +23,9 @@ citApp.directive("labelInputDecimal", ["$translate", function($translate) {
restrict : 'E',
template : "
" +
" "+
- " " +
+ " " +
"
",
+
controller: ['$scope', '$element', '$attrs', function ($scope, $element, $attrs) {
if($scope.id === undefined){
$scope.id = $attrs['ngModel'];
diff --git a/cit-portal-web/src/main/webapp/assets/js/angular/custom/directive/MasksDirective.js b/cit-portal-web/src/main/webapp/assets/js/angular/custom/directive/MasksDirective.js
index d5ffa7b..0e5d4da 100644
--- a/cit-portal-web/src/main/webapp/assets/js/angular/custom/directive/MasksDirective.js
+++ b/cit-portal-web/src/main/webapp/assets/js/angular/custom/directive/MasksDirective.js
@@ -13,7 +13,7 @@ var StringMask = (function() {
'9': {pattern: /\d/, optional: true},
'#': {pattern: /\d/, optional: true, recursive: true},
'S': {pattern: /[a-zA-Z]/},
- '$': {escape: true}
+ '$': {escape: true}
};
var isEscaped = function(pattern, pos) {
var count = 0;
@@ -24,7 +24,7 @@ var StringMask = (function() {
count += token && token.escape ? 1 : 0;
i--;
}
- return count > 0 && count%2 === 1;
+ return count > 0 && count%2 === 1;
};
var calcOptionalNumbersToUse = function(pattern, value) {
var numbersInP = pattern.replace(/[^0]/g,'').length;
@@ -189,7 +189,7 @@ var objectTypes = {
};
if (objectTypes[typeof module]) {
- module.exports = StringMask;
+ module.exports = StringMask;
}
/**
@@ -827,7 +827,7 @@ var objectTypes = {
'object': true
};
if (objectTypes[typeof module]) {
- module.exports = BrV;
+ module.exports = BrV;
} else {
root.BrV = BrV;
}
@@ -1562,32 +1562,61 @@ angular.module('ui.utils.masks.number', [])
modelMask = NumberMasks.modelMask(decimals);
function parse(value) {
+
if(!value) {
return value;
}
- var valueToFormat = PreFormatters.clearDelimitersAndLeadingZeros(value) || '0';
- var formatedValue = viewMask.apply(valueToFormat);
- var actualNumber = parseFloat(modelMask.apply(valueToFormat));
+ if(attrs.uiNumberMask == 'decimal'){
+
+ var pos = value.indexOf(",");
+ var result;
+ if (pos !== -1) {
+ var part1 = value.substr(0, pos > 6 ? 6 : pos);
+ var part2 = value.substr(pos > 6 ? 6 : pos + 1);
+ //2 casas decimais......
+ part2 = part2.substr(0,2);
+ result = cleanForDecimal(part1) + "," + cleanForDecimal(part2);
+ } else {
+ result = cleanForDecimal(value).substr(0,6);
+ }
- if(angular.isDefined(attrs.uiNegativeNumber)){
- var isNegative = (value[0] === '-'),
- needsToInvertSign = (value.slice(-1) === '-');
+ result = result ==',' ? '' : result;
- //only apply the minus sign if it is negative or(exclusive)
- //needs to be negative and the number is different from zero
- if(needsToInvertSign ^ isNegative && !!actualNumber) {
- actualNumber *= -1;
- formatedValue = '-' + formatedValue;
+ if (ctrl.$viewValue !== result) {
+ ctrl.$setViewValue(result);
+ ctrl.$render();
}
- }
- if (ctrl.$viewValue !== formatedValue) {
- ctrl.$setViewValue(formatedValue);
- ctrl.$render();
+ return result.length > 0 ? parseFloat(result.replace(',','.')) : 0;
+ }else{
+ var valueToFormat = PreFormatters.clearDelimitersAndLeadingZeros(value) || '0';
+ var formatedValue = viewMask.apply(valueToFormat);
+ var actualNumber = parseFloat(modelMask.apply(valueToFormat));
+
+ if(angular.isDefined(attrs.uiNegativeNumber)){
+ var isNegative = (value[0] === '-'),
+ needsToInvertSign = (value.slice(-1) === '-');
+
+ //only apply the minus sign if it is negative or(exclusive)
+ //needs to be negative and the number is different from zero
+ if(needsToInvertSign ^ isNegative && !!actualNumber) {
+ actualNumber *= -1;
+ formatedValue = '-' + formatedValue;
+ }
+ }
+
+ if (ctrl.$viewValue !== formatedValue) {
+ ctrl.$setViewValue(formatedValue);
+ ctrl.$render();
+ }
+
+ return actualNumber;
}
+ }
- return actualNumber;
+ function cleanForDecimal(string) {
+ return string.replace(/[^0-9]/g, "");
}
ctrl.$formatters.push(function(value) {
--
libgit2 0.21.2