feat(dom): add location and history as DOM-like APIs.
Instead of global access methods.
This commit is contained in:
parent
0520ca68b4
commit
f356d03362
|
@ -307,4 +307,10 @@ class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||||
return document.body;
|
return document.body;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
getHistory() {
|
||||||
|
return window.history;
|
||||||
|
}
|
||||||
|
getLocation() {
|
||||||
|
return window.location;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -372,4 +372,10 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||||
return document.body;
|
return document.body;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
getHistory() {
|
||||||
|
return window.history;
|
||||||
|
}
|
||||||
|
getLocation() {
|
||||||
|
return window.location;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -283,4 +283,10 @@ export class DomAdapter {
|
||||||
getGlobalEventTarget(target:string) {
|
getGlobalEventTarget(target:string) {
|
||||||
throw _abstract();
|
throw _abstract();
|
||||||
}
|
}
|
||||||
|
getHistory() {
|
||||||
|
throw _abstract();
|
||||||
|
}
|
||||||
|
getLocation() {
|
||||||
|
throw _abstract();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -281,4 +281,10 @@ class Html5LibDomAdapter implements DomAdapter {
|
||||||
bool supportsNativeShadowDOM() {
|
bool supportsNativeShadowDOM() {
|
||||||
throw 'not implemented';
|
throw 'not implemented';
|
||||||
}
|
}
|
||||||
|
getHistory() {
|
||||||
|
throw 'not implemented';
|
||||||
|
}
|
||||||
|
getLocation() {
|
||||||
|
throw 'not implemented';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,6 +523,12 @@ export class Parse5DomAdapter extends DomAdapter {
|
||||||
return this.defaultDoc().body;
|
return this.defaultDoc().body;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
getHistory() {
|
||||||
|
throw 'not implemented';
|
||||||
|
}
|
||||||
|
getLocation() {
|
||||||
|
throw 'not implemented';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: build a proper list, this one is all the keys of a HTMLInputElement
|
//TODO: build a proper list, this one is all the keys of a HTMLInputElement
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import {global} from 'angular2/src/facade/lang';
|
import {DOM} from 'angular2/src/dom/dom_adapter';
|
||||||
import {EventEmitter, ObservableWrapper} from 'angular2/src/facade/async';
|
import {EventEmitter, ObservableWrapper} from 'angular2/src/facade/async';
|
||||||
|
|
||||||
export class Location {
|
export class Location {
|
||||||
|
@ -7,9 +7,9 @@ export class Location {
|
||||||
_history;
|
_history;
|
||||||
constructor() {
|
constructor() {
|
||||||
this._subject = new EventEmitter();
|
this._subject = new EventEmitter();
|
||||||
this._location = global.location;
|
this._location = DOM.getLocation();
|
||||||
this._history = global.history;
|
this._history = DOM.getHistory();
|
||||||
global.addEventListener('popstate', (_) => this._onPopState(_), false);
|
DOM.getGlobalEventTarget('window').addEventListener('popstate', (_) => this._onPopState(_), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
_onPopState(_) {
|
_onPopState(_) {
|
||||||
|
|
Loading…
Reference in New Issue