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