Source: directive/inputPosition.js

// 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