2016-01-21 09:58:28 -08:00
|
|
|
import {MessageBasedPlatformLocation} from './platform_location';
|
|
|
|
import {CONST_EXPR} from 'angular2/src/facade/lang';
|
2016-02-09 11:12:41 -08:00
|
|
|
import {BrowserPlatformLocation} from 'angular2/src/router/location/browser_platform_location';
|
2016-01-21 09:58:28 -08:00
|
|
|
import {APP_INITIALIZER, Provider, Injector, NgZone} from 'angular2/core';
|
|
|
|
|
|
|
|
export const WORKER_RENDER_ROUTER = CONST_EXPR([
|
2016-04-07 17:17:50 -07:00
|
|
|
MessageBasedPlatformLocation, BrowserPlatformLocation,
|
|
|
|
CONST_EXPR(new Provider(
|
|
|
|
APP_INITIALIZER,
|
|
|
|
{useFactory: initRouterListeners, multi: true, deps: CONST_EXPR([Injector])}))
|
2016-01-21 09:58:28 -08:00
|
|
|
]);
|
|
|
|
|
|
|
|
function initRouterListeners(injector: Injector): () => void {
|
|
|
|
return () => {
|
|
|
|
let zone = injector.get(NgZone);
|
|
|
|
|
|
|
|
zone.run(() => injector.get(MessageBasedPlatformLocation).start());
|
|
|
|
};
|
|
|
|
}
|