From df457fd633d33bdf2a3b5b0e30e9b50bf37f2e1e Mon Sep 17 00:00:00 2001 From: Jorge Rocha Gualtieri Date: Thu, 20 Feb 2020 17:20:44 -0300 Subject: [PATCH] fix for cyclical load errors --- .../src/lib/services/account-config.service.ts | 3 +-- .../packages/core/src/lib/services/rest.service.ts | 8 ++++++-- .../src/lib/services/identity-config.service.ts | 2 +- .../src/lib/services/setting-management-config.service.ts | 6 +++--- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/npm/ng-packs/packages/account-config/src/lib/services/account-config.service.ts b/npm/ng-packs/packages/account-config/src/lib/services/account-config.service.ts index 8932c80670..f3dacbb8c1 100644 --- a/npm/ng-packs/packages/account-config/src/lib/services/account-config.service.ts +++ b/npm/ng-packs/packages/account-config/src/lib/services/account-config.service.ts @@ -1,12 +1,11 @@ import { eLayoutType, RestService, addAbpRoutes } from '@abp/ng.core'; import { Injectable } from '@angular/core'; -import { Router } from '@angular/router'; @Injectable({ providedIn: 'root', }) export class AccountConfigService { - constructor(private router: Router, private restService: RestService) { + constructor(private restService: RestService) { addAbpRoutes({ name: 'AbpAccount::Menu:Account', path: 'account', diff --git a/npm/ng-packs/packages/core/src/lib/services/rest.service.ts b/npm/ng-packs/packages/core/src/lib/services/rest.service.ts index 0ad32ba010..683dc342cb 100644 --- a/npm/ng-packs/packages/core/src/lib/services/rest.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/rest.service.ts @@ -1,5 +1,5 @@ import { HttpClient, HttpRequest } from '@angular/common/http'; -import { Injectable } from '@angular/core'; +import { Injectable, Injector } from '@angular/core'; import { Store } from '@ngxs/store'; import { Observable, throwError } from 'rxjs'; import { catchError, take, tap } from 'rxjs/operators'; @@ -11,7 +11,11 @@ import { ConfigState } from '../states/config.state'; providedIn: 'root', }) export class RestService { - constructor(private http: HttpClient, private store: Store) {} + constructor(private injector: Injector, private http: HttpClient) {} + + private get store(): Store { + return this.injector.get(Store); + } handleError(err: any): Observable { this.store.dispatch(new RestOccurError(err)); diff --git a/npm/ng-packs/packages/identity-config/src/lib/services/identity-config.service.ts b/npm/ng-packs/packages/identity-config/src/lib/services/identity-config.service.ts index 47a36bba9d..42dd97503f 100644 --- a/npm/ng-packs/packages/identity-config/src/lib/services/identity-config.service.ts +++ b/npm/ng-packs/packages/identity-config/src/lib/services/identity-config.service.ts @@ -7,7 +7,7 @@ import { Observable } from 'rxjs'; providedIn: 'root', }) export class IdentityConfigService { - constructor(private router: Router, private restService: RestService) { + constructor(private restService: RestService) { addAbpRoutes([ { name: 'AbpUiNavigation::Menu:Administration', diff --git a/npm/ng-packs/packages/setting-management-config/src/lib/services/setting-management-config.service.ts b/npm/ng-packs/packages/setting-management-config/src/lib/services/setting-management-config.service.ts index bc1dc78da3..1b58b00cab 100644 --- a/npm/ng-packs/packages/setting-management-config/src/lib/services/setting-management-config.service.ts +++ b/npm/ng-packs/packages/setting-management-config/src/lib/services/setting-management-config.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@angular/core'; +import { Injectable, Injector } from '@angular/core'; import { addAbpRoutes, eLayoutType, PatchRouteByName, ABP } from '@abp/ng.core'; import { getSettingTabs } from '@abp/ng.theme.shared'; import { Store } from '@ngxs/store'; @@ -7,7 +7,7 @@ import { Store } from '@ngxs/store'; providedIn: 'root', }) export class SettingManagementConfigService { - constructor(private store: Store) { + constructor(private injector: Injector) { const route = { name: 'AbpSettingManagement::Settings', path: 'setting-management', @@ -23,7 +23,7 @@ export class SettingManagementConfigService { setTimeout(() => { const tabs = getSettingTabs(); if (!tabs || !tabs.length) { - this.store.dispatch(new PatchRouteByName('AbpSettingManagement::Settings', { ...route, invisible: true })); + this.injector.get(Store).dispatch(new PatchRouteByName('AbpSettingManagement::Settings', { ...route, invisible: true })); } }); }