diff options
| author | Misko Hevery | 2010-05-13 16:40:41 -0700 | 
|---|---|---|
| committer | Misko Hevery | 2010-05-13 16:40:41 -0700 | 
| commit | 1bdcf72e456c74256b14f98b26e969b9de637614 (patch) | |
| tree | 5e99231d79b96f25fc1afd69e4ac4c4fe3ef3cd7 /src | |
| parent | 22d1464d7abc284dd56d6beaf47e8d85088e01c5 (diff) | |
| download | angular.js-1bdcf72e456c74256b14f98b26e969b9de637614.tar.bz2 | |
put formatters back.
Diffstat (limited to 'src')
| -rw-r--r-- | src/widgets.js | 23 | 
1 files changed, 19 insertions, 4 deletions
| diff --git a/src/widgets.js b/src/widgets.js index 7de4bdc1..1c9fe605 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -13,6 +13,21 @@ function modelAccessor(scope, element) {    };  } +function modelFormattedAccessor(scope, element) { +  var accessor = modelAccessor(scope, element), +      farmatterName = element.attr('ng-format') || NOOP, +      formatter = angularFormatter(farmatterName); +  if (!formatter) throw "Formatter named '" + farmatterName + "' not found."; +  return { +    get: function() { +      return formatter.format(accessor.get()); +    }, +    set: function(value) { +      return accessor.set(formatter.parse(value)); +    } +  }; +} +  function compileValidator(expr) {    return new Parser(expr).validator()();  } @@ -134,10 +149,10 @@ var textWidget = inputWidget('keyup change', modelAccessor, valueAccessor, initW        'submit':          buttonWidget,        'reset':           buttonWidget,        'image':           buttonWidget, -      'checkbox':        inputWidget('click', modelAccessor, checkedAccessor, initWidgetValue(false)), -      'radio':           inputWidget('click', modelAccessor, radioAccessor, radioInit), -      'select-one':      inputWidget('change', modelAccessor, valueAccessor, initWidgetValue(null)), -      'select-multiple': inputWidget('change', modelAccessor, optionsAccessor, initWidgetValue([])) +      'checkbox':        inputWidget('click', modelFormattedAccessor, checkedAccessor, initWidgetValue(false)), +      'radio':           inputWidget('click', modelFormattedAccessor, radioAccessor, radioInit), +      'select-one':      inputWidget('change', modelFormattedAccessor, valueAccessor, initWidgetValue(null)), +      'select-multiple': inputWidget('change', modelFormattedAccessor, optionsAccessor, initWidgetValue([]))  //      'file':            fileWidget???      }; | 
