aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMisko Hevery2010-05-30 16:11:00 -0700
committerMisko Hevery2010-05-30 16:11:00 -0700
commit0d87208553af7a9ad6c6c1c73bd3a4105062eafa (patch)
treea35264f1332aefbfdd48b8ef1e81a73242ea5686 /src
parent0e88e35e5c76420c48a487718558d33e452ea1eb (diff)
downloadangular.js-0d87208553af7a9ad6c6c1c73bd3a4105062eafa.tar.bz2
remove the relience of parser an special self object, now passing generic self
Diffstat (limited to 'src')
-rw-r--r--src/Parser.js16
-rw-r--r--src/Scope.js9
-rw-r--r--src/directives.js3
-rw-r--r--src/widgets.js2
4 files changed, 11 insertions, 19 deletions
diff --git a/src/Parser.js b/src/Parser.js
index dfe56cc9..cfb72c72 100644
--- a/src/Parser.js
+++ b/src/Parser.js
@@ -17,7 +17,7 @@ Lexer.OPERATORS = {
'/':function(self, a,b){return a/b;},
'%':function(self, a,b){return a%b;},
'^':function(self, a,b){return a^b;},
- '=':function(self, a,b){return self.scope.set(a, b);},
+ '=':function(self, a,b){return setter(self, a, b);},
'==':function(self, a,b){return a==b;},
'!=':function(self, a,b){return a!=b;},
'<':function(self, a,b){return a<b;},
@@ -152,7 +152,7 @@ Lexer.prototype = {
var fn = Lexer.OPERATORS[ident];
if (!fn) {
fn = function(self){
- return self.scope.get(ident);
+ return getter(self, ident);
};
fn.isAssignable = ident;
}
@@ -372,7 +372,7 @@ Parser.prototype = {
for ( var i = 0; i < argsFn.length; i++) {
args.push(argsFn[i](self));
}
- return fn.apply(self.state, args);
+ return fn.apply(self, args);
};
return function(){
return fnInvoke;
@@ -551,12 +551,12 @@ Parser.prototype = {
this.consume("}");
return function(self) {
return function($){
- var scope = createScope(self.state);
+ var scope = createScope(self);
scope['$'] = $;
for ( var i = 0; i < args.length; i++) {
- scope.$set(args[i], arguments[i]);
+ setter(scope, args[i], arguments[i]);
}
- return statements({scope:{get:scope.$get, set:scope.$set}});
+ return statements(scope);
};
};
},
@@ -680,11 +680,11 @@ Parser.prototype = {
}
return function(self) {
var Entity = self.datastore.entity(entity, defaults);
- self.scope.set(entity, Entity);
+ setter(self, entity, Entity);
if (instance) {
var document = Entity();
document['$$anchor'] = instance;
- self.scope.set(instance, document);
+ setter(self, instance, document);
return "$anchor." + instance + ":{" +
instance + "=" + entity + ".load($anchor." + instance + ");" +
instance + ".$$anchor=" + angular['String']['quote'](instance) + ";" +
diff --git a/src/Scope.js b/src/Scope.js
index 70869b3b..ac07c7a4 100644
--- a/src/Scope.js
+++ b/src/Scope.js
@@ -60,14 +60,7 @@ function expressionCompile(exp){
// TODO(remove this hack)
function parserNewScopeAdapter(fn) {
return function(){
- var self = this;
- return fn({
- state: self,
- scope: {
- set: function(key, value){ return setter(self, key, value);},
- get: function(key) { return getter(self, key); }
- }
- });
+ return fn(this);
};
}
diff --git a/src/directives.js b/src/directives.js
index a3575d62..0a3e10ed 100644
--- a/src/directives.js
+++ b/src/directives.js
@@ -198,10 +198,9 @@ angularDirective("ng-watch", function(expression, element){
return function(element){
var self = this;
new Parser(expression).watch()({
- scope:{get: self.$get, set: self.$set},
addListener:function(watch, exp){
self.$watch(watch, function(){
- return exp({scope:{get: self.$get, set: self.$set}, state:self});
+ return exp(self);
}, element);
}
});
diff --git a/src/widgets.js b/src/widgets.js
index 43bed81f..09d743e9 100644
--- a/src/widgets.js
+++ b/src/widgets.js
@@ -80,7 +80,7 @@ function valueAccessor(scope, element) {
validateScope = extend(new (extend(function(){}, {prototype:scope}))(), {$element:element});
error = required && !value ?
"Required" :
- (value ? validator({state:validateScope, scope:{get:validateScope.$get, set:validateScope.$set}}, value) : null);
+ (value ? validator(validateScope, value) : null);
elementError(element, NG_VALIDATION_ERROR, error);
lastError = error;
if (error) {