Skip to content

Commit 3120bf1

Browse files
refactor(location): Remove UIRouterLocation class
- Inject LocationStrategy into uiRouterFactory wire up location services/config
1 parent cc8f74b commit 3120bf1

File tree

3 files changed

+7
-28
lines changed

3 files changed

+7
-28
lines changed

src/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,5 @@ export * from "./providers";
1818
export * from "./uiRouterNgModule";
1919
export * from "./uiRouterConfig";
2020
export * from "./directives/directives";
21-
export * from "./location/uiRouterLocation";
2221
export * from "./statebuilders/views";
2322
export * from "./lazyLoad/lazyLoadNgModule";

src/location/uiRouterLocation.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/providers.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,29 +94,29 @@ import { UIView, ParentUIViewInject } from "./directives/uiView";
9494
import { ng2ViewsBuilder, Ng2ViewConfig } from "./statebuilders/views";
9595
import { Ng2ViewDeclaration } from "./interface";
9696
import { applyRootModuleConfig, applyModuleConfig } from "./uiRouterConfig";
97-
import { UIRouterLocation } from "./location/uiRouterLocation";
9897
import { RootModule, StatesModule, UIROUTER_ROOT_MODULE, UIROUTER_MODULE_TOKEN } from "./uiRouterNgModule";
9998
import { servicesPlugin } from "ui-router-core/lib/vanilla";
10099
import { ServicesPlugin } from "ui-router-core/lib/vanilla/interface";
101100
import { ng2LazyLoadBuilder } from "./statebuilders/lazyLoad";
102101
import { UIRouterRx } from "ui-router-rx";
102+
import { LocationStrategy, PlatformLocation } from "@angular/common";
103+
import { Ng2LocationServices } from "./location/locationService";
104+
import { Ng2LocationConfig } from "./location/locationConfig";
103105

104106
/**
105107
* This is a factory function for a UIRouter instance
106108
*
107109
* Creates a UIRouter instance and configures it for Angular 2, then invokes router bootstrap.
108110
* This function is used as an Angular 2 `useFactory` Provider.
109111
*/
110-
export function uiRouterFactory(location: UIRouterLocation, injector: Injector) {
111-
112+
export function uiRouterFactory(locationStrategy: LocationStrategy, platformLocation: PlatformLocation, injector: Injector) {
112113
let rootModules: RootModule[] = injector.get(UIROUTER_ROOT_MODULE);
113114
let modules: StatesModule[] = injector.get(UIROUTER_MODULE_TOKEN);
114115

115116
if (rootModules.length !== 1) {
116117
throw new Error("Exactly one UIRouterModule.forRoot() should be in the bootstrapped app module's imports: []");
117118
}
118119

119-
120120
// ----------------- Create router -----------------
121121
// Create a new ng2 UIRouter and configure it for ng2
122122
let router = new UIRouter();
@@ -134,7 +134,8 @@ export function uiRouterFactory(location: UIRouterLocation, injector: Injector)
134134

135135

136136
// ----------------- Configure for ng2 -------------
137-
location.init(router);
137+
router.locationService = new Ng2LocationServices(router, locationStrategy, platformLocation);
138+
router.locationConfig = new Ng2LocationConfig(router, locationStrategy, platformLocation);
138139

139140
// Apply ng2 ui-view handling code
140141
let viewConfigFactory = (path: PathNode[], config: Ng2ViewDeclaration) => new Ng2ViewConfig(path, config);
@@ -168,8 +169,7 @@ export function uiRouterFactory(location: UIRouterLocation, injector: Injector)
168169
export function parentUIViewInjectFactory(r: StateRegistry) { return { fqn: null, context: r.root() } as ParentUIViewInject; }
169170

170171
export const _UIROUTER_INSTANCE_PROVIDERS: Provider[] = [
171-
{ provide: UIRouter, useFactory: uiRouterFactory, deps: [UIRouterLocation, Injector] },
172-
{ provide: UIRouterLocation, useClass: UIRouterLocation },
172+
{ provide: UIRouter, useFactory: uiRouterFactory, deps: [LocationStrategy, PlatformLocation, Injector] },
173173
{ provide: UIView.PARENT_INJECT, useFactory: parentUIViewInjectFactory, deps: [StateRegistry]},
174174
];
175175

0 commit comments

Comments
 (0)