33 lines
1.0 KiB
JavaScript
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);
|
|
}
|
|
};
|
|
});
|
|
}());
|