LP#1626157 server admin refactor; browse axis config
authorBill Erickson <berickxx@gmail.com>
Mon, 28 May 2018 18:54:53 +0000 (14:54 -0400)
committerBill Erickson <berickxx@gmail.com>
Mon, 28 May 2018 18:54:53 +0000 (14:54 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
12 files changed:
Open-ILS/src/eg2/src/app/staff/admin/basic-admin-page.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/admin/common.module.ts
Open-ILS/src/eg2/src/app/staff/admin/server/admin-server-splash.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/admin-server.module.ts
Open-ILS/src/eg2/src/app/staff/admin/server/config/config.module.ts [deleted file]
Open-ILS/src/eg2/src/app/staff/admin/server/config/copy_status.component.ts [deleted file]
Open-ILS/src/eg2/src/app/staff/admin/server/config/global_flag.component.ts [deleted file]
Open-ILS/src/eg2/src/app/staff/admin/server/config/hold_matrix_weights.component.ts [deleted file]
Open-ILS/src/eg2/src/app/staff/admin/server/config/routing.module.ts [deleted file]
Open-ILS/src/eg2/src/app/staff/admin/server/config/rule_age_hold_protect.component.ts [deleted file]
Open-ILS/src/eg2/src/app/staff/admin/server/config/sms_carrier.component.ts [deleted file]
Open-ILS/src/eg2/src/app/staff/admin/server/routing.module.ts

diff --git a/Open-ILS/src/eg2/src/app/staff/admin/basic-admin-page.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/basic-admin-page.component.ts
new file mode 100644 (file)
index 0000000..5e23ded
--- /dev/null
@@ -0,0 +1,45 @@
+import {Component, OnInit} from '@angular/core';
+import {ActivatedRoute} from '@angular/router';
+import {EgIdlService} from '@eg/core/idl.service';
+
+/**
+ * Generic IDL class editor page.
+ */
+
+@Component({
+    template: `
+      <eg-staff-banner bannerText="{{classLabel}} Configuration" i18n-bannerText>
+      </eg-staff-banner>
+      <eg-admin-page idlClass="{{idlClass}}"></eg-admin-page>
+    `
+})
+
+export class EgBasicAdminPageComponent implements OnInit {
+    idlClass: string;
+    classLabel: string;
+
+    constructor(
+        private route: ActivatedRoute,
+        private idl: EgIdlService
+    ) {
+    }
+
+    ngOnInit() {
+        const schema = this.route.snapshot.paramMap.get('schema');
+        const table = schema + '.' + this.route.snapshot.paramMap.get('table');
+
+        Object.keys(this.idl.classes).forEach(class_ => {
+            const classDef = this.idl.classes[class_];
+            if (classDef.table === table) {
+                this.idlClass = class_;
+                this.classLabel = classDef.label;
+            }
+        });
+
+        if (!this.idlClass) {
+            throw new Error('Unable to find IDL class for table ' + table);
+        }
+    }
+}
+
+
index e23cd70..38e2adc 100644 (file)
@@ -3,12 +3,14 @@ import {EgStaffCommonModule} from '@eg/staff/common.module';
 import {EgLinkTableComponent, EgLinkTableLinkComponent} from '@eg/staff/share/link-table/link-table.component';
 import {EgGridModule} from '@eg/share/grid/grid.module';
 import {EgAdminPageComponent} from '@eg/staff/share/admin-page/admin-page.component';
+import {EgBasicAdminPageComponent} from '@eg/staff/admin/basic-admin-page.component';
 
 @NgModule({
   declarations: [
     EgLinkTableComponent,
     EgLinkTableLinkComponent,
-    EgAdminPageComponent
+    EgAdminPageComponent,
+    EgBasicAdminPageComponent
   ],
   imports: [
     EgStaffCommonModule,
@@ -19,6 +21,7 @@ import {EgAdminPageComponent} from '@eg/staff/share/admin-page/admin-page.compon
     EgLinkTableComponent,
     EgLinkTableLinkComponent,
     EgAdminPageComponent,
+    EgBasicAdminPageComponent,
     EgGridModule
   ],
   providers: [
index e469740..d6a0e7d 100644 (file)
@@ -10,7 +10,7 @@
     <eg-link-table-link i18n-label label="Asset Stat Cat Sip Fields"  
       url="/eg/staff/admin/server/config/asset_sip_fields"></eg-link-table-link>
     <eg-link-table-link i18n-label label="Authority Browse Axes"  
-      url="/eg/staff/admin/server/cat/authority/browse_axis"></eg-link-table-link>
+      routerLink="/staff/admin/server/authority/browse_axis"></eg-link-table-link>
     <eg-link-table-link i18n-label label="Authority Control Sets"  
       url="/eg/staff/admin/server/cat/authority/control_set"></eg-link-table-link>
     <eg-link-table-link i18n-label label="Authority Heading Fields"  
@@ -44,7 +44,7 @@
     <eg-link-table-link i18n-label label="Custom Org Unit Trees"  
       url="/eg/staff/admin/server/actor/org_unit_custom_tree"></eg-link-table-link>
     <eg-link-table-link i18n-label label="Floating Groups"  
-      url="/eg/staff/admin/server/config/floating_groups"></eg-link-table-link>
+      routerLink="/staff/admin/server/config/floating_group"></eg-link-table-link>
     <eg-link-table-link i18n-label label="Global Flags"  
       routerLink="/staff/admin/server/config/global_flag"></eg-link-table-link>
     <eg-link-table-link i18n-label label="Hard Due Date Changes"  
index 7af4194..90fb9e6 100644 (file)
@@ -3,10 +3,14 @@ import {EgStaffCommonModule} from '@eg/staff/common.module';
 import {EgAdminServerRoutingModule} from './routing.module';
 import {EgAdminCommonModule} from '@eg/staff/admin/common.module';
 import {AdminServerSplashComponent} from './admin-server-splash.component';
+import {BillingTypeComponent} from './config/billing_type.component';
+import {HardDueDateComponent} from './config/hard_due_date.component';
 
 @NgModule({
   declarations: [
-      AdminServerSplashComponent
+      AdminServerSplashComponent,
+      BillingTypeComponent,
+      HardDueDateComponent
   ],
   imports: [
     EgAdminCommonModule,
diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/config/config.module.ts b/Open-ILS/src/eg2/src/app/staff/admin/server/config/config.module.ts
deleted file mode 100644 (file)
index 0ccaa5a..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-import {NgModule} from '@angular/core';
-import {EgAdminCommonModule} from '@eg/staff/admin/common.module';
-import {EgAdminServerConfigRoutingModule} from './routing.module';
-import {BillingTypeComponent} from './billing_type.component';
-import {HardDueDateComponent} from './hard_due_date.component';
-import {SmsCarrierComponent} from './sms_carrier.component';
-import {HoldMatrixWeightsComponent} from './hold_matrix_weights.component';
-import {CopyStatusComponent} from './copy_status.component';
-import {GlobalFlagComponent} from './global_flag.component';
-import {RuleAgeHoldProtectComponent} from './rule_age_hold_protect.component';
-
-@NgModule({
-  declarations: [
-      BillingTypeComponent,
-      HardDueDateComponent,
-      SmsCarrierComponent,
-      HoldMatrixWeightsComponent,
-      CopyStatusComponent,
-      GlobalFlagComponent,
-      RuleAgeHoldProtectComponent
-  ],
-  imports: [
-    EgAdminCommonModule,
-    EgAdminServerConfigRoutingModule
-  ],
-  providers: [
-  ]
-})
-
-export class EgAdminServerConfigModule {
-}
-
-
diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/config/copy_status.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/server/config/copy_status.component.ts
deleted file mode 100644 (file)
index 9291185..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-import {Component, OnInit} from '@angular/core';
-
-@Component({
-    template: `
-      <eg-staff-banner bannerText="Copy Status Configuration" i18n-bannerText>
-      </eg-staff-banner>
-      <eg-admin-page idlClass="ccs" sortField="name" dialogSize='lg'>
-      </eg-admin-page>
-    `
-})
-
-export class CopyStatusComponent {}
-
-
diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/config/global_flag.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/server/config/global_flag.component.ts
deleted file mode 100644 (file)
index 0bf290a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-import {Component, OnInit} from '@angular/core';
-
-@Component({
-    template: `
-      <eg-staff-banner bannerText="Global Flag Configuration" i18n-bannerText>
-      </eg-staff-banner>
-      <eg-admin-page idlClass="cgf" sortField="label">
-      </eg-admin-page>
-    `
-})
-
-export class GlobalFlagComponent {}
-
-
diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/config/hold_matrix_weights.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/server/config/hold_matrix_weights.component.ts
deleted file mode 100644 (file)
index bee077f..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-import {Component, OnInit} from '@angular/core';
-
-@Component({
-    template: `
-      <eg-staff-banner bannerText="Hold Matrix Weights Configuration" i18n-bannerText>
-      </eg-staff-banner>
-      <eg-admin-page idlClass="chmw" sortField="name" dialogSize='lg'>
-      </eg-admin-page>
-    `
-})
-
-export class HoldMatrixWeightsComponent {}
-
-
diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/config/routing.module.ts b/Open-ILS/src/eg2/src/app/staff/admin/server/config/routing.module.ts
deleted file mode 100644 (file)
index b1b2e87..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-import {NgModule} from '@angular/core';
-import {RouterModule, Routes} from '@angular/router';
-import {BillingTypeComponent} from './billing_type.component';
-import {HardDueDateComponent} from './hard_due_date.component';
-import {SmsCarrierComponent} from './sms_carrier.component';
-import {HoldMatrixWeightsComponent} from './hold_matrix_weights.component';
-import {CopyStatusComponent} from './copy_status.component';
-import {GlobalFlagComponent} from './global_flag.component';
-import {RuleAgeHoldProtectComponent} from './rule_age_hold_protect.component';
-
-const routes: Routes = [{
-  path: 'rule_age_hold_protect',
-  component: RuleAgeHoldProtectComponent
-}, {
-  path: 'billing_type',
-  component: BillingTypeComponent
-}, {
-  path: 'copy_status',
-  component: CopyStatusComponent
-}, {
-  path: 'global_flag',
-  component: GlobalFlagComponent
-}, {
-  path: 'hard_due_date',
-  component: HardDueDateComponent
-}, {
-  path: 'sms_carrier',
-  component: SmsCarrierComponent
-}, {
-  path: 'hold_matrix_weights',
-  component: HoldMatrixWeightsComponent
-}];
-
-@NgModule({
-  imports: [RouterModule.forChild(routes)],
-  exports: [RouterModule]
-})
-
-export class EgAdminServerConfigRoutingModule {}
diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/config/rule_age_hold_protect.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/server/config/rule_age_hold_protect.component.ts
deleted file mode 100644 (file)
index 6a3d20d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-import {Component, OnInit} from '@angular/core';
-
-@Component({
-    template: `
-      <eg-staff-banner bannerText="Age Hold Protection Configuration" i18n-bannerText>
-      </eg-staff-banner>
-      <eg-admin-page idlClass="crahp" sortField="name">
-      </eg-admin-page>
-    `
-})
-
-export class RuleAgeHoldProtectComponent {}
-
-
diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/config/sms_carrier.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/server/config/sms_carrier.component.ts
deleted file mode 100644 (file)
index d0ea6ad..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-import {Component, OnInit} from '@angular/core';
-
-@Component({
-    template: `
-      <eg-staff-banner bannerText="SMS Carrier Configuration" i18n-bannerText>
-      </eg-staff-banner>
-      <eg-admin-page idlClass="csc" sortField="name">
-      </eg-admin-page>
-    `
-})
-
-export class SmsCarrierComponent {}
-
-
index 9f9d214..5b78eb2 100644 (file)
@@ -1,16 +1,22 @@
 import {NgModule} from '@angular/core';
 import {RouterModule, Routes} from '@angular/router';
 import {AdminServerSplashComponent} from './admin-server-splash.component';
+import {EgBasicAdminPageComponent} from '@eg/staff/admin/basic-admin-page.component';
+import {BillingTypeComponent} from './config/billing_type.component';
+import {HardDueDateComponent} from './config/hard_due_date.component';
 
 const routes: Routes = [{
     path: 'splash',
     component: AdminServerSplashComponent
 }, {
-    path: 'actor',
-    loadChildren: '@eg/staff/admin/server/actor/actor.module#EgAdminServerActorModule'
+    path: 'config/billing_type',
+    component: BillingTypeComponent
 }, {
-    path: 'config',
-    loadChildren: '@eg/staff/admin/server/config/config.module#EgAdminServerConfigModule'
+    path: 'config/hard_due_date',
+    component: BillingTypeComponent
+}, {
+    path: ':schema/:table',
+    component: EgBasicAdminPageComponent
 }];
 
 @NgModule({