url="/eg/staff/admin/server/legacy/permission/grp_tree"></eg-link-table-link>
<eg-link-table-link i18n-label label="Permissions"
routerLink="/staff/admin/server/permission/perm_list"></eg-link-table-link>
+ <!-- Probably should move this to local admin once it's migrated -->
+ <eg-link-table-link i18n-label label="Print Templates"
+ routerLink="/staff/admin/server/config/print_template"></eg-link-table-link>
<eg-link-table-link i18n-label label="Remote Accounts"
routerLink="/staff/admin/server/config/remote_account"></eg-link-table-link>
<eg-link-table-link i18n-label label="SMS Carriers"
import {AdminServerRoutingModule} from './routing.module';
import {AdminCommonModule} from '@eg/staff/admin/common.module';
import {AdminServerSplashComponent} from './admin-server-splash.component';
+import {PrintTemplateComponent} from './print-template.component';
@NgModule({
declarations: [
- AdminServerSplashComponent
+ AdminServerSplashComponent,
+ PrintTemplateComponent
],
imports: [
AdminCommonModule,
--- /dev/null
+import {Component, OnInit, ViewChild, TemplateRef} from '@angular/core';
+import {ActivatedRoute} from '@angular/router';
+import {IdlService} from '@eg/core/idl.service';
+import {FmFieldOptions} from '@eg/share/fm-editor/fm-editor.component';
+
+/**
+ * Generic IDL class editor page.
+ */
+
+@Component({
+ template: `
+ <eg-title i18n-prefix prefix="{{classLabel}} Administration"></eg-title>
+ <ng-template #templateTemplate let-record="record">
+ <textarea class="form-control" rows="20" [ngModel]="record.template()"
+ (ngModelChange)="record.template($event)"></textarea>
+ </ng-template>
+ <eg-staff-banner bannerText="{{classLabel}} Configuration" i18n-bannerText>
+ </eg-staff-banner>
+ <eg-admin-page idlClass="cpt" [fieldOptions]="fieldOptions"></eg-admin-page>
+ `
+})
+
+export class PrintTemplateComponent implements OnInit {
+
+ idlClass: string;
+ classLabel: string;
+ persistKeyPfx: string;
+ fieldOptions: {[field: string]: FmFieldOptions};
+
+ @ViewChild('templateTemplate') templateTemplate: TemplateRef<any>;
+
+ constructor(
+ private route: ActivatedRoute,
+ private idl: IdlService) {}
+
+ ngOnInit() {
+
+ this.fieldOptions = {
+ template: {
+ customTemplate: {
+ template: this.templateTemplate
+ }
+ }
+ };
+
+ this.idlClass = 'cpt';
+ const classDef = this.idl.classes[this.idlClass];
+ this.classLabel = classDef.label;
+ }
+}
+
+
import {RouterModule, Routes} from '@angular/router';
import {AdminServerSplashComponent} from './admin-server-splash.component';
import {BasicAdminPageComponent} from '@eg/staff/admin/basic-admin-page.component';
+import {PrintTemplateComponent} from './print-template.component';
const routes: Routes = [{
path: 'splash',
component: AdminServerSplashComponent
}, {
+ path: 'config/print_template',
+ component: PrintTemplateComponent
+}, {
path: ':schema/:table',
component: BasicAdminPageComponent
}];