diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Angular.js | 8 | ||||
| -rw-r--r-- | src/Scope.js | 15 | ||||
| -rw-r--r-- | src/Validators.js | 2 | ||||
| -rw-r--r-- | src/Widgets.js | 6 | 
4 files changed, 12 insertions, 19 deletions
diff --git a/src/Angular.js b/src/Angular.js index 4443890a..27f463ac 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -5,6 +5,8 @@ if (!window['console']) window['console']={'log':noop, 'error':noop};  var consoleNode,      NOOP              = 'noop', +    NG_ERROR          = 'ng-error', +    NG_VALIDATION_ERROR = 'ng-validation-error',      jQuery            = window['jQuery'] || window['$'], // weirdness to make IE happy      _                 = window['_'],      jqLite            = jQuery || jqLiteWrap, @@ -226,12 +228,12 @@ function escapeHtml(html) {        replace(/>/g, '>');  } -function elementDecorateError(element, error) { +function elementError(element, type, error) {    if (error) { -    element.addClass(NG_VALIDATION_ERROR); +    element.addClass(type);      element.attr(NG_ERROR, error);    } else { -    element.removeClass(NG_VALIDATION_ERROR); +    element.removeClass(type);      element.removeAttr(NG_ERROR);    }  } diff --git a/src/Scope.js b/src/Scope.js index dbb6c4aa..42e7d5e5 100644 --- a/src/Scope.js +++ b/src/Scope.js @@ -77,14 +77,11 @@ function isRenderableElement(element) {  }  function rethrow(e) { throw e; } -function errorHandlerFor(element) { +function errorHandlerFor(element, error) {    while (!isRenderableElement(element)) {      element = element.parent() || jqLite(document.body);    } -  return function(error) { -    element.attr('ng-error', angular.toJson(error)); -    element.addClass('ng-exception'); -  }; +  elementError(element, 'ng-exception', isDefined(error) ? toJson(error) : error);  }  function createScope(parent, Class) { @@ -125,17 +122,13 @@ function createScope(parent, Class) {      $tryEval: function (expression, exceptionHandler) {        try { -        var value = expressionCompile(expression).apply(instance, slice.call(arguments, 2, arguments.length)); -        if (exceptionHandler) { -          errorHandlerFor(exceptionHandler)(); -        } -        return value; +        return expressionCompile(expression).apply(instance, slice.call(arguments, 2, arguments.length));        } catch (e) {          error(e);          if (isFunction(exceptionHandler)) {            exceptionHandler(e);          } else if (exceptionHandler) { -          errorHandlerFor(exceptionHandler)(e); +          errorHandlerFor(exceptionHandler, e);          }        }      }, diff --git a/src/Validators.js b/src/Validators.js index ecf21a01..e3da0a81 100644 --- a/src/Validators.js +++ b/src/Validators.js @@ -99,7 +99,7 @@ foreach({          if (cache.state[cache.lastKey] !== null) {            element.removeClass('ng-input-indicator-wait');          } -        elementDecorateError(element, error); +        elementError(element, NG_VALIDATION_ERROR, error);        });      } diff --git a/src/Widgets.js b/src/Widgets.js index d9d72535..bc61f570 100644 --- a/src/Widgets.js +++ b/src/Widgets.js @@ -28,7 +28,7 @@ function valueAccessor(scope, element) {    function validate(value) {      var error = required && !trim(value) ? "Required" : validator({self:scope, scope:{get:scope.$get, set:scope.$set}}, value);      if (error !== lastError) { -      elementDecorateError(element, error); +      elementError(element, NG_VALIDATION_ERROR, error);        lastError = error;      }      return value; @@ -85,9 +85,7 @@ function optionsAccessor(scope, element) {  function noopAccessor() { return { get: noop, set: noop }; } -var NG_ERROR = 'ng-error', -    NG_VALIDATION_ERROR = 'ng-validation-error', -    textWidget = inputWidget('keyup change', modelAccessor, valueAccessor, ''), +var textWidget = inputWidget('keyup change', modelAccessor, valueAccessor, ''),      buttonWidget = inputWidget('click', noopAccessor, noopAccessor, undefined),      INPUT_TYPE = {        'text':            textWidget,  | 
