Comment 9 for bug 1847800

Revision history for this message
Jeff Davis (jdavis-sitka) wrote :

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.