--- /dev/null
+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);
+ }
+ }
+}
+
+
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,
EgLinkTableComponent,
EgLinkTableLinkComponent,
EgAdminPageComponent,
+ EgBasicAdminPageComponent,
EgGridModule
],
providers: [
<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"
<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"
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,
+++ /dev/null
-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 {
-}
-
-
+++ /dev/null
-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 {}
-
-
+++ /dev/null
-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 {}
-
-
+++ /dev/null
-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 {}
-
-
+++ /dev/null
-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 {}
+++ /dev/null
-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 {}
-
-
+++ /dev/null
-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 {}
-
-
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({