diff options
| author | Misko Hevery | 2010-05-30 16:11:00 -0700 |
|---|---|---|
| committer | Misko Hevery | 2010-05-30 16:11:00 -0700 |
| commit | 0d87208553af7a9ad6c6c1c73bd3a4105062eafa (patch) | |
| tree | a35264f1332aefbfdd48b8ef1e81a73242ea5686 /src | |
| parent | 0e88e35e5c76420c48a487718558d33e452ea1eb (diff) | |
| download | angular.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.js | 16 | ||||
| -rw-r--r-- | src/Scope.js | 9 | ||||
| -rw-r--r-- | src/directives.js | 3 | ||||
| -rw-r--r-- | src/widgets.js | 2 |
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) { |
