diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Injector.js | 6 | ||||
| -rw-r--r-- | src/services.js | 13 | ||||
| -rw-r--r-- | src/validators.js | 10 | ||||
| -rw-r--r-- | src/widgets.js | 2 | 
4 files changed, 16 insertions, 15 deletions
diff --git a/src/Injector.js b/src/Injector.js index 6fc466b9..c819d4f0 100644 --- a/src/Injector.js +++ b/src/Injector.js @@ -58,9 +58,9 @@ function createInjector(providerScope, providers, cache) {          creation = provider.$creation;          if (creation == 'eager') {            inject(name); -        } -        if (creation == 'eager-published') { -          setter(value, name, inject(name)); +        } else { +          if (isDefined(creation)) +            throw "Unknown $creation value '" + creation + "' for service " + name;          }        });      } else { diff --git a/src/services.js b/src/services.js index 5356d612..e77baf38 100644 --- a/src/services.js +++ b/src/services.js @@ -1,8 +1,7 @@  var URL_MATCH = /^(file|ftp|http|https):\/\/(\w+:{0,1}\w*@)?([\w\.-]*)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,      HASH_MATCH = /^([^\?]*)?(\?([^\?]*))?$/,      DEFAULT_PORTS = {'http': 80, 'https': 443, 'ftp':21}, -    EAGER = 'eager', -    EAGER_PUBLISHED = EAGER + '-published'; +    EAGER = 'eager';  function angularServiceInject(name, fn, inject, eager) {    angularService(name, fn, {$inject:inject, $creation:eager}); @@ -26,7 +25,7 @@ function angularServiceInject(name, fn, inject, eager) {     <input ng:init="greeting='Hello World!'" type="text" name="greeting" />     <button ng:click="$window.alert(greeting)">ALERT</button>   */ -angularServiceInject("$window", bind(window, identity, window), [], EAGER_PUBLISHED); +angularServiceInject("$window", bind(window, identity, window), [], EAGER);  /**   * @workInProgress @@ -39,7 +38,7 @@ angularServiceInject("$window", bind(window, identity, window), [], EAGER_PUBLIS   */  angularServiceInject("$document", function(window){    return jqLite(window.document); -}, ['$window'], EAGER_PUBLISHED); +}, ['$window'], EAGER);  /**   * @workInProgress @@ -382,7 +381,7 @@ angularServiceInject("$log", function($window){        return logFn;      }    } -}, ['$window'], EAGER_PUBLISHED); +}, ['$window'], EAGER);  /**   * @workInProgress @@ -406,7 +405,7 @@ angularServiceInject('$exceptionHandler', function($log){    return function(e) {      $log.error(e);    }; -}, ['$log'], EAGER_PUBLISHED); +}, ['$log'], EAGER);  /**   * @workInProgress @@ -531,7 +530,7 @@ angularServiceInject("$invalidWidgets", function(){    }    return invalidWidgets; -}, [], EAGER_PUBLISHED); +}, [], EAGER); diff --git a/src/validators.js b/src/validators.js index 8e288882..b55db341 100644 --- a/src/validators.js +++ b/src/validators.js @@ -382,10 +382,12 @@ extend(angularValidator, {      cache.current = input; -    var inputState = cache.inputs[input]; +    var inputState = cache.inputs[input], +        $invalidWidgets = scope.$inject('$invalidWidgets'); +      if (!inputState) {        cache.inputs[input] = inputState = { inFlight: true }; -      scope.$invalidWidgets.markInvalid(scope.$element); +      $invalidWidgets.markInvalid(scope.$element);        element.addClass('ng-input-indicator-wait');        asynchronousFn(input, function(error, data) {          inputState.response = data; @@ -393,14 +395,14 @@ extend(angularValidator, {          inputState.inFlight = false;          if (cache.current == input) {            element.removeClass('ng-input-indicator-wait'); -          scope.$invalidWidgets.markValid(element); +          $invalidWidgets.markValid(element);          }          element.data($$validate)();          scope.$root.$eval();        });      } else if (inputState.inFlight) {        // request in flight, mark widget invalid, but don't show it to user -      scope.$invalidWidgets.markInvalid(scope.$element); +      $invalidWidgets.markInvalid(scope.$element);      } else {        (updateFn||noop)(inputState.response);      } diff --git a/src/widgets.js b/src/widgets.js index 532627eb..a09ee29d 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -271,7 +271,7 @@ function valueAccessor(scope, element) {        formatterName = element.attr('ng:format') || NOOP,        formatter = angularFormatter(formatterName),        format, parse, lastError, required, -      invalidWidgets = scope.$invalidWidgets || {markValid:noop, markInvalid:noop}; +      invalidWidgets = scope.$inject('$invalidWidgets') || {markValid:noop, markInvalid:noop};    if (!validator) throw "Validator named '" + validatorName + "' not found.";    if (!formatter) throw "Formatter named '" + formatterName + "' not found.";    format = formatter.format;  | 
