LP1991103: Display a count of record notes in the staff catalog tab To test: 1. Apply this patch. 2. Open a record in the staff catalog. 3. Add some record notes. Note that the tab updates with the number of record notes on the record. 4. Delete some record notes. Note that the tab still updates accordingly. 5. Leave and come back to the record. Note that the number still persists in that tab. Release-Note: Show the total number of record notes in the Record Note tab in the staff catalog. Sponsored-by: PaILS Signed-off-by: Jane Sandberg <sandbergja@gmail.com> Signed-off-by: Elizabeth Davis <elizabeth.davis@sparkpa.org> Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
LP1850473: manual and automated eslint fixes Automatic fixes from `npm run lint -- --fix` Signed-off-by: Jane Sandberg <js7389@princeton.edu> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
LP2039483 Subheadings for staff catalog record page Adds headings level 2, 3, and 4 to the staff catalog's individual record page to facilitate better in-page navigation for screen reader users. Styles have been added to negate the font styles usually applied to headings, so the page is visually unchanged. Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Ruth Davis <rfrasur@library.in.gov> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
LP1991294 Staff NoveList Select Added Content tab Adds a new tab, Added Content, to the staff catalog record view to display content from NoveList Select. If added content is available for the current record, the tab name will include a gold star; otherwise the tab indicates "No Added Content" with an empty star outline. This general framework can be used to support other added content services in the future. Because NoveList Select depends on an external JavaScript file to load its data, this update includes a new script loading service and a script store containing the names and paths of scripts that may be loaded into the Angular interfaces. In addition to the NoveList Select script provided by EBSCO, there is a helper script to insert it into the Added Content tab panel and adjust the progress, success, and error messages (both visible and ARIA live regions). New OU settings are provided for the NoveList Select staff credentials (which are passed as URL parameters to the external script) and and a new Library Setting that can be used to override the script store's URL in case of future breaking changes to the service. Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
lp1959010 toward Staff View tab * make our Staff View tab with the new BibStaffView widget * seed our BibStaffView with BibSummary * first attempt at changing some identifiers with our seed code * experimenting with layout and stripping courses functionality * simplifying the layout for now and adding display fields * moar data * layout tweaks and propagate metabib attributes for Formats and Editions * don't cross the streams with metabib related * field names for the record and metabib variants of the catalog_summary call. This would otherwise break some links in search results involving bibs with metarecords. * hyperlinks for the formats and editions in the catalog staff view * fix catalog_summary vs catalog_summary.staff bug * searchOrg depth was being passed where a boolean was expected * This seems like a failure of TypeScript to detect.. type. What was going on here? * layout and css tweaking * fixing toc and relocating it and some other fields to column 1 * label fix Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org> Signed-off-by: Mary Llewellyn <mllewell@biblio.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
LP1948693 Migrate from NgbTabset to ngbNav Updates the deprecated NgbTabset components to ngbNav and adds directive for keyboard navigation. See https://gist.github.com/stephanieleary/800b9f2b1d9c08cc66d694daaa1788b9 for a quick guide to the markup changes involved. Screens to test: 1. /staff/acq/provider, right click an existing provider to show details tabs 2. /staff/admin/local/negative-balances 3. /staff/admin/local/action/survey, edit an existing survey, test Edit Survey and Q&A tabs 4. /staff/admin/server/actor/org_unit, note that Addresses tab has a second set of tabs underneath 5. /staff/admin/server/actor/org_unit_type, note that eg-tree has also changed here 6. /staff/admin/server/permission/grp_tree, choose a group to see tabs 7. /staff/admin/server/config/print_template 8. /staff/booking/create_reservation 9. /staff/booking/manage_reservations, filter reservations section 10. /staff/booking/return 11. /staff/cat/authority/browse 12. /staff/cat/vandelay/import and all import/export tabs 13. /staff/cat/bucket/record/view 14. /staff/catalog/search 15. /staff/circ/holds/pull-list, right click a hold, choose Show Hold Details, the tabs are at the bottom of the screen Test plan: Note that you cannot navigate tabbed interfaces using the tab key on your keyboard. Apply the patch, then visit the screens listed above. You should be able to use the tab key to move sequentially through all the tabs. Pressing Enter on an inactive tab should make it active, just as clicking it would. You should not be able to click or press Enter to activate a disabled tab. You should be able to move from the last tab in the list into the first focusable element in the active tab's content panel. If you spot a tab content panel that doesn't contain a focusable element (i.e. links or inputs), let me know; we have to set its tabindex attribute manually. If a tab panel contains a second set of tabs, these should work as well. Note on ARIA and roles: Note that neither Bootstrap 5 nor ng-bootstrap are currently following the ARIA Authoring Practices Guide for tabs with manual activation (the recommended pattern for tab panels with complicated content, like form inputs or data tables), which does not recommend sequential movement: https://www.w3.org/WAI/ARIA/apg/example-index/tabs/tabs-manual.html. Therefore, we aren't following this pattern either. We can revisit this and/or take it up with Bootstrap. For now, running axe DevTools on any screen with navs will show ARIA role errors on role="tab" attributes. We are using ng-bootstrap's default ARIA roles for tabs, but they are incorrect. I am trying to get traction on a pull request to change the problem in ng-bootstrap, but in the meantime, we are not using the automatic [roles] directive. Role attributes have been set explicitly on all tabs and their containing elements. Note on eg-tree CSS: In the Org Unit Type screens, there was previously some inline CSS related to eg-tree that was causing compiler errors. I have moved this to a separate CSS file, and will revisit eg-tree styles more generally in another upcoming project. Signed-off-by: Stephanie Leary <stephanie.leary@equinoxOLI.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
LP1907286 Staff catalog sets last retrieved record Navigating to the detail page for a bib record in the Angular Staff Catalog now correctly sets the value for the 'eg.cat.last_record_retrieved' local storage item, allowing Retrieve Last Bib Record to work as expected. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP1889694 Staff catalog record summary API Replaces a number of result page and record detail page API calls with a bespoke API specifically created to return the data required for display bib and metabib record summary information in the catalog. Specifically, a single streaming API this replaces the following: * fleshed record retrieval ** including record display fields and attributes processing. * copy count retrieval * hold count retrieval The end result is 22 API calls per results page replaced with 2. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP1878079 Staffcat Add Holdings action support Teaches the staff catalog Add Holdings button to open the holdings editor using the appropriate parameters. If the holdings maintenance grid is active, arguments to pass are based on the grid selection. Otherwise it simply open the item editor with a single call number / copy to be created 'here'. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP1860044 Angular catalog search result highlights Support search field highlighting in the Angular staff catalog search result and record detail pages. Adds a new <eg-bib-display-field /> component for rendering the highlighted content. Move the catalog-common module import into the staff common module so the bib-summary component has access to the new display-field component. Drop the default search result page size to 10 for consistency with other catalogs (and to speed up rendering). Note users can still set the page size of their choice via user settings. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
LP1859706 Map Angular cat "Patron View" to AngJS "OPAC View" The Angular catalog now treats the "Patron View" tab as the same as the "OPAC View" tab in the AngJS catalog for the purposes of saving a preferred default tab. Similarly, the Angular catalog-only "Item Table" tab maps to the AngJS "OPAC View" tab, since it's the closest analog. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Ruth Frasur <rfrasur@gmail.com>
LP1852782 MARC editor prevent navigation with changes Show a confirmation dialog when the user attempts to navigate away from the MARC edit tab in the catalog if the MARC editor has pending changes. The dialog will be shown if the user attempts to change tabs or navigate away from the record detail page w/in Angular. If the user unloads / reloads the page, the stock browser onbeforeunload confirmation dialog will be displayed instead. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP1830973 Angular 8 updates Update package.json versions and perform the angular 7 to angular 8 migration steps. Update some configs to match supported options in newer versions of typescript and tslint. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
LP1834665 Angular catalog MARC flat text editor Adds a set of components for editing MARC records. The main component acts as a container with various actions (source selector, delete, undelete, and save options). The body of this component is a tabbed interface, one tab for the Enriched editor and one for the Flat Text editor. The Enriched editor tab directs the user to the AngJS version of the page. the Flat Text editor tab implements the standard MARC flat text editor interface. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP1818288 Ang staff catalog record detail holds tab/actions Adds support for the Holds tab in the record detail view of the Angular staff catalog. Includes grid and hold-related actions. * Holds grid built from the new wide-holds API. * batch cancel holds * batch retarget holds * batch edit holds ** Unified form to modify notify options, dates, etc. * hold detail page (menu and row double-click) * batch mark items damaged * batch mark items missing * show last few circulations * retrieve patron * support for indented menu groups a la angjs grids for grouping the hold actions menu. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
LP1806087 Ang catalog pending tabs offer manual redirect Instead of sending users to the AngJS versions of not-yet-implemented tabs from the Angular catalog, show a message indicating the tab is not yet implemented and offer a link to open the requested record tab in a new browser tab. This better clarifies what is happening and helps to avoid situations where the back-button is confusingly hijacked via intermediate redirect. We now also open the "View" link for copies in a new tab as well for consistency with the modified "Edit" link. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
LP1806087 Angular catalog Ang7 & lint repairs Update rxjs imports to work with Angular7. Add ng-lint repairs. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
LP1806087 Angular staff catalog phase II. * Record detail tabs redirect to AngJS catalog where needed. * Initial holds placement UI. * Record baskets, actions, and UI. * Ported MonographParts tab to Angular * Set default catalog tab * Browse * MARC search * Identifier search * pub date filter * Record detail 'View in Catalog' button * Group formats and editions Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
LP#1775466 Angular(6) base application Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>