From bbd8cdbb1d1192d3d2fbde89be4a73c19544321b Mon Sep 17 00:00:00 2001 From: ronronscelestes Date: Wed, 22 Jun 2022 12:55:37 +0200 Subject: [PATCH 1/5] fixed bulk move select tree --- .../components/BulkMoveDialog/BulkMoveDialog.js | 14 ++++++++------ .../upload/admin/src/pages/App/MediaLibrary.js | 4 +++- .../admin/src/pages/App/components/BulkActions.js | 9 +++++---- .../src/pages/App/components/BulkMoveButton.js | 15 +++++++++++---- .../core/upload/admin/src/translations/en.json | 1 + 5 files changed, 28 insertions(+), 15 deletions(-) diff --git a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js index cad1d2fb68..46b40ca9d4 100644 --- a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js +++ b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js @@ -22,9 +22,9 @@ import { useBulkMove } from '../../hooks/useBulkMove'; import { getTrad } from '../../utils'; import SelectTree from '../SelectTree'; import { useFolderStructure } from '../../hooks/useFolderStructure'; -import { FolderDefinition, AssetDefinition } from '../../constants'; +import { FolderDefinition, AssetDefinition, FolderParentDefinition } from '../../constants'; -export const BulkMoveDialog = ({ onClose, selected }) => { +export const BulkMoveDialog = ({ onClose, selected, parentFolder }) => { const { formatMessage } = useIntl(); const { data: folderStructure, isLoading } = useFolderStructure(); const { move } = useBulkMove(); @@ -73,7 +73,10 @@ export const BulkMoveDialog = ({ onClose, selected }) => { } const initialFormData = { - destination: folderStructure[0], + destination: { + value: parentFolder?.id || undefined, + label: parentFolder?.name || folderStructure[0].label, + }, }; return ( @@ -148,9 +151,8 @@ export const BulkMoveDialog = ({ onClose, selected }) => { ); }; -BulkMoveDialog.defaultProps = {}; - BulkMoveDialog.propTypes = { - selected: PropTypes.arrayOf(FolderDefinition, AssetDefinition).isRequired, onClose: PropTypes.func.isRequired, + parentFolder: FolderParentDefinition.isRequired, + selected: PropTypes.arrayOf(FolderDefinition, AssetDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/MediaLibrary.js b/packages/core/upload/admin/src/pages/App/MediaLibrary.js index eef3e5b583..c08e7ae257 100644 --- a/packages/core/upload/admin/src/pages/App/MediaLibrary.js +++ b/packages/core/upload/admin/src/pages/App/MediaLibrary.js @@ -199,7 +199,9 @@ export const MediaLibrary = () => { /> - {selected.length > 0 && } + {selected.length > 0 && ( + + )} {isLoading && } diff --git a/packages/core/upload/admin/src/pages/App/components/BulkActions.js b/packages/core/upload/admin/src/pages/App/components/BulkActions.js index db7872278e..3d034bec1b 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkActions.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkActions.js @@ -4,12 +4,12 @@ import { useIntl } from 'react-intl'; import { Stack } from '@strapi/design-system/Stack'; import { Typography } from '@strapi/design-system/Typography'; -import { AssetDefinition, FolderDefinition } from '../../../constants'; +import { AssetDefinition, FolderDefinition, FolderParentDefinition } from '../../../constants'; import getTrad from '../../../utils/getTrad'; import { BulkDeleteButton } from './BulkDeleteButton'; import { BulkMoveButton } from './BulkMoveButton'; -export const BulkActions = ({ selected, onSuccess }) => { +export const BulkActions = ({ selected, onSuccess, parentFolder }) => { const { formatMessage } = useIntl(); return ( @@ -29,12 +29,13 @@ export const BulkActions = ({ selected, onSuccess }) => { - + ); }; BulkActions.propTypes = { - selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, onSuccess: PropTypes.func.isRequired, + parentFolder: FolderParentDefinition.isRequired, + selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js index d96f80c8d4..9496a6c7d4 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js @@ -5,9 +5,9 @@ import { Button } from '@strapi/design-system/Button'; import Folder from '@strapi/icons/Folder'; import { BulkMoveDialog } from '../../../components/BulkMoveDialog'; -import { AssetDefinition, FolderDefinition } from '../../../constants'; +import { AssetDefinition, FolderDefinition, FolderParentDefinition } from '../../../constants'; -export const BulkMoveButton = ({ selected, onSuccess }) => { +export const BulkMoveButton = ({ selected, onSuccess, parentFolder }) => { const { formatMessage } = useIntl(); const [showConfirmDialog, setShowConfirmDialog] = useState(false); @@ -27,12 +27,19 @@ export const BulkMoveButton = ({ selected, onSuccess }) => { {formatMessage({ id: 'global.move', defaultMessage: 'Move' })} - {showConfirmDialog && } + {showConfirmDialog && ( + + )} ); }; BulkMoveButton.propTypes = { - selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, onSuccess: PropTypes.func.isRequired, + parentFolder: FolderParentDefinition.isRequired, + selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/translations/en.json b/packages/core/upload/admin/src/translations/en.json index bd9304e8aa..de4f06322c 100644 --- a/packages/core/upload/admin/src/translations/en.json +++ b/packages/core/upload/admin/src/translations/en.json @@ -67,6 +67,7 @@ "modal.header.pending-assets": "Pending assets", "modal.header.select-files": "Selected files", "modal.header.go-back": "Go back", + "modal.folder.move.title": "Move elements to", "modal.nav.browse": "browse", "modal.nav.computer": "From computer", "modal.nav.selected": "selected", From 487138fd3bb144c193a37a0e35cecce5deaa0e7f Mon Sep 17 00:00:00 2001 From: ronronscelestes Date: Wed, 22 Jun 2022 15:56:41 +0200 Subject: [PATCH 2/5] improved BulkMoveDialog tests --- .../BulkMoveDialog/BulkMoveDialog.js | 6 +- .../tests/BulkMoveDialog.test.js | 86 +++++++++++++++++-- .../src/pages/App/components/BulkActions.js | 6 +- .../pages/App/components/BulkMoveButton.js | 6 +- 4 files changed, 95 insertions(+), 9 deletions(-) diff --git a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js index 46b40ca9d4..dfa5f6afa0 100644 --- a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js +++ b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js @@ -151,8 +151,12 @@ export const BulkMoveDialog = ({ onClose, selected, parentFolder }) => { ); }; +BulkMoveDialog.defaultProps = { + parentFolder: undefined, +}; + BulkMoveDialog.propTypes = { onClose: PropTypes.func.isRequired, - parentFolder: FolderParentDefinition.isRequired, + parentFolder: FolderParentDefinition, selected: PropTypes.arrayOf(FolderDefinition, AssetDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/components/BulkMoveDialog/tests/BulkMoveDialog.test.js b/packages/core/upload/admin/src/components/BulkMoveDialog/tests/BulkMoveDialog.test.js index 3770fa4237..9f17522a9a 100644 --- a/packages/core/upload/admin/src/components/BulkMoveDialog/tests/BulkMoveDialog.test.js +++ b/packages/core/upload/admin/src/components/BulkMoveDialog/tests/BulkMoveDialog.test.js @@ -1,13 +1,25 @@ import React from 'react'; import { ThemeProvider, lightTheme } from '@strapi/design-system'; import { IntlProvider } from 'react-intl'; -import { render } from '@testing-library/react'; +import { render, fireEvent, screen, within, waitFor } from '@testing-library/react'; import { NotificationsProvider } from '@strapi/helper-plugin'; import { QueryClientProvider, QueryClient } from 'react-query'; import { BulkMoveDialog } from '..'; +import { useBulkMove } from '../../../hooks/useBulkMove'; jest.mock('../../../hooks/useFolderStructure'); +jest.mock('../../../hooks/useBulkMove'); + +const FIXTURE_PARENT_FOLDER = { + id: 2, + name: 'default folder name', + updatedAt: '2022-06-21T15:35:36.932Z', + createdAt: '2022-06-21T07:04:49.813Z', + parent: null, + path: '/2', + pathId: 2, +}; const client = new QueryClient({ defaultOptions: { @@ -31,7 +43,7 @@ function ComponentFixture(props) { ); } -function setup(props = { onClose: jest.fn() }) { +function setup(props = { onClose: jest.fn(), selected: [] }) { return render(, { container: document.getElementById('app') }); } @@ -41,10 +53,72 @@ describe('BulkMoveDialog', () => { }); test('renders and matches the snapshot', () => { - setup({ - selected: [], - onClose: jest.fn(), - }); + setup(); expect(document.body).toMatchSnapshot(); }); + + test('closes the modal', () => { + const spy = jest.fn(); + setup({ onClose: spy, selected: [] }); + + fireEvent.click( + screen.getByRole('button', { + name: /close the modal/i, + }) + ); + + expect(spy).toBeCalledTimes(1); + }); + + test('set default form values', () => { + setup({ onClose: jest.fn(), selected: [] }); + + expect(screen.getByText('Media Library')).toBeInTheDocument(); + }); + + test('set default form values with parentFolder', () => { + setup({ parentFolder: FIXTURE_PARENT_FOLDER, onClose: jest.fn(), selected: [] }); + + expect(screen.getByText(FIXTURE_PARENT_FOLDER.name)).toBeInTheDocument(); + }); + + test('keeps move folder dialog open and show error message on API error', async () => { + const FIXTURE_ERROR_MESSAGE = + 'folders cannot be moved inside themselves or one of its children'; + const moveSpy = jest.fn().mockRejectedValueOnce({ + response: { + data: { + error: { + details: { + errors: [ + { + path: ['destination'], + message: FIXTURE_ERROR_MESSAGE, + }, + ], + }, + }, + }, + }, + }); + useBulkMove.mockReturnValueOnce({ + move: moveSpy, + }); + + const { getByText } = setup({ + onClose: jest.fn(), + selected: [], + parentFolder: FIXTURE_PARENT_FOLDER, + }); + + const dialog = screen.getByRole('dialog'); + const submit = within(dialog).getByRole('button', { + name: /move/i, + }); + fireEvent.click(submit); + + await waitFor(() => expect(moveSpy).toBeCalledWith(2, [])); + + expect(getByText(FIXTURE_ERROR_MESSAGE)).toBeInTheDocument(); + }); }); diff --git a/packages/core/upload/admin/src/pages/App/components/BulkActions.js b/packages/core/upload/admin/src/pages/App/components/BulkActions.js index 3d034bec1b..0f38b906a3 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkActions.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkActions.js @@ -34,8 +34,12 @@ export const BulkActions = ({ selected, onSuccess, parentFolder }) => { ); }; +BulkActions.defaultProps = { + parentFolder: undefined, +}; + BulkActions.propTypes = { onSuccess: PropTypes.func.isRequired, - parentFolder: FolderParentDefinition.isRequired, + parentFolder: FolderParentDefinition, selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js index 9496a6c7d4..2cfd1a5093 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js @@ -38,8 +38,12 @@ export const BulkMoveButton = ({ selected, onSuccess, parentFolder }) => { ); }; +BulkMoveButton.defaultProps = { + parentFolder: undefined, +}; + BulkMoveButton.propTypes = { onSuccess: PropTypes.func.isRequired, - parentFolder: FolderParentDefinition.isRequired, + parentFolder: FolderParentDefinition, selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; From 1f5ce11abb35334485afc2842f2e1b1effc4b69f Mon Sep 17 00:00:00 2001 From: ronronscelestes Date: Wed, 22 Jun 2022 16:29:03 +0200 Subject: [PATCH 3/5] moved test to BulkMoveButton --- .../BulkMoveDialog/BulkMoveDialog.js | 8 ++- .../tests/BulkMoveDialog.test.js | 8 ++- .../src/pages/App/components/BulkActions.js | 6 ++- .../pages/App/components/BulkMoveButton.js | 6 ++- .../pages/App/tests/BulkMoveButton.test.js | 51 +++++++++++++++++-- 5 files changed, 65 insertions(+), 14 deletions(-) diff --git a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js index 46b40ca9d4..f57e262aa0 100644 --- a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js +++ b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js @@ -74,7 +74,7 @@ export const BulkMoveDialog = ({ onClose, selected, parentFolder }) => { const initialFormData = { destination: { - value: parentFolder?.id || undefined, + value: parentFolder?.id || '', label: parentFolder?.name || folderStructure[0].label, }, }; @@ -151,8 +151,12 @@ export const BulkMoveDialog = ({ onClose, selected, parentFolder }) => { ); }; +BulkMoveDialog.defaultProps = { + parentFolder: null, +}; + BulkMoveDialog.propTypes = { onClose: PropTypes.func.isRequired, - parentFolder: FolderParentDefinition.isRequired, + parentFolder: FolderParentDefinition, selected: PropTypes.arrayOf(FolderDefinition, AssetDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/components/BulkMoveDialog/tests/BulkMoveDialog.test.js b/packages/core/upload/admin/src/components/BulkMoveDialog/tests/BulkMoveDialog.test.js index 3770fa4237..ad01a655f9 100644 --- a/packages/core/upload/admin/src/components/BulkMoveDialog/tests/BulkMoveDialog.test.js +++ b/packages/core/upload/admin/src/components/BulkMoveDialog/tests/BulkMoveDialog.test.js @@ -8,6 +8,7 @@ import { QueryClientProvider, QueryClient } from 'react-query'; import { BulkMoveDialog } from '..'; jest.mock('../../../hooks/useFolderStructure'); +jest.mock('../../../hooks/useBulkMove'); const client = new QueryClient({ defaultOptions: { @@ -31,7 +32,7 @@ function ComponentFixture(props) { ); } -function setup(props = { onClose: jest.fn() }) { +function setup(props = { onClose: jest.fn(), selected: [] }) { return render(, { container: document.getElementById('app') }); } @@ -41,10 +42,7 @@ describe('BulkMoveDialog', () => { }); test('renders and matches the snapshot', () => { - setup({ - selected: [], - onClose: jest.fn(), - }); + setup(); expect(document.body).toMatchSnapshot(); }); }); diff --git a/packages/core/upload/admin/src/pages/App/components/BulkActions.js b/packages/core/upload/admin/src/pages/App/components/BulkActions.js index 3d034bec1b..88b3ac9d1f 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkActions.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkActions.js @@ -34,8 +34,12 @@ export const BulkActions = ({ selected, onSuccess, parentFolder }) => { ); }; +BulkActions.defaultProps = { + parentFolder: null, +}; + BulkActions.propTypes = { onSuccess: PropTypes.func.isRequired, - parentFolder: FolderParentDefinition.isRequired, + parentFolder: FolderParentDefinition, selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js index 9496a6c7d4..27367808d2 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js @@ -38,8 +38,12 @@ export const BulkMoveButton = ({ selected, onSuccess, parentFolder }) => { ); }; +BulkMoveButton.defaultProps = { + parentFolder: null, +}; + BulkMoveButton.propTypes = { onSuccess: PropTypes.func.isRequired, - parentFolder: FolderParentDefinition.isRequired, + parentFolder: FolderParentDefinition, selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/tests/BulkMoveButton.test.js b/packages/core/upload/admin/src/pages/App/tests/BulkMoveButton.test.js index b1b7183df0..500c2f38ca 100644 --- a/packages/core/upload/admin/src/pages/App/tests/BulkMoveButton.test.js +++ b/packages/core/upload/admin/src/pages/App/tests/BulkMoveButton.test.js @@ -12,6 +12,20 @@ import { useBulkMove } from '../../../hooks/useBulkMove'; jest.mock('../../../hooks/useBulkMove'); jest.mock('../../../hooks/useFolderStructure'); +const FIXTURE_SELECTION = [ + { + type: 'asset', + createdAt: '2022-06-21T07:04:49.813Z', + updatedAt: '2022-06-21T07:04:49.813Z', + pathId: 1, + path: '/1', + files: { count: 0 }, + id: 1, + children: { count: 0 }, + name: 'test', + }, +]; + const setup = ( props = { selected: [], @@ -52,8 +66,6 @@ describe('BulkMoveButton', () => { }); test('opens destination dialog before the API call', async () => { - const FIXTURE_SELECTION = [{ type: 'asset', id: 1 }]; - const onSuccessSpy = jest.fn(); const { getByText } = setup({ onSuccess: onSuccessSpy, @@ -81,12 +93,41 @@ describe('BulkMoveButton', () => { fireEvent.click(submit); }); - await waitFor(() => expect(moveSpy).toBeCalledWith(null, FIXTURE_SELECTION)); + await waitFor(() => expect(moveSpy).toBeCalledWith('', FIXTURE_SELECTION)); await waitFor(() => expect(onSuccessSpy).toBeCalled()); }); + test('set default form values', () => { + const { getByText } = setup({ onClose: jest.fn(), selected: [], onSuccess: jest.fn() }); + + fireEvent.click(getByText('Move')); + + expect(screen.getByText('Media Library')).toBeInTheDocument(); + }); + + test('set default form values with parentFolder', () => { + const FIXTURE_PARENT_FOLDER = { + id: 2, + name: 'default folder name', + updatedAt: '2022-06-21T15:35:36.932Z', + createdAt: '2022-06-21T07:04:49.813Z', + parent: null, + path: '/2', + pathId: 2, + }; + const { getByText } = setup({ + parentFolder: FIXTURE_PARENT_FOLDER, + onClose: jest.fn(), + selected: [], + onSuccess: jest.fn(), + }); + + fireEvent.click(getByText('Move')); + + expect(screen.getByText(FIXTURE_PARENT_FOLDER.name)).toBeInTheDocument(); + }); + test('keeps destination dialog open if the API call errored', async () => { - const FIXTURE_SELECTION = [{ type: 'asset', id: 1 }]; const FIXTURE_ERROR_MESSAGE = 'Failed to move folder'; const onSuccessSpy = jest.fn(); @@ -133,7 +174,7 @@ describe('BulkMoveButton', () => { fireEvent.click(submit); }); - await waitFor(() => expect(moveSpy).toBeCalledWith(null, FIXTURE_SELECTION)); + await waitFor(() => expect(moveSpy).toBeCalledWith('', FIXTURE_SELECTION)); await waitFor(() => expect(onSuccessSpy).not.toBeCalled()); expect(getByText('Move elements to')).toBeInTheDocument(); From 6b652a810286157ccee0e4aca3fe81a7ae03a71c Mon Sep 17 00:00:00 2001 From: ronronscelestes Date: Wed, 22 Jun 2022 17:15:48 +0200 Subject: [PATCH 4/5] updated propTypes --- .../admin/src/components/BulkMoveDialog/BulkMoveDialog.js | 4 ++-- .../core/upload/admin/src/pages/App/components/BulkActions.js | 4 ++-- .../upload/admin/src/pages/App/components/BulkMoveButton.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js index 68e2f5b94d..569280c6f3 100644 --- a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js +++ b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js @@ -22,7 +22,7 @@ import { useBulkMove } from '../../hooks/useBulkMove'; import { getTrad } from '../../utils'; import SelectTree from '../SelectTree'; import { useFolderStructure } from '../../hooks/useFolderStructure'; -import { FolderDefinition, AssetDefinition, FolderParentDefinition } from '../../constants'; +import { FolderDefinition, AssetDefinition } from '../../constants'; export const BulkMoveDialog = ({ onClose, selected, parentFolder }) => { const { formatMessage } = useIntl(); @@ -157,6 +157,6 @@ BulkMoveDialog.defaultProps = { BulkMoveDialog.propTypes = { onClose: PropTypes.func.isRequired, - parentFolder: FolderParentDefinition, + parentFolder: FolderDefinition, selected: PropTypes.arrayOf(FolderDefinition, AssetDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/components/BulkActions.js b/packages/core/upload/admin/src/pages/App/components/BulkActions.js index 0f38b906a3..617b5e967c 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkActions.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkActions.js @@ -4,7 +4,7 @@ import { useIntl } from 'react-intl'; import { Stack } from '@strapi/design-system/Stack'; import { Typography } from '@strapi/design-system/Typography'; -import { AssetDefinition, FolderDefinition, FolderParentDefinition } from '../../../constants'; +import { AssetDefinition, FolderDefinition } from '../../../constants'; import getTrad from '../../../utils/getTrad'; import { BulkDeleteButton } from './BulkDeleteButton'; import { BulkMoveButton } from './BulkMoveButton'; @@ -40,6 +40,6 @@ BulkActions.defaultProps = { BulkActions.propTypes = { onSuccess: PropTypes.func.isRequired, - parentFolder: FolderParentDefinition, + parentFolder: FolderDefinition, selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js index 2cfd1a5093..3c1014706b 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js @@ -5,7 +5,7 @@ import { Button } from '@strapi/design-system/Button'; import Folder from '@strapi/icons/Folder'; import { BulkMoveDialog } from '../../../components/BulkMoveDialog'; -import { AssetDefinition, FolderDefinition, FolderParentDefinition } from '../../../constants'; +import { AssetDefinition, FolderDefinition } from '../../../constants'; export const BulkMoveButton = ({ selected, onSuccess, parentFolder }) => { const { formatMessage } = useIntl(); @@ -44,6 +44,6 @@ BulkMoveButton.defaultProps = { BulkMoveButton.propTypes = { onSuccess: PropTypes.func.isRequired, - parentFolder: FolderParentDefinition, + parentFolder: FolderDefinition, selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; From de3486a3b7fbf1cd32a8484d31662a309817c36f Mon Sep 17 00:00:00 2001 From: ronronscelestes Date: Thu, 23 Jun 2022 16:36:36 +0200 Subject: [PATCH 5/5] feedback - renamed parentFolder to currentFolder --- .../src/components/BulkMoveDialog/BulkMoveDialog.js | 10 +++++----- .../core/upload/admin/src/pages/App/MediaLibrary.js | 2 +- .../admin/src/pages/App/components/BulkActions.js | 8 ++++---- .../admin/src/pages/App/components/BulkMoveButton.js | 8 ++++---- .../admin/src/pages/App/tests/BulkMoveButton.test.js | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js index 569280c6f3..5f8a183f07 100644 --- a/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js +++ b/packages/core/upload/admin/src/components/BulkMoveDialog/BulkMoveDialog.js @@ -24,7 +24,7 @@ import SelectTree from '../SelectTree'; import { useFolderStructure } from '../../hooks/useFolderStructure'; import { FolderDefinition, AssetDefinition } from '../../constants'; -export const BulkMoveDialog = ({ onClose, selected, parentFolder }) => { +export const BulkMoveDialog = ({ onClose, selected, currentFolder }) => { const { formatMessage } = useIntl(); const { data: folderStructure, isLoading } = useFolderStructure(); const { move } = useBulkMove(); @@ -74,8 +74,8 @@ export const BulkMoveDialog = ({ onClose, selected, parentFolder }) => { const initialFormData = { destination: { - value: parentFolder?.id || '', - label: parentFolder?.name || folderStructure[0].label, + value: currentFolder?.id || '', + label: currentFolder?.name || folderStructure[0].label, }, }; @@ -152,11 +152,11 @@ export const BulkMoveDialog = ({ onClose, selected, parentFolder }) => { }; BulkMoveDialog.defaultProps = { - parentFolder: undefined, + currentFolder: undefined, }; BulkMoveDialog.propTypes = { onClose: PropTypes.func.isRequired, - parentFolder: FolderDefinition, + currentFolder: FolderDefinition, selected: PropTypes.arrayOf(FolderDefinition, AssetDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/MediaLibrary.js b/packages/core/upload/admin/src/pages/App/MediaLibrary.js index 233cedf8af..d96dcdcac2 100644 --- a/packages/core/upload/admin/src/pages/App/MediaLibrary.js +++ b/packages/core/upload/admin/src/pages/App/MediaLibrary.js @@ -200,7 +200,7 @@ export const MediaLibrary = () => { {selected.length > 0 && ( - + )} {isLoading && } diff --git a/packages/core/upload/admin/src/pages/App/components/BulkActions.js b/packages/core/upload/admin/src/pages/App/components/BulkActions.js index 617b5e967c..b543f319d5 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkActions.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkActions.js @@ -9,7 +9,7 @@ import getTrad from '../../../utils/getTrad'; import { BulkDeleteButton } from './BulkDeleteButton'; import { BulkMoveButton } from './BulkMoveButton'; -export const BulkActions = ({ selected, onSuccess, parentFolder }) => { +export const BulkActions = ({ selected, onSuccess, currentFolder }) => { const { formatMessage } = useIntl(); return ( @@ -29,17 +29,17 @@ export const BulkActions = ({ selected, onSuccess, parentFolder }) => { - + ); }; BulkActions.defaultProps = { - parentFolder: undefined, + currentFolder: undefined, }; BulkActions.propTypes = { onSuccess: PropTypes.func.isRequired, - parentFolder: FolderDefinition, + currentFolder: FolderDefinition, selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js index 3c1014706b..b6271c01af 100644 --- a/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js +++ b/packages/core/upload/admin/src/pages/App/components/BulkMoveButton.js @@ -7,7 +7,7 @@ import Folder from '@strapi/icons/Folder'; import { BulkMoveDialog } from '../../../components/BulkMoveDialog'; import { AssetDefinition, FolderDefinition } from '../../../constants'; -export const BulkMoveButton = ({ selected, onSuccess, parentFolder }) => { +export const BulkMoveButton = ({ selected, onSuccess, currentFolder }) => { const { formatMessage } = useIntl(); const [showConfirmDialog, setShowConfirmDialog] = useState(false); @@ -29,7 +29,7 @@ export const BulkMoveButton = ({ selected, onSuccess, parentFolder }) => { {showConfirmDialog && ( @@ -39,11 +39,11 @@ export const BulkMoveButton = ({ selected, onSuccess, parentFolder }) => { }; BulkMoveButton.defaultProps = { - parentFolder: undefined, + currentFolder: undefined, }; BulkMoveButton.propTypes = { onSuccess: PropTypes.func.isRequired, - parentFolder: FolderDefinition, + currentFolder: FolderDefinition, selected: PropTypes.arrayOf(AssetDefinition, FolderDefinition).isRequired, }; diff --git a/packages/core/upload/admin/src/pages/App/tests/BulkMoveButton.test.js b/packages/core/upload/admin/src/pages/App/tests/BulkMoveButton.test.js index 500c2f38ca..0079e745b3 100644 --- a/packages/core/upload/admin/src/pages/App/tests/BulkMoveButton.test.js +++ b/packages/core/upload/admin/src/pages/App/tests/BulkMoveButton.test.js @@ -105,7 +105,7 @@ describe('BulkMoveButton', () => { expect(screen.getByText('Media Library')).toBeInTheDocument(); }); - test('set default form values with parentFolder', () => { + test('set default form values with currentFolder', () => { const FIXTURE_PARENT_FOLDER = { id: 2, name: 'default folder name', @@ -116,7 +116,7 @@ describe('BulkMoveButton', () => { pathId: 2, }; const { getByText } = setup({ - parentFolder: FIXTURE_PARENT_FOLDER, + currentFolder: FIXTURE_PARENT_FOLDER, onClose: jest.fn(), selected: [], onSuccess: jest.fn(),