path: 'splash',
component: AdminAcqSplashComponent
}, {
+ path: 'edi_account',
+ component: BasicAdminPageComponent,
+ data: [{
+ schema: 'acq',
+ table: 'edi_account',
+ fieldOrder: 'id,label,provider,owner,account,vendacct,vendcode,last_activity,host,username,password,path,in_dir,use_attrs,attr_set',
+ readonlyFields: 'last_activity'
+ }]
+}, {
path: ':table',
component: BasicAdminPageComponent,
// All ACQ admin pages cover data in the acq.* schema. No need to
</eg-staff-banner>
<eg-admin-page persistKeyPfx="{{persistKeyPfx}}" idlClass="{{idlClass}}"
configLinkBasePath="{{configLinkBasePath}}"
+ fieldOrder="{{fieldOrder}}"
readonlyFields="{{readonlyFields}}"
[disableOrgFilter]="disableOrgFilter"></eg-admin-page>
</ng-container>
idlClass: string;
classLabel: string;
persistKeyPfx: string;
+ fieldOrder = '';
readonlyFields = '';
configLinkBasePath = '/staff/admin';
this.table = data['table'];
}
this.disableOrgFilter = data['disableOrgFilter'];
+ this.fieldOrder = data['fieldOrder'];
this.readonlyFields = data['readonlyFields'];
}
path: 'actor/address_alert',
component: AddressAlertComponent
}, {
+ path: 'asset/copy_location',
+ component: BasicAdminPageComponent,
+ data: [{
+ schema: 'asset',
+ table: 'copy_location',
+ fieldOrder: 'owning_lib,name,opac_visible,circulate,holdable,hold_verify,checkin_alert,deleted,label_prefix,label_suffix,url,id'}]
+}, {
path: 'container/carousel',
component: AdminCarouselComponent
}, {
loadChildren: () =>
import('./floating-group/floating-group.module').then(m => m.FloatingGroupModule)
}, {
+ path: 'config/hard_due_date',
+ component: BasicAdminPageComponent,
+ data: [{
+ schema: 'config',
+ table: 'hard_due_date',
+ fieldOrder: 'name,owner,ceiling_date,forceto'
+ }]
+}, {
path: 'config/print_template',
component: PrintTemplateComponent
}, {
+ path: 'config/z3950_source',
+ component: BasicAdminPageComponent,
+ data: [{
+ schema: 'config',
+ table: 'z3950_source',
+ fieldOrder: 'name,label,host,port,db,record_format,transmission_format,auth,use_perm'
+ }]
+}, {
path: 'permission/grp_tree',
component: PermGroupTreeComponent
}, {
import {Component} from '@angular/core';
@Component({
- template: `<eg-admin-page idlClass="vmp"></eg-admin-page>`
+ template: `<eg-admin-page idlClass="vmp"
+ fieldOrder="name,owner,add_spec,replace_spec,strip_spec,preserve_spec,lwm_ratio,update_bib_source,id">
+ </eg-admin-page>`
})
export class MergeProfilesComponent {
constructor() {}
</eg-grid>
<eg-fm-record-editor #editDialog idlClass="{{idlClass}}"
- [fieldOptions]="fieldOptions" [defaultNewRecord]="defaultNewRecord"
- [preloadLinkedValues]="true" readonlyFields="{{readonlyFields}}">
+ [fieldOptions]="fieldOptions"
+ [fieldOrder]="fieldOrder"
+ [defaultNewRecord]="defaultNewRecord"
+ [preloadLinkedValues]="true"
+ [readonlyFields]="readonlyFields">
</eg-fm-record-editor>
// Size of create/edito dialog. Uses large by default.
@Input() dialogSize: 'sm' | 'lg' = 'lg';
+ // Optional comma-separated list of field names defining the order in which
+ // fields should be rendered in the fm-editor and grid.
+ @Input() fieldOrder: string;
+
// comma-separated list of fields to hide.
// This does not imply all other fields should be visible, only that
// the selected fields will be hidden.