Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(99)

Side by Side Diff: third_party/pkg/angular/lib/introspection_js.dart

Issue 257423008: Update all Angular libs (run update_all.sh). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 library angular.introspection_expando;
2
3 import 'dart:html' as dom;
4 import 'dart:js' as js;
5
6 import 'package:di/di.dart';
7 import 'package:angular/introspection.dart';
8 import 'package:angular/core/module_internal.dart';
9 import 'package:angular/core_dom/module_internal.dart';
10
11 /**
12 * A global write only variable which keeps track of objects attached to the
13 * elements. This is useful for debugging AngularDart application from the
14 * browser's REPL.
15 */
16 var elementExpando = new Expando('element');
17
18 publishToJavaScript() {
19 js.context
20 ..['ngProbe'] = new js.JsFunction.withThis((_, dom.Node node) => _jsProbe(ng Probe(node)))
21 ..['ngInjector'] = new js.JsFunction.withThis((_, dom.Node node) => _jsInjec tor(ngInjector(node)))
22 ..['ngScope'] = new js.JsFunction.withThis((_, dom.Node node) => _jsScope(ng Scope(node), ngProbe(node).injector.get(ScopeStatsConfig)))
23 ..['ngQuery'] = new js.JsFunction.withThis((_, dom.Node node, String selecto r, [String containsText]) =>
24 new js.JsArray.from(ngQuery(node, selector, containsText)));
25 }
26
27 js.JsObject _jsProbe(ElementProbe probe) {
28 return new js.JsObject.jsify({
29 "element": probe.element,
30 "injector": _jsInjector(probe.injector),
31 "scope": _jsScope(probe.scope, probe.injector.get(ScopeStatsConfig)),
32 "directives": probe.directives.map((directive) => _jsDirective(directive))
33 })..['_dart_'] = probe;
34 }
35
36 js.JsObject _jsInjector(Injector injector) =>
37 new js.JsObject.jsify({"get": injector.get})..['_dart_'] = injector;
38
39 js.JsObject _jsScope(Scope scope, ScopeStatsConfig config) {
40 return new js.JsObject.jsify({
41 "apply": scope.apply,
42 "broadcast": scope.broadcast,
43 "context": scope.context,
44 "destroy": scope.destroy,
45 "digest": scope.rootScope.digest,
46 "emit": scope.emit,
47 "flush": scope.rootScope.flush,
48 "get": (name) => scope.context[name],
49 "isAttached": scope.isAttached,
50 "isDestroyed": scope.isDestroyed,
51 "set": (name, value) => scope.context[name] = value,
52 "scopeStatsEnable": () => config.emit = true,
53 "scopeStatsDisable": () => config.emit = false
54 })..['_dart_'] = scope;
55 }
56
57 _jsDirective(directive) => directive;
OLDNEW
« no previous file with comments | « third_party/pkg/angular/lib/introspection.dart ('k') | third_party/pkg/angular/lib/metadata.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698