@@ -15,11 +15,16 @@ var _elementExpando = new Expando('element');
15
15
* function is not intended to be called from Angular application.
16
16
*/
17
17
ElementProbe ngProbe (dom.Node node) {
18
+ if (node == null ) {
19
+ throw "ngProbe called without node" ;
20
+ }
21
+ var origNode = node;
18
22
while (node != null ) {
19
23
var probe = _elementExpando[node];
20
24
if (probe != null ) return probe;
21
25
node = node.parent;
22
26
}
27
+ throw "Could not find a probe for [$origNode ]" ;
23
28
return null ;
24
29
}
25
30
@@ -76,12 +81,12 @@ List<Object> ngDirectives(dom.Node node) {
76
81
}
77
82
78
83
_publishToJavaScript () {
79
- // Point of style here: cascades require too many ()s, reducing readability.
80
- js.context ['ngProbe' ] = ( dom.Node node) => _jsProbe (ngProbe (node));
81
- js.context ['ngInjector' ] = ( dom.Node node) => _jsInjector (ngInjector (node));
82
- js.context ['ngScope' ] = ( dom.Node node) => _jsScope (ngScope (node));
83
- js.context ['ngQuery' ] = ( dom.Node node, String selector, [String containsText]) =>
84
- new js.JsArray .from (ngQuery (node, selector, containsText));
84
+ js.context
85
+ .. ['ngProbe' ] = new js. JsFunction . withThis ((_, dom.Node node) => _jsProbe (ngProbe (node)))
86
+ .. ['ngInjector' ] = new js. JsFunction . withThis ((_, dom.Node node) => _jsInjector (ngInjector (node)))
87
+ .. ['ngScope' ] = new js. JsFunction . withThis ((_, dom.Node node) => _jsScope (ngScope (node)))
88
+ .. ['ngQuery' ] = new js. JsFunction . withThis ((_, dom.Node node, String selector, [String containsText]) =>
89
+ new js.JsArray .from (ngQuery (node, selector, containsText))) ;
85
90
}
86
91
87
92
js.JsObject _jsProbe (ElementProbe probe) {
0 commit comments