aboutsummaryrefslogtreecommitdiffstats
path: root/src/widgets.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets.js')
-rw-r--r--src/widgets.js20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/widgets.js b/src/widgets.js
index 0b77dbf4..87a302fa 100644
--- a/src/widgets.js
+++ b/src/widgets.js
@@ -83,8 +83,7 @@ function valueAccessor(scope, element) {
elementError(element, NG_VALIDATION_ERROR, null);
invalidWidgets.markValid(element);
} else {
- var error,
- validateScope = extend(new (extend(function(){}, {prototype:scope}))(), {$element:element});
+ var error, validateScope = inherit(scope, {$element:element});
error = required && !value ?
'Required' :
(value ? validator(validateScope, value) : null);
@@ -199,14 +198,15 @@ function inputWidget(events, modelAccessor, viewAccessor, initFn) {
this.$eval(element.attr('ng:init')||'');
// Don't register a handler if we are a button (noopAccessor) and there is no action
if (action || modelAccessor !== noopAccessor) {
- element.bind(events, function(){
+ element.bind(events, function(event){
model.set(view.get());
lastValue = model.get();
scope.$tryEval(action, element);
scope.$root.$eval();
// if we have noop initFn than we are just a button,
// therefore we want to prevent default action
- return initFn != noop;
+ if(initFn == noop)
+ event.preventDefault();
});
}
view.set(lastValue = model.get());
@@ -223,16 +223,16 @@ function inputWidgetSelector(element){
return INPUT_TYPE[lowercase(element[0].type)] || noop;
}
-angularWidget('INPUT', inputWidgetSelector);
-angularWidget('TEXTAREA', inputWidgetSelector);
-angularWidget('BUTTON', inputWidgetSelector);
-angularWidget('SELECT', function(element){
+angularWidget('input', inputWidgetSelector);
+angularWidget('textarea', inputWidgetSelector);
+angularWidget('button', inputWidgetSelector);
+angularWidget('select', function(element){
this.descend(true);
return inputWidgetSelector.call(this, element);
});
-angularWidget('NG:INCLUDE', function(element){
+angularWidget('ng:include', function(element){
var compiler = this,
srcExp = element.attr("src"),
scopeExp = element.attr("scope") || '';
@@ -266,7 +266,7 @@ angularWidget('NG:INCLUDE', function(element){
}
});
-var ngSwitch = angularWidget('NG:SWITCH', function (element){
+var ngSwitch = angularWidget('ng:switch', function (element){
var compiler = this,
watchExpr = element.attr("on"),
usingExpr = (element.attr("using") || 'equals'),