Working branch user/jeffdavis/lp1847800-secondary-admin-pages-1-continued has my attempts to add config_field links to some other admin pages identified in this bug. The links work, but in several cases, when trying to add a new entry on the secondary page, fm-editor fails to load.
Example 1: Server Admin > MARC Import Remove Fields > Fields > New Import/Overlay Fields for Removal fails with the following console error:
core.js:6014 ERROR Error: Uncaught (in promise): TypeError: item[selector] is not a function
TypeError: item[selector] is not a function
at fm-editor.component.ts:422
at Array.map (<anonymous>)
at FmRecordEditorComponent.flattenLinkedValues (fm-editor.component.ts:421)
at fm-editor.component.ts:560
at ZoneDelegate.invoke (zone-evergreen.js:365)
at Object.onInvoke (core.js:39698)
at ZoneDelegate.invoke (zone-evergreen.js:364)
at Zone.run (zone-evergreen.js:124)
at zone-evergreen.js:851
at ZoneDelegate.invokeTask (zone-evergreen.js:400)
at resolvePromise (zone-evergreen.js:793)
at resolvePromise (zone-evergreen.js:752)
at zone-evergreen.js:854
at ZoneDelegate.invokeTask (zone-evergreen.js:400)
at Object.onInvokeTask (core.js:39679)
at ZoneDelegate.invokeTask (zone-evergreen.js:399)
at Zone.runTask (zone-evergreen.js:168)
at drainMicroTaskQueue (zone-evergreen.js:570)
at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:485)
at invokeTask (zone-evergreen.js:1596)
Example 2: Server Admin > Authority Control Sets > Controlling Authority Fields > New Authority Control Set Authority Field fails with a slightly different console error:
core.js:6014 ERROR TypeError: Cannot read property 'pkey' of undefined
at PcrudContext.retrieveAll (pcrud.service.ts:157)
at PcrudService.retrieveAll (pcrud.service.ts:343)
at FmRecordEditorComponent.wireUpCombobox (fm-editor.component.ts:557)
at FmRecordEditorComponent.constructOneField (fm-editor.component.ts:518)
at fm-editor.component.ts:433
at Array.map (<anonymous>)
at FmRecordEditorComponent.getFieldList (fm-editor.component.ts:433)
at FmRecordEditorComponent.initRecord (fm-editor.component.ts:374)
at fm-editor.component.ts:260
at SafeSubscriber.schedulerFn [as _next] (core.js:35378)
There are also a couple of minor usability issues:
- Pages should indicate when gridFilters are applied, so that it's clear to the user that you're looking at a specific subset of entries. For example, the old hard due date UI had a header which read "Showing only hard due date values related to hard due date object X".
- When creating a new entry from a page where gridFilters are applied, it would be nice if fm-editor pre-selected values based on those filters. For example, if you go to Server Admin > Z39.50 Servers, click the Attrs link for oclc, and then click "New Z39.50 Attribute", the fm-editor dialog should automatically select "oclc" as the Z39.50 Source.
I intend to keep poking at this, but if anyone else wants to take a look in the meantime, please feel free.
Working branch user/jeffdavis/ lp1847800- secondary- admin-pages- 1-continued has my attempts to add config_field links to some other admin pages identified in this bug. The links work, but in several cases, when trying to add a new entry on the secondary page, fm-editor fails to load.
Example 1: Server Admin > MARC Import Remove Fields > Fields > New Import/Overlay Fields for Removal fails with the following console error:
core.js:6014 ERROR Error: Uncaught (in promise): TypeError: item[selector] is not a function component. ts:422 omponent. flattenLinkedVa lues (fm-editor. component. ts:421) component. ts:560 .js:365) .js:364) .js:124) js:851 invokeTask (zone-evergreen .js:400) .js:793) .js:752) js:854 invokeTask (zone-evergreen .js:400) invokeTask (zone-evergreen .js:399) .js:168) .js:570) .js:485) .js:1596)
TypeError: item[selector] is not a function
at fm-editor.
at Array.map (<anonymous>)
at FmRecordEditorC
at fm-editor.
at ZoneDelegate.invoke (zone-evergreen
at Object.onInvoke (core.js:39698)
at ZoneDelegate.invoke (zone-evergreen
at Zone.run (zone-evergreen
at zone-evergreen.
at ZoneDelegate.
at resolvePromise (zone-evergreen
at resolvePromise (zone-evergreen
at zone-evergreen.
at ZoneDelegate.
at Object.onInvokeTask (core.js:39679)
at ZoneDelegate.
at Zone.runTask (zone-evergreen
at drainMicroTaskQueue (zone-evergreen
at ZoneTask.invokeTask [as invoke] (zone-evergreen
at invokeTask (zone-evergreen
Example 2: Server Admin > Authority Control Sets > Controlling Authority Fields > New Authority Control Set Authority Field fails with a slightly different console error:
core.js:6014 ERROR TypeError: Cannot read property 'pkey' of undefined retrieveAll (pcrud. service. ts:157) retrieveAll (pcrud. service. ts:343) omponent. wireUpCombobox (fm-editor. component. ts:557) omponent. constructOneFie ld (fm-editor. component. ts:518) component. ts:433 omponent. getFieldList (fm-editor. component. ts:433) omponent. initRecord (fm-editor. component. ts:374) component. ts:260 schedulerFn [as _next] (core.js:35378)
at PcrudContext.
at PcrudService.
at FmRecordEditorC
at FmRecordEditorC
at fm-editor.
at Array.map (<anonymous>)
at FmRecordEditorC
at FmRecordEditorC
at fm-editor.
at SafeSubscriber.
There are also a couple of minor usability issues:
- Pages should indicate when gridFilters are applied, so that it's clear to the user that you're looking at a specific subset of entries. For example, the old hard due date UI had a header which read "Showing only hard due date values related to hard due date object X".
- When creating a new entry from a page where gridFilters are applied, it would be nice if fm-editor pre-selected values based on those filters. For example, if you go to Server Admin > Z39.50 Servers, click the Attrs link for oclc, and then click "New Z39.50 Attribute", the fm-editor dialog should automatically select "oclc" as the Z39.50 Source.
I intend to keep poking at this, but if anyone else wants to take a look in the meantime, please feel free.