LP#1626157 More shared module cleanup
authorBill Erickson <berickxx@gmail.com>
Thu, 5 Apr 2018 15:01:30 +0000 (15:01 +0000)
committerBill Erickson <berickxx@gmail.com>
Thu, 5 Apr 2018 15:01:30 +0000 (15:01 +0000)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/eg2/src/app/app.module.ts
Open-ILS/src/eg2/src/app/common.module.ts
Open-ILS/src/eg2/src/app/core/auth.ts
Open-ILS/src/eg2/src/app/migration.module.ts
Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts
Open-ILS/src/eg2/src/app/staff/app.module.ts
Open-ILS/src/eg2/src/app/staff/common.module.ts
Open-ILS/src/eg2/src/app/staff/share/staff-banner.component.ts

index 47c2093..8998b01 100644 (file)
@@ -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]
 })
index b64758d..b6c6ff2 100644 (file)
@@ -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
+            ]
+        };
+    }
+}
+
index f6688c2..ab4b133 100644 (file)
@@ -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') : {};
index f6783eb..68fe67a 100644 (file)
@@ -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: []
 })
index 96f8d24..3433695 100644 (file)
@@ -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);
index 3145d2b..dfdd41b 100644 (file)
@@ -15,7 +15,7 @@ import {EgStaffSplashComponent} from './splash.component';
     EgStaffLoginComponent
   ],
   imports: [
-    EgStaffCommonModule,
+    EgStaffCommonModule.forRoot(),
     EgStaffRoutingModule
   ]
 })
index 97a72a3..0f5894c 100644 (file)
@@ -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 */
+            ]
+        };
+    }
+
+}
index b11cadb..3d22b88 100644 (file)
@@ -3,7 +3,7 @@ import {Component, OnInit, Input} from '@angular/core';
 @Component({
   selector: 'eg-staff-banner',
   template: 
-    '<div class="lead alert alert-primary text-center pt-1 pb-1 mb-1" role="alert">' +
+    '<div class="lead alert alert-primary text-center pt-1 pb-1" role="alert">' +
       '<span>{{bannerText}}</span>' +
     '</div>'
 })