// Generated by CoffeeScript 1.12.7
/**
* Input position
* @module
*/
'use strict';
app.directive('inputPosition', [
'$parse', 'Offset', function($parse, Offset) {
return {
restrict: 'A',
require: 'ngModel',
link: function($scope, $element, $attrs, ngModel) {
var blank, max, min;
blank = $attrs.inputPosition ? parseFloat($attrs.inputPosition) : null;
ngModel.$parsers.push(function(value) {
if (value === '') {
return blank;
}
value = Offset.parse(value);
if (isFinite(value)) {
return value;
}
});
ngModel.$formatters.push(function(value) {
if (value === blank) {
return '';
}
return Offset.format(value);
});
if ('positionMin' in $attrs) {
min = $parse($attrs.positionMin);
ngModel.$validators.min = function(value) {
return ngModel.$isEmpty(value) || !(value < min($scope));
};
}
if ('positionMax' in $attrs) {
max = $parse($attrs.positionMax);
ngModel.$validators.max = function(value) {
return ngModel.$isEmpty(value) || !(value > max($scope));
};
}
}
};
}
]);
//# sourceMappingURL=inputPosition.js.map