@@ -119,6 +119,12 @@ class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||
// addEventListener misses zones so we use element.on.
|
||||
element.on[event].listen(callback);
|
||||
}
|
||||
Function onAndCancel(EventTarget element, String event, callback(arg)) {
|
||||
// due to https://code.google.com/p/dart/issues/detail?id=17406
|
||||
// addEventListener misses zones so we use element.on.
|
||||
var subscription = element.on[event].listen(callback);
|
||||
return subscription.cancel;
|
||||
}
|
||||
void dispatchEvent(EventTarget el, Event evt) {
|
||||
el.dispatchEvent(evt);
|
||||
}
|
||||
@@ -288,4 +294,13 @@ class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||
int keyCode = event.keyCode;
|
||||
return _keyCodeToKeyMap.containsKey(keyCode) ? _keyCodeToKeyMap[keyCode] : 'Unidentified';
|
||||
}
|
||||
getGlobalEventTarget(String target) {
|
||||
if (target == "window") {
|
||||
return window;
|
||||
} else if (target == "document") {
|
||||
return document;
|
||||
} else if (target == "body") {
|
||||
return document.body;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,6 +73,12 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||
on(el, evt, listener) {
|
||||
el.addEventListener(evt, listener, false);
|
||||
}
|
||||
onAndCancel(el, evt, listener): Function {
|
||||
el.addEventListener(evt, listener, false);
|
||||
//Needed to follow Dart's subscription semantic, until fix of
|
||||
//https://code.google.com/p/dart/issues/detail?id=17406
|
||||
return () => {el.removeEventListener(evt, listener, false);};
|
||||
}
|
||||
dispatchEvent(el, evt) {
|
||||
el.dispatchEvent(evt);
|
||||
}
|
||||
@@ -353,4 +359,13 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||
}
|
||||
return key;
|
||||
}
|
||||
getGlobalEventTarget(target:string) {
|
||||
if (target == "window") {
|
||||
return window;
|
||||
} else if (target == "document") {
|
||||
return document;
|
||||
} else if (target == "body") {
|
||||
return document.body;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -39,6 +39,9 @@ export class DomAdapter {
|
||||
on(el, evt, listener) {
|
||||
throw _abstract();
|
||||
}
|
||||
onAndCancel(el, evt, listener): Function {
|
||||
throw _abstract();
|
||||
}
|
||||
dispatchEvent(el, evt) {
|
||||
throw _abstract();
|
||||
}
|
||||
@@ -273,4 +276,7 @@ export class DomAdapter {
|
||||
supportsNativeShadowDOM(): boolean {
|
||||
throw _abstract();
|
||||
}
|
||||
getGlobalEventTarget(target:string) {
|
||||
throw _abstract();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,9 @@ class Html5LibDomAdapter implements DomAdapter {
|
||||
on(el, evt, listener) {
|
||||
throw 'not implemented';
|
||||
}
|
||||
Function onAndCancel(el, evt, listener) {
|
||||
throw 'not implemented';
|
||||
}
|
||||
dispatchEvent(el, evt) {
|
||||
throw 'not implemented';
|
||||
}
|
||||
|
||||
@@ -86,6 +86,9 @@ export class Parse5DomAdapter extends DomAdapter {
|
||||
on(el, evt, listener) {
|
||||
//Do nothing, in order to not break forms integration tests
|
||||
}
|
||||
onAndCancel(el, evt, listener): Function {
|
||||
//Do nothing, in order to not break forms integration tests
|
||||
}
|
||||
dispatchEvent(el, evt) {
|
||||
throw _notImplemented('dispatchEvent');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user