From 488f322dd8dd8bdcb26e4ee5e0ad1b4a5c74dd30 Mon Sep 17 00:00:00 2001 From: Denys Bohdan Date: Mon, 4 Dec 2023 15:55:58 +0100 Subject: [PATCH 1/2] UIQM-522 Create/Derive a new MARC bib record & Create a MARC holdings | Default state of Save & close button should be disabled. --- CHANGELOG.md | 1 + src/QuickMarcEditor/QuickMarcEditor.js | 10 +++++++--- src/QuickMarcEditor/QuickMarcEditor.test.js | 13 ++++++++++--- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9787bde3..b6ac46c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * [UIQM-573](https://issues.folio.org/browse/UIQM-573) Edit MARC authority | Allow user to Add/Edit 010 $a when linking is based on 001. * [UIQM-574](https://issues.folio.org/browse/UIQM-574) Added authority source file selection button and modal to Authority Create view. * [UIQM-591](https://issues.folio.org/browse/UIQM-591) Show permission `quickMARC: Create a new MARC authority record`. Don't load locations when MARC type is not Holdings. +* [UIQM-522](https://issues.folio.org/browse/UIQM-522) Create/Derive a new MARC bib record & Create a MARC holdings | Default state of Save & close button should be disabled. ## [7.0.4](https://github.com/folio-org/ui-quick-marc/tree/v7.0.4) (2023-11-09) diff --git a/src/QuickMarcEditor/QuickMarcEditor.js b/src/QuickMarcEditor/QuickMarcEditor.js index 55ab771e..138b20d5 100644 --- a/src/QuickMarcEditor/QuickMarcEditor.js +++ b/src/QuickMarcEditor/QuickMarcEditor.js @@ -129,9 +129,13 @@ const QuickMarcEditor = ({ const type = leader?.content?.[6] || ''; const subtype = leader?.content?.[7] || ''; - const saveFormDisabled = action === QUICK_MARC_ACTIONS.EDIT - ? pristine || submitting - : submitting; + const saveFormDisabled = useMemo(() => { + if (submitting) { + return true; + } + + return pristine; + }, [submitting, pristine]); const redirectToVersion = useCallback((updatedVersion) => { const searchParams = new URLSearchParams(location.search); diff --git a/src/QuickMarcEditor/QuickMarcEditor.test.js b/src/QuickMarcEditor/QuickMarcEditor.test.js index 632e31ae..0c082fd2 100644 --- a/src/QuickMarcEditor/QuickMarcEditor.test.js +++ b/src/QuickMarcEditor/QuickMarcEditor.test.js @@ -1,15 +1,14 @@ /* eslint-disable max-lines */ import React from 'react'; +import faker from 'faker'; + import { render, fireEvent, waitFor, } from '@folio/jest-config-stripes/testing-library/react'; -import faker from 'faker'; - import { runAxeTest } from '@folio/stripes-testing'; import { useShowCallout } from '@folio/stripes-acq-components'; - import '@folio/stripes-acq-components/test/jest/__mock__'; import QuickMarcEditor from './QuickMarcEditor'; @@ -184,6 +183,14 @@ describe('Given QuickMarcEditor', () => { expect(getByText('ui-quick-marc.bibliographic-record.create.title')).toBeDefined(); }); + + it('should have Save & Close button disabled by default', () => { + const { getByRole } = renderQuickMarcEditor({ + action: QUICK_MARC_ACTIONS.CREATE, + }); + + expect(getByRole('button', { name: 'stripes-acq-components.FormFooter.save' })).toBeDisabled(); + }); }); it('should display pane footer', () => { From a10f80ae7abc5d317b550616edf7de9786082992 Mon Sep 17 00:00:00 2001 From: Denys Bohdan Date: Tue, 5 Dec 2023 14:44:06 +0100 Subject: [PATCH 2/2] UIQM-522 Changed after code review --- src/QuickMarcEditor/QuickMarcEditor.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/QuickMarcEditor/QuickMarcEditor.js b/src/QuickMarcEditor/QuickMarcEditor.js index 138b20d5..8a75591c 100644 --- a/src/QuickMarcEditor/QuickMarcEditor.js +++ b/src/QuickMarcEditor/QuickMarcEditor.js @@ -129,13 +129,7 @@ const QuickMarcEditor = ({ const type = leader?.content?.[6] || ''; const subtype = leader?.content?.[7] || ''; - const saveFormDisabled = useMemo(() => { - if (submitting) { - return true; - } - - return pristine; - }, [submitting, pristine]); + const saveFormDisabled = submitting ? true : pristine; const redirectToVersion = useCallback((updatedVersion) => { const searchParams = new URLSearchParams(location.search);