From: Bill Erickson Date: Thu, 5 Apr 2018 15:01:30 +0000 (+0000) Subject: LP#1626157 More shared module cleanup X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=adf8f6d3f593a7f81d805cf30bfa2409d62c16ff;p=working%2FEvergreen.git LP#1626157 More shared module cleanup Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/eg2/src/app/app.module.ts b/Open-ILS/src/eg2/src/app/app.module.ts index 47c2093c49..8998b01d73 100644 --- a/Open-ILS/src/eg2/src/app/app.module.ts +++ b/Open-ILS/src/eg2/src/app/app.module.ts @@ -14,37 +14,18 @@ import {EgBaseRoutingModule} from './routing.module'; import {WelcomeComponent} from './welcome.component'; // Import and 'provide' globally required services. -import {EgEventService} from '@eg/core/event'; -import {EgStoreService} from '@eg/core/store'; -import {EgIdlService} from '@eg/core/idl'; -import {EgNetService} from '@eg/core/net'; -import {EgAuthService} from '@eg/core/auth'; -import {EgPermService} from '@eg/core/perm'; -import {EgPcrudService} from '@eg/core/pcrud'; -import {EgOrgService} from '@eg/core/org'; - @NgModule({ declarations: [ EgBaseComponent, WelcomeComponent ], imports: [ - EgCommonModule, + EgCommonModule.forRoot(), EgBaseRoutingModule, BrowserModule, NgbModule.forRoot(), CookieModule.forRoot() ], - providers: [ - EgEventService, - EgStoreService, - EgIdlService, - EgNetService, - EgAuthService, - EgPermService, - EgPcrudService, - EgOrgService - ], exports: [], bootstrap: [EgBaseComponent] }) diff --git a/Open-ILS/src/eg2/src/app/common.module.ts b/Open-ILS/src/eg2/src/app/common.module.ts index b64758dd0b..b6c6ff2310 100644 --- a/Open-ILS/src/eg2/src/app/common.module.ts +++ b/Open-ILS/src/eg2/src/app/common.module.ts @@ -1,14 +1,22 @@ +/** + * Modules, services, and components used by all apps. + */ import {CommonModule} from '@angular/common'; -import {NgModule} from '@angular/core'; +import {NgModule, ModuleWithProviders} from '@angular/core'; import {FormsModule} from '@angular/forms'; import {NgbModule} from '@ng-bootstrap/ng-bootstrap'; + +import {EgEventService} from '@eg/core/event'; +import {EgStoreService} from '@eg/core/store'; +import {EgIdlService} from '@eg/core/idl'; +import {EgNetService} from '@eg/core/net'; +import {EgAuthService} from '@eg/core/auth'; +import {EgPermService} from '@eg/core/perm'; +import {EgPcrudService} from '@eg/core/pcrud'; +import {EgOrgService} from '@eg/core/org'; import {EgOrgSelectComponent} from '@eg/share/org-select.component'; import {EgConfirmDialogComponent} from '@eg/share/confirm-dialog.component'; -/** - * Collection of common modules and components used by all apps. - */ - @NgModule({ declarations: [ EgOrgSelectComponent, @@ -28,4 +36,23 @@ import {EgConfirmDialogComponent} from '@eg/share/confirm-dialog.component'; ] }) -export class EgCommonModule {} +export class EgCommonModule { + /** forRoot() lets us define services that should only be + * instantiated once for all loaded routes */ + static forRoot(): ModuleWithProviders { + return { + ngModule: EgCommonModule, + providers: [ + EgEventService, + EgStoreService, + EgIdlService, + EgNetService, + EgAuthService, + EgPermService, + EgPcrudService, + EgOrgService + ] + }; + } +} + diff --git a/Open-ILS/src/eg2/src/app/core/auth.ts b/Open-ILS/src/eg2/src/app/core/auth.ts index f6688c2f39..ab4b133285 100644 --- a/Open-ILS/src/eg2/src/app/core/auth.ts +++ b/Open-ILS/src/eg2/src/app/core/auth.ts @@ -63,6 +63,8 @@ export class EgAuthService { private store: EgStoreService ) { + console.log("egAuth constructor()"); + // BroadcastChannel is not yet defined in PhantomJS this.authChannel = BroadcastChannel ? new BroadcastChannel('eg.auth') : {}; diff --git a/Open-ILS/src/eg2/src/app/migration.module.ts b/Open-ILS/src/eg2/src/app/migration.module.ts index f6783eb79b..68fe67a073 100644 --- a/Open-ILS/src/eg2/src/app/migration.module.ts +++ b/Open-ILS/src/eg2/src/app/migration.module.ts @@ -21,7 +21,9 @@ import {UpgradeModule, downgradeInjectable, // TODO: string interpolation a la ang1 egStrings titles import {Title} from '@angular/platform-browser'; -// Import and 'provide' globally required Evergreen services. +import {EgCommonModule} from './common.module'; + +// Import service handles so we can downgrade them. import {EgEventService} from '@eg/core/event'; import {EgStoreService} from '@eg/core/store'; import {EgIdlService} from '@eg/core/idl'; @@ -39,17 +41,8 @@ declare var angular: any; UpgradeModule, BrowserModule, NgbModule.forRoot(), - CookieModule.forRoot() - ], - providers: [ - EgEventService, - EgStoreService, - EgIdlService, - EgNetService, - EgAuthService, - EgPermService, - EgPcrudService, - EgOrgService + CookieModule.forRoot(), + EgCommonModule.forRoot() ], exports: [] }) diff --git a/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts b/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts index 96f8d24ab4..34336957de 100644 --- a/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts +++ b/Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts @@ -168,7 +168,8 @@ export class EgCatalogService { return new Promise((resolve, reject) => { this.pcrud.search('ccvm', - {ctype : CATALOG_CCVM_FILTERS}, {}, {atomic: true} + {ctype : CATALOG_CCVM_FILTERS}, {}, + {atomic: true, anonymous: true} ).subscribe(list => { this.compileCcvms(list); resolve(); @@ -199,7 +200,7 @@ export class EgCatalogService { return new Promise((resolve, reject) => { this.pcrud.search('cmf', - {facet_field : 't'}, {}, {atomic : true} + {facet_field : 't'}, {}, {atomic: true, anonymous: true} ).subscribe( cmfs => { cmfs.forEach(c => this.cmfMap[c.id()] = c); diff --git a/Open-ILS/src/eg2/src/app/staff/app.module.ts b/Open-ILS/src/eg2/src/app/staff/app.module.ts index 3145d2b339..dfdd41b512 100644 --- a/Open-ILS/src/eg2/src/app/staff/app.module.ts +++ b/Open-ILS/src/eg2/src/app/staff/app.module.ts @@ -15,7 +15,7 @@ import {EgStaffSplashComponent} from './splash.component'; EgStaffLoginComponent ], imports: [ - EgStaffCommonModule, + EgStaffCommonModule.forRoot(), EgStaffRoutingModule ] }) diff --git a/Open-ILS/src/eg2/src/app/staff/common.module.ts b/Open-ILS/src/eg2/src/app/staff/common.module.ts index 97a72a3222..0f5894c218 100644 --- a/Open-ILS/src/eg2/src/app/staff/common.module.ts +++ b/Open-ILS/src/eg2/src/app/staff/common.module.ts @@ -1,4 +1,4 @@ -import {NgModule} from '@angular/core'; +import {NgModule, ModuleWithProviders} from '@angular/core'; import {EgCommonModule} from '@eg/common.module'; import {EgStaffBannerComponent} from './share/staff-banner.component'; import {EgConfirmDialogComponent} from '@eg/share/confirm-dialog.component'; @@ -20,4 +20,14 @@ import {EgConfirmDialogComponent} from '@eg/share/confirm-dialog.component'; ] }) -export class EgStaffCommonModule {} +export class EgStaffCommonModule { + static forRoot(): ModuleWithProviders { + return { + ngModule: EgStaffCommonModule, + providers: [ + /* placeholder for exporting staff-only services */ + ] + }; + } + +} diff --git a/Open-ILS/src/eg2/src/app/staff/share/staff-banner.component.ts b/Open-ILS/src/eg2/src/app/staff/share/staff-banner.component.ts index b11cadb100..3d22b88d57 100644 --- a/Open-ILS/src/eg2/src/app/staff/share/staff-banner.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/share/staff-banner.component.ts @@ -3,7 +3,7 @@ import {Component, OnInit, Input} from '@angular/core'; @Component({ selector: 'eg-staff-banner', template: - '