SmartIT_Extensions/BMC/smart-it-full-helix/scripts/app/common/ng-max-directive.js

33 lines
1.0 KiB
JavaScript

"use strict";
/**
* Created by Abhranil Naha on 12/3/2014.
*/
(function () {
'use strict';
angular.module('myitsmApp')
.directive('ngMax', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, elem, attr, ctrl) {
scope.$watch(attr.ngMax, function () {
ctrl.$setViewValue(ctrl.$viewValue);
});
var maxValidator = function (value) {
var max = scope.$eval(attr.ngMax) || Infinity;
if (!_.isEmpty(value) && value > max) {
ctrl.$setValidity('ngMax', false);
return undefined;
}
else {
ctrl.$setValidity('ngMax', true);
return value;
}
};
ctrl.$parsers.push(maxValidator);
ctrl.$formatters.push(maxValidator);
}
};
});
}());