@payloadcms/ui 3.49.0-canary.7 → 3.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/ColumnSelector/index.js +1 -1
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +65 -47
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.scss +10 -0
- package/dist/elements/DeleteMany/index.d.ts +17 -2
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +162 -49
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.scss +13 -0
- package/dist/elements/DocumentControls/index.d.ts +3 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +24 -5
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +4 -2
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.d.ts +4 -0
- package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -0
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.d.ts +1 -0
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +3 -1
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts +2 -0
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +7 -3
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts +7 -2
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +39 -34
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.d.ts +3 -2
- package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +3 -1
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +2 -1
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.d.ts +9 -0
- package/dist/elements/GroupByBuilder/index.d.ts.map +1 -0
- package/dist/elements/GroupByBuilder/index.js +112 -0
- package/dist/elements/GroupByBuilder/index.js.map +1 -0
- package/dist/elements/GroupByBuilder/index.scss +39 -0
- package/dist/elements/LeaveWithoutSaving/index.d.ts +6 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +69 -49
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +28 -4
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +4 -2
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +34 -15
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +9 -3
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts +19 -0
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js +19 -0
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts +7 -0
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +164 -0
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.js +1 -0
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
- package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +10 -0
- package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +1 -0
- package/dist/elements/ListHeaderTabs/ByFolderPill.js +70 -0
- package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +1 -0
- package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +9 -0
- package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +1 -0
- package/dist/elements/ListHeaderTabs/DefaultListPill.js +68 -0
- package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -0
- package/dist/elements/ListHeaderTabs/TrashPill.d.ts +6 -0
- package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +1 -0
- package/dist/elements/ListHeaderTabs/TrashPill.js +53 -0
- package/dist/elements/ListHeaderTabs/TrashPill.js.map +1 -0
- package/dist/elements/{ListFolderPills → ListHeaderTabs}/index.scss +1 -2
- package/dist/elements/ListSelection/index.scss +1 -1
- package/dist/elements/PageControls/GroupByPageControls.d.ts +16 -0
- package/dist/elements/PageControls/GroupByPageControls.d.ts.map +1 -0
- package/dist/elements/PageControls/GroupByPageControls.js +83 -0
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -0
- package/dist/elements/PageControls/index.d.ts +17 -0
- package/dist/elements/PageControls/index.d.ts.map +1 -0
- package/dist/elements/PageControls/index.js +70 -0
- package/dist/elements/PageControls/index.js.map +1 -0
- package/dist/elements/PageControls/index.scss +40 -0
- package/dist/elements/Pagination/ClickableArrow/index.scss +3 -3
- package/dist/elements/Pagination/index.js +1 -1
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/Pagination/index.scss +4 -4
- package/dist/elements/PermanentlyDeleteButton/index.d.ts +14 -0
- package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -0
- package/dist/elements/PermanentlyDeleteButton/index.js +147 -0
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -0
- package/dist/elements/PublishMany/DrawerContent.d.ts +2 -0
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +7 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts +6 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +38 -33
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +1 -0
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +16 -11
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +1 -0
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.d.ts +15 -0
- package/dist/elements/RestoreButton/index.d.ts.map +1 -0
- package/dist/elements/RestoreButton/index.js +171 -0
- package/dist/elements/RestoreButton/index.js.map +1 -0
- package/dist/elements/RestoreButton/index.scss +25 -0
- package/dist/elements/RestoreMany/index.d.ts +9 -0
- package/dist/elements/RestoreMany/index.d.ts.map +1 -0
- package/dist/elements/RestoreMany/index.js +193 -0
- package/dist/elements/RestoreMany/index.js.map +1 -0
- package/dist/elements/RestoreMany/index.scss +25 -0
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +6 -4
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.d.ts +6 -0
- package/dist/elements/StickyToolbar/index.d.ts.map +1 -0
- package/dist/elements/StickyToolbar/index.js +11 -0
- package/dist/elements/StickyToolbar/index.js.map +1 -0
- package/dist/elements/StickyToolbar/index.scss +27 -0
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +10 -8
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts +2 -0
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +4 -3
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/index.d.ts +1 -0
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +5 -4
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.d.ts +4 -0
- package/dist/elements/TrashBanner/index.d.ts.map +1 -0
- package/dist/elements/TrashBanner/index.js +37 -0
- package/dist/elements/TrashBanner/index.js.map +1 -0
- package/dist/elements/TrashBanner/index.scss +20 -0
- package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -0
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +6 -2
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts +6 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +38 -33
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +3 -3
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +2 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +24 -22
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +1 -0
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +2 -0
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Select/Input.d.ts +1 -0
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +48 -45
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +7 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +2 -0
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/icons/Trash/index.d.ts +6 -0
- package/dist/icons/Trash/index.d.ts.map +1 -0
- package/dist/icons/Trash/index.js +22 -0
- package/dist/icons/Trash/index.js.map +1 -0
- package/dist/icons/Trash/index.scss +6 -0
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +6 -0
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +7 -0
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +24 -13
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.js +15 -1
- package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +7 -3
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +6 -2
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +37 -19
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +1 -0
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts +2 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +4 -2
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +3 -2
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +4 -2
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +2 -0
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.js +5 -7
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +29 -19
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/{elements/WhereBuilder/reduceFields.d.ts → utilities/reduceFieldsToOptions.d.ts} +3 -3
- package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -0
- package/dist/{elements/WhereBuilder/reduceFields.js → utilities/reduceFieldsToOptions.js} +11 -11
- package/dist/utilities/reduceFieldsToOptions.js.map +1 -0
- package/dist/utilities/renderTable.d.ts +9 -3
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +63 -22
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.d.ts.map +1 -1
- package/dist/views/CollectionFolder/index.js +15 -5
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +5 -4
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.d.ts +1 -0
- package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +26 -15
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +59 -35
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.d.ts +10 -0
- package/dist/views/List/GroupByHeader/index.d.ts.map +1 -0
- package/dist/views/List/GroupByHeader/index.js +29 -0
- package/dist/views/List/GroupByHeader/index.js.map +1 -0
- package/dist/views/List/GroupByHeader/index.scss +17 -0
- package/dist/views/List/ListHeader/index.d.ts +4 -2
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +30 -10
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.d.ts +5 -1
- package/dist/views/List/ListSelection/index.d.ts.map +1 -1
- package/dist/views/List/ListSelection/index.js +53 -30
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +122 -170
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/index.scss +12 -35
- package/package.json +5 -5
- package/dist/elements/ListFolderPills/index.d.ts +0 -10
- package/dist/elements/ListFolderPills/index.d.ts.map +0 -1
- package/dist/elements/ListFolderPills/index.js +0 -97
- package/dist/elements/ListFolderPills/index.js.map +0 -1
- package/dist/elements/WhereBuilder/reduceFields.d.ts.map +0 -1
- package/dist/elements/WhereBuilder/reduceFields.js.map +0 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { useModal } from '@faceless-ui/modal';
|
|
5
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
+
import { useRouter } from 'next/navigation.js';
|
|
7
|
+
import { formatAdminURL } from 'payload/shared';
|
|
8
|
+
import * as qs from 'qs-esm';
|
|
9
|
+
import React, { Fragment, useCallback } from 'react';
|
|
10
|
+
import { toast } from 'sonner';
|
|
11
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
12
|
+
import { useDocumentTitle } from '../../providers/DocumentTitle/index.js';
|
|
13
|
+
import { useRouteTransition } from '../../providers/RouteTransition/index.js';
|
|
14
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
15
|
+
import { requests } from '../../utilities/api.js';
|
|
16
|
+
import { Button } from '../Button/index.js';
|
|
17
|
+
import { ConfirmationModal } from '../ConfirmationModal/index.js';
|
|
18
|
+
import { Translation } from '../Translation/index.js';
|
|
19
|
+
export const PermanentlyDeleteButton = props => {
|
|
20
|
+
const {
|
|
21
|
+
id,
|
|
22
|
+
buttonId,
|
|
23
|
+
collectionSlug,
|
|
24
|
+
onDelete,
|
|
25
|
+
redirectAfterDelete = true,
|
|
26
|
+
singularLabel,
|
|
27
|
+
title: titleFromProps
|
|
28
|
+
} = props;
|
|
29
|
+
const {
|
|
30
|
+
config: {
|
|
31
|
+
routes: {
|
|
32
|
+
admin: adminRoute,
|
|
33
|
+
api
|
|
34
|
+
},
|
|
35
|
+
serverURL
|
|
36
|
+
},
|
|
37
|
+
getEntityConfig
|
|
38
|
+
} = useConfig();
|
|
39
|
+
const collectionConfig = getEntityConfig({
|
|
40
|
+
collectionSlug
|
|
41
|
+
});
|
|
42
|
+
const router = useRouter();
|
|
43
|
+
const {
|
|
44
|
+
i18n,
|
|
45
|
+
t
|
|
46
|
+
} = useTranslation();
|
|
47
|
+
const {
|
|
48
|
+
title
|
|
49
|
+
} = useDocumentTitle();
|
|
50
|
+
const {
|
|
51
|
+
startRouteTransition
|
|
52
|
+
} = useRouteTransition();
|
|
53
|
+
const {
|
|
54
|
+
openModal
|
|
55
|
+
} = useModal();
|
|
56
|
+
const modalSlug = `perma-delete-${id}`;
|
|
57
|
+
const addDefaultError = useCallback(() => {
|
|
58
|
+
toast.error(t('error:deletingTitle', {
|
|
59
|
+
title
|
|
60
|
+
}));
|
|
61
|
+
}, [t, title]);
|
|
62
|
+
const handleDelete = useCallback(async () => {
|
|
63
|
+
try {
|
|
64
|
+
const url = `${serverURL}${api}/${collectionSlug}?${qs.stringify({
|
|
65
|
+
trash: true,
|
|
66
|
+
where: {
|
|
67
|
+
and: [{
|
|
68
|
+
id: {
|
|
69
|
+
equals: id
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
deletedAt: {
|
|
73
|
+
exists: true
|
|
74
|
+
}
|
|
75
|
+
}]
|
|
76
|
+
}
|
|
77
|
+
})}`;
|
|
78
|
+
const res = await requests.delete(url, {
|
|
79
|
+
headers: {
|
|
80
|
+
'Accept-Language': i18n.language,
|
|
81
|
+
'Content-Type': 'application/json'
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
const json = await res.json();
|
|
85
|
+
if (res.status < 400) {
|
|
86
|
+
toast.success(t('general:titleDeleted', {
|
|
87
|
+
label: getTranslation(singularLabel, i18n),
|
|
88
|
+
title
|
|
89
|
+
}) || json.message);
|
|
90
|
+
if (redirectAfterDelete) {
|
|
91
|
+
return startRouteTransition(() => router.push(formatAdminURL({
|
|
92
|
+
adminRoute,
|
|
93
|
+
path: `/collections/${collectionSlug}/trash`
|
|
94
|
+
})));
|
|
95
|
+
}
|
|
96
|
+
if (typeof onDelete === 'function') {
|
|
97
|
+
await onDelete({
|
|
98
|
+
id,
|
|
99
|
+
collectionConfig
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (json.errors) {
|
|
105
|
+
json.errors.forEach(error => toast.error(error.message));
|
|
106
|
+
} else {
|
|
107
|
+
addDefaultError();
|
|
108
|
+
}
|
|
109
|
+
} catch (_err) {
|
|
110
|
+
addDefaultError();
|
|
111
|
+
}
|
|
112
|
+
}, [serverURL, api, collectionSlug, id, t, singularLabel, addDefaultError, i18n, title, router, adminRoute, redirectAfterDelete, onDelete, collectionConfig, startRouteTransition]);
|
|
113
|
+
if (id) {
|
|
114
|
+
return /*#__PURE__*/_jsxs(Fragment, {
|
|
115
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
116
|
+
buttonStyle: "secondary",
|
|
117
|
+
id: buttonId,
|
|
118
|
+
onClick: () => {
|
|
119
|
+
openModal(modalSlug);
|
|
120
|
+
},
|
|
121
|
+
children: t('general:permanentlyDelete')
|
|
122
|
+
}), /*#__PURE__*/_jsx(ConfirmationModal, {
|
|
123
|
+
body: /*#__PURE__*/_jsx(Translation, {
|
|
124
|
+
elements: {
|
|
125
|
+
'1': ({
|
|
126
|
+
children
|
|
127
|
+
}) => /*#__PURE__*/_jsx("strong", {
|
|
128
|
+
children: children
|
|
129
|
+
})
|
|
130
|
+
},
|
|
131
|
+
i18nKey: "general:aboutToPermanentlyDelete",
|
|
132
|
+
t: t,
|
|
133
|
+
variables: {
|
|
134
|
+
label: getTranslation(singularLabel, i18n),
|
|
135
|
+
title: titleFromProps || title || id
|
|
136
|
+
}
|
|
137
|
+
}),
|
|
138
|
+
confirmingLabel: t('general:deleting'),
|
|
139
|
+
heading: t('general:confirmDeletion'),
|
|
140
|
+
modalSlug: modalSlug,
|
|
141
|
+
onConfirm: handleDelete
|
|
142
|
+
})]
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
return null;
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","formatAdminURL","qs","React","Fragment","useCallback","toast","useConfig","useDocumentTitle","useRouteTransition","useTranslation","requests","Button","ConfirmationModal","Translation","PermanentlyDeleteButton","props","id","buttonId","collectionSlug","onDelete","redirectAfterDelete","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","serverURL","getEntityConfig","collectionConfig","router","i18n","t","startRouteTransition","openModal","modalSlug","addDefaultError","error","handleDelete","url","stringify","trash","where","and","equals","deletedAt","exists","res","delete","headers","language","json","status","success","label","message","push","path","errors","forEach","_err","_jsxs","_jsx","buttonStyle","onClick","body","elements","1","children","i18nKey","variables","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/PermanentlyDeleteButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { Fragment, useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentTitle } from '../../providers/DocumentTitle/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { Translation } from '../Translation/index.js'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly redirectAfterDelete?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n}\n\nexport const PermanentlyDeleteButton: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onDelete,\n redirectAfterDelete = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentTitle()\n const { startRouteTransition } = useRouteTransition()\n const { openModal } = useModal()\n\n const modalSlug = `perma-delete-${id}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n const handleDelete = useCallback(async () => {\n try {\n const url = `${serverURL}${api}/${collectionSlug}?${qs.stringify({\n trash: true,\n where: {\n and: [{ id: { equals: id } }, { deletedAt: { exists: true } }],\n },\n })}`\n\n const res = await requests.delete(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:titleDeleted', {\n label: getTranslation(singularLabel, i18n),\n title,\n }) || json.message,\n )\n\n if (redirectAfterDelete) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/trash`,\n }),\n ),\n )\n }\n\n if (typeof onDelete === 'function') {\n await onDelete({ id, collectionConfig })\n }\n\n return\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n } catch (_err) {\n addDefaultError()\n }\n }, [\n serverURL,\n api,\n collectionSlug,\n id,\n t,\n singularLabel,\n addDefaultError,\n i18n,\n title,\n router,\n adminRoute,\n redirectAfterDelete,\n onDelete,\n collectionConfig,\n startRouteTransition,\n ])\n\n if (id) {\n return (\n <Fragment>\n <Button\n buttonStyle=\"secondary\"\n id={buttonId}\n onClick={() => {\n openModal(modalSlug)\n }}\n >\n {t('general:permanentlyDelete')}\n </Button>\n <ConfirmationModal\n body={\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToPermanentlyDelete\"\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleFromProps || title || id,\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={modalSlug}\n onConfirm={handleDelete}\n />\n </Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Where } from 'payload';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import type { PublishManyProps } from './index.js';
|
|
3
4
|
type PublishManyDrawerContentProps = {
|
|
@@ -5,6 +6,7 @@ type PublishManyDrawerContentProps = {
|
|
|
5
6
|
ids: (number | string)[];
|
|
6
7
|
onSuccess?: () => void;
|
|
7
8
|
selectAll: boolean;
|
|
9
|
+
where?: Where;
|
|
8
10
|
} & PublishManyProps;
|
|
9
11
|
export declare function PublishManyDrawerContent(props: PublishManyDrawerContentProps): React.JSX.Element;
|
|
10
12
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAUlD,KAAK,6BAA6B,GAAG;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,gBAAgB,CAAA;AAEpB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBAwK5E"}
|
|
@@ -25,7 +25,8 @@ export function PublishManyDrawerContent(props) {
|
|
|
25
25
|
drawerSlug,
|
|
26
26
|
ids,
|
|
27
27
|
onSuccess,
|
|
28
|
-
selectAll
|
|
28
|
+
selectAll,
|
|
29
|
+
where
|
|
29
30
|
} = props;
|
|
30
31
|
const {
|
|
31
32
|
clearRouteCache
|
|
@@ -56,6 +57,9 @@ export function PublishManyDrawerContent(props) {
|
|
|
56
57
|
not_equals: 'published'
|
|
57
58
|
}
|
|
58
59
|
}];
|
|
60
|
+
if (where) {
|
|
61
|
+
whereConstraints.push(where);
|
|
62
|
+
}
|
|
59
63
|
const queryWithSearch = mergeListSearchAndWhere({
|
|
60
64
|
collectionConfig: collection,
|
|
61
65
|
search: searchParams.get('search')
|
|
@@ -67,7 +71,7 @@ export function PublishManyDrawerContent(props) {
|
|
|
67
71
|
// Match the current filter/search, or default to all docs
|
|
68
72
|
whereConstraints.push(parseSearchParams(searchParams)?.where || {
|
|
69
73
|
id: {
|
|
70
|
-
|
|
74
|
+
not_equals: ''
|
|
71
75
|
}
|
|
72
76
|
});
|
|
73
77
|
} else {
|
|
@@ -84,7 +88,7 @@ export function PublishManyDrawerContent(props) {
|
|
|
84
88
|
}, {
|
|
85
89
|
addQueryPrefix: true
|
|
86
90
|
});
|
|
87
|
-
}, [collection, searchParams, selectAll, ids, locale]);
|
|
91
|
+
}, [collection, searchParams, selectAll, ids, locale, where]);
|
|
88
92
|
const handlePublish = useCallback(async () => {
|
|
89
93
|
await requests.patch(`${serverURL}${api}/${slug}${queryString}&draft=true`, {
|
|
90
94
|
body: JSON.stringify({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.js","names":["getTranslation","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","parseSearchParams","ConfirmationModal","PublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","clearRouteCache","config","routes","api","serverURL","code","locale","router","searchParams","i18n","t","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","queryWithSearch","collectionConfig","search","get","
|
|
1
|
+
{"version":3,"file":"DrawerContent.js","names":["getTranslation","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","parseSearchParams","ConfirmationModal","PublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","where","clearRouteCache","config","routes","api","serverURL","code","locale","router","searchParams","i18n","t","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","push","queryWithSearch","collectionConfig","search","get","id","in","stringify","addQueryPrefix","handlePublish","patch","body","JSON","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","forEach","_err","_jsx","cancelLabel","confirmingLabel","confirmLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishManyProps } from './index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\n\ntype PublishManyDrawerContentProps = {\n drawerSlug: string\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n} & PublishManyProps\n\nexport function PublishManyDrawerContent(props: PublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const { clearRouteCache } = useRouteCache()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { code: locale } = useLocale()\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const queryString = React.useMemo((): string => {\n const whereConstraints: Where[] = [\n {\n _status: {\n not_equals: 'published',\n },\n },\n ]\n\n if (where) {\n whereConstraints.push(where)\n }\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (selectAll) {\n // Match the current filter/search, or default to all docs\n whereConstraints.push(\n (parseSearchParams(searchParams)?.where as Where) || {\n id: {\n not_equals: '',\n },\n },\n )\n } else {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const handlePublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${queryString}&draft=true`, {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:updatedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n onSuccess,\n ])\n\n return (\n <ConfirmationModal\n body={t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}\n cancelLabel={t('general:cancel')}\n confirmingLabel={t('version:publishing')}\n confirmLabel={t('general:confirm')}\n heading={t('version:confirmPublish')}\n modalSlug={drawerSlug}\n onConfirm={handlePublish}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClientCollectionConfig } from 'payload';
|
|
1
|
+
import type { ClientCollectionConfig, Where } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
export type PublishManyProps = {
|
|
4
4
|
collection: ClientCollectionConfig;
|
|
@@ -7,8 +7,13 @@ export declare const PublishMany: React.FC<PublishManyProps>;
|
|
|
7
7
|
type PublishMany_v4Props = {
|
|
8
8
|
count: number;
|
|
9
9
|
ids: (number | string)[];
|
|
10
|
+
/**
|
|
11
|
+
* When multiple PublishMany components are rendered on the page, this will differentiate them.
|
|
12
|
+
*/
|
|
13
|
+
modalPrefix?: string;
|
|
10
14
|
onSuccess?: () => void;
|
|
11
15
|
selectAll: boolean;
|
|
16
|
+
where?: Where;
|
|
12
17
|
} & PublishManyProps;
|
|
13
18
|
export declare const PublishMany_v4: React.FC<PublishMany_v4Props>;
|
|
14
19
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAYlD,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,gBAAgB,CAAA;AAEpB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8CxD,CAAA"}
|
|
@@ -14,46 +14,49 @@ export const PublishMany = props => {
|
|
|
14
14
|
const {
|
|
15
15
|
count,
|
|
16
16
|
selectAll,
|
|
17
|
-
|
|
17
|
+
selectedIDs,
|
|
18
18
|
toggleAll
|
|
19
19
|
} = useSelection();
|
|
20
20
|
let t0;
|
|
21
|
-
if ($[0] !==
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
21
|
+
if ($[0] !== toggleAll) {
|
|
22
|
+
t0 = () => toggleAll();
|
|
23
|
+
$[0] = toggleAll;
|
|
24
|
+
$[1] = t0;
|
|
25
|
+
} else {
|
|
26
|
+
t0 = $[1];
|
|
27
|
+
}
|
|
28
|
+
const t1 = selectAll === SelectAllStatus.AllAvailable;
|
|
29
|
+
let t2;
|
|
30
|
+
if ($[2] !== count || $[3] !== props || $[4] !== selectedIDs || $[5] !== t0 || $[6] !== t1) {
|
|
31
|
+
t2 = _jsx(PublishMany_v4, {
|
|
31
32
|
...props,
|
|
32
33
|
count,
|
|
33
|
-
ids:
|
|
34
|
-
onSuccess:
|
|
35
|
-
selectAll:
|
|
34
|
+
ids: selectedIDs,
|
|
35
|
+
onSuccess: t0,
|
|
36
|
+
selectAll: t1
|
|
36
37
|
});
|
|
37
|
-
$[
|
|
38
|
-
$[
|
|
39
|
-
$[
|
|
40
|
-
$[3] = selected;
|
|
41
|
-
$[4] = toggleAll;
|
|
38
|
+
$[2] = count;
|
|
39
|
+
$[3] = props;
|
|
40
|
+
$[4] = selectedIDs;
|
|
42
41
|
$[5] = t0;
|
|
42
|
+
$[6] = t1;
|
|
43
|
+
$[7] = t2;
|
|
43
44
|
} else {
|
|
44
|
-
|
|
45
|
+
t2 = $[7];
|
|
45
46
|
}
|
|
46
|
-
return
|
|
47
|
+
return t2;
|
|
47
48
|
};
|
|
48
49
|
export const PublishMany_v4 = props => {
|
|
49
|
-
const $ = _c(
|
|
50
|
+
const $ = _c(12);
|
|
50
51
|
const {
|
|
51
52
|
collection,
|
|
52
53
|
collection: t0,
|
|
53
54
|
count,
|
|
54
55
|
ids,
|
|
56
|
+
modalPrefix,
|
|
55
57
|
onSuccess,
|
|
56
|
-
selectAll
|
|
58
|
+
selectAll,
|
|
59
|
+
where
|
|
57
60
|
} = props;
|
|
58
61
|
const {
|
|
59
62
|
slug,
|
|
@@ -70,22 +73,22 @@ export const PublishMany_v4 = props => {
|
|
|
70
73
|
} = useModal();
|
|
71
74
|
const collectionPermissions = permissions?.collections?.[slug];
|
|
72
75
|
const hasPermission = collectionPermissions?.update;
|
|
73
|
-
const drawerSlug =
|
|
76
|
+
const drawerSlug = `${modalPrefix ? `${modalPrefix}-` : ""}publish-${slug}`;
|
|
74
77
|
if (!versions?.drafts || count === 0 || !hasPermission) {
|
|
75
78
|
return null;
|
|
76
79
|
}
|
|
77
80
|
let t1;
|
|
78
|
-
if ($[0] !== collection || $[1] !== drawerSlug || $[2] !== ids || $[3] !== onSuccess || $[4] !== openModal || $[5] !== selectAll || $[6] !== t) {
|
|
81
|
+
if ($[0] !== collection || $[1] !== drawerSlug || $[2] !== ids || $[3] !== onSuccess || $[4] !== openModal || $[5] !== selectAll || $[6] !== t || $[7] !== where) {
|
|
79
82
|
let t2;
|
|
80
|
-
if ($[
|
|
83
|
+
if ($[9] !== drawerSlug || $[10] !== openModal) {
|
|
81
84
|
t2 = () => {
|
|
82
85
|
openModal(drawerSlug);
|
|
83
86
|
};
|
|
84
|
-
$[
|
|
85
|
-
$[
|
|
86
|
-
$[
|
|
87
|
+
$[9] = drawerSlug;
|
|
88
|
+
$[10] = openModal;
|
|
89
|
+
$[11] = t2;
|
|
87
90
|
} else {
|
|
88
|
-
t2 = $[
|
|
91
|
+
t2 = $[11];
|
|
89
92
|
}
|
|
90
93
|
t1 = _jsxs(React.Fragment, {
|
|
91
94
|
children: [_jsx(ListSelectionButton, {
|
|
@@ -97,7 +100,8 @@ export const PublishMany_v4 = props => {
|
|
|
97
100
|
drawerSlug,
|
|
98
101
|
ids,
|
|
99
102
|
onSuccess,
|
|
100
|
-
selectAll
|
|
103
|
+
selectAll,
|
|
104
|
+
where
|
|
101
105
|
})]
|
|
102
106
|
});
|
|
103
107
|
$[0] = collection;
|
|
@@ -107,9 +111,10 @@ export const PublishMany_v4 = props => {
|
|
|
107
111
|
$[4] = openModal;
|
|
108
112
|
$[5] = selectAll;
|
|
109
113
|
$[6] = t;
|
|
110
|
-
$[7] =
|
|
114
|
+
$[7] = where;
|
|
115
|
+
$[8] = t1;
|
|
111
116
|
} else {
|
|
112
|
-
t1 = $[
|
|
117
|
+
t1 = $[8];
|
|
113
118
|
}
|
|
114
119
|
return t1;
|
|
115
120
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useAuth","SelectAllStatus","useSelection","useTranslation","ListSelectionButton","PublishManyDrawerContent","PublishMany","props","$","count","selectAll","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useAuth","SelectAllStatus","useSelection","useTranslation","ListSelectionButton","PublishManyDrawerContent","PublishMany","props","$","count","selectAll","selectedIDs","toggleAll","t0","t1","AllAvailable","t2","_jsx","PublishMany_v4","ids","onSuccess","collection","modalPrefix","where","slug","versions","undefined","permissions","t","openModal","collectionPermissions","collections","hasPermission","update","drawerSlug","drafts","_jsxs","Fragment","children","onClick"],"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { PublishManyDrawerContent } from './DrawerContent.js'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { count, selectAll, selectedIDs, toggleAll } = useSelection()\n\n return (\n <PublishMany_v4\n {...props}\n count={count}\n ids={selectedIDs}\n onSuccess={() => toggleAll()}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n />\n )\n}\n\ntype PublishMany_v4Props = {\n count: number\n ids: (number | string)[]\n /**\n * When multiple PublishMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n} & PublishManyProps\n\nexport const PublishMany_v4: React.FC<PublishMany_v4Props> = (props) => {\n const {\n collection,\n collection: { slug, versions } = {},\n count,\n ids,\n modalPrefix,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const { permissions } = useAuth()\n const { t } = useTranslation()\n\n const { openModal } = useModal()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const drawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}publish-${slug}`\n\n if (!versions?.drafts || count === 0 || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('version:publish')}\n onClick={() => {\n openModal(drawerSlug)\n }}\n >\n {t('version:publish')}\n </ListSelectionButton>\n <PublishManyDrawerContent\n collection={collection}\n drawerSlug={drawerSlug}\n ids={ids}\n onSuccess={onSuccess}\n selectAll={selectAll}\n where={where}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,wBAAwB,QAAQ;AAMzC,OAAO,MAAMC,WAAA,GAA0CC,KAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EACrD;IAAAY,KAAA;IAAAC,SAAA;IAAAC,WAAA;IAAAC;EAAA,IAAqDV,YAAA;EAAA,IAAAW,EAAA;EAAA,IAAAL,CAAA,QAAAI,SAAA;IAOtCC,EAAA,GAAAA,CAAA,KAAMD,SAAA;IAAAJ,CAAA,MAAAI,SAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EACN,MAAAM,EAAA,GAAAJ,SAAA,KAAAT,eAAA,CAAAc,YAA0C;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAD,KAAA,IAAAC,CAAA,QAAAG,WAAA,IAAAH,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAM,EAAA;IALvDE,EAAA,GAAAC,IAAA,CAAAC,cAAA;MAAA,GACMX,KAAK;MAAAE,KAAA;MAAAU,GAAA,EAEJR,WAAA;MAAAS,SAAA,EACMP,EAAM;MAAAH,SAAA,EACNI;IAA0C,C;;;;;;;;;;SALvDE,E;CAQJ;AAcA,OAAO,MAAME,cAAA,GAAgDX,KAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAC3D;IAAAwB,UAAA;IAAAA,UAAA,EAAAR,EAAA;IAAAJ,KAAA;IAAAU,GAAA;IAAAG,WAAA;IAAAF,SAAA;IAAAV,SAAA;IAAAa;EAAA,IASIhB,KAAA;EAPU;IAAAiB,IAAA;IAAAC;EAAA,IAAAZ,EAAuB,KAAAa,SAAA,QAAvBb,EAAuB;EASrC;IAAAc;EAAA,IAAwB3B,OAAA;EACxB;IAAA4B;EAAA,IAAczB,cAAA;EAEd;IAAA0B;EAAA,IAAsB/B,QAAA;EAEtB,MAAAgC,qBAAA,GAA8BH,WAAA,EAAAI,WAAA,GAA2BP,IAAA;EACzD,MAAAQ,aAAA,GAAsBF,qBAAA,EAAAG,MAAA;EAEtB,MAAAC,UAAA,GAAmB,GAAGZ,WAAA,GAAc,GAAGA,WAAA,GAAc,GAAG,aAAaE,IAAA,EAAM;EAAA,IAEvE,CAACC,QAAA,EAAAU,MAAA,IAAoB1B,KAAA,MAAU,KAAMuB,aAAA;IAAA;EAAA;EAAA,IAAAlB,EAAA;EAAA,IAAAN,CAAA,QAAAa,UAAA,IAAAb,CAAA,QAAA0B,UAAA,IAAA1B,CAAA,QAAAW,GAAA,IAAAX,CAAA,QAAAY,SAAA,IAAAZ,CAAA,QAAAqB,SAAA,IAAArB,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAoB,CAAA,IAAApB,CAAA,QAAAe,KAAA;IAAA,IAAAP,EAAA;IAAA,IAAAR,CAAA,QAAA0B,UAAA,IAAA1B,CAAA,SAAAqB,SAAA;MAQ1Bb,EAAA,GAAAA,CAAA;QACPa,SAAA,CAAUK,UAAA;MAAA;MACZ1B,CAAA,MAAA0B,UAAA;MAAA1B,CAAA,OAAAqB,SAAA;MAAArB,CAAA,OAAAQ,EAAA;IAAA;MAAAA,EAAA,GAAAR,CAAA;IAAA;IALJM,EAAA,GAAAsB,KAAA,CAAArC,KAAA,CAAAsC,QAAA;MAAAC,QAAA,GACErB,IAAA,CAAAb,mBAAA;QAAA,cACcwB,CAAA,CAAE;QAAAW,OAAA,EACLvB,EAET;QAAAsB,QAAA,EAECV,CAAA,CAAE;MAAA,C,GAELX,IAAA,CAAAZ,wBAAA;QAAAgB,UAAA;QAAAa,UAAA;QAAAf,GAAA;QAAAC,SAAA;QAAAV,SAAA;QAAAa;MAAA,C;;;;;;;;;;;;;;SATFT,E;CAmBJ","ignoreList":[]}
|
|
@@ -56,6 +56,7 @@ export type ReactSelectAdapterProps = {
|
|
|
56
56
|
value: string;
|
|
57
57
|
}, search: string) => boolean) | undefined;
|
|
58
58
|
getOptionValue?: ReactSelectStateManagerProps<Option, boolean, GroupBase<Option>>['getOptionValue'];
|
|
59
|
+
id?: string;
|
|
59
60
|
inputId?: string;
|
|
60
61
|
isClearable?: boolean;
|
|
61
62
|
/** Allows you to create own values in the UI despite them not being pre-specified */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\nimport type { CommonProps, GroupBase, Props as ReactSelectStateManagerProps } from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n editableProps?: (\n data: Option<{ label: string; value: string }>,\n className: string,\n selectProps: ReactSelectStateManagerProps,\n ) => any\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentOpen?: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n openInNewTab?: boolean\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n valueContainerLabel?: string\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n className?: string\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n menuIsOpen?: boolean\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: LabelFunction | string\n showError?: boolean\n value?: Option | Option[]\n}\n"],"mappings":"AA6DA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\nimport type { CommonProps, GroupBase, Props as ReactSelectStateManagerProps } from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n editableProps?: (\n data: Option<{ label: string; value: string }>,\n className: string,\n selectProps: ReactSelectStateManagerProps,\n ) => any\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentOpen?: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n openInNewTab?: boolean\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n valueContainerLabel?: string\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n className?: string\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n id?: string\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n menuIsOpen?: boolean\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: LabelFunction | string\n showError?: boolean\n value?: Option | Option[]\n}\n"],"mappings":"AA6DA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAqD,MAAM,OAAO,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAiBrE,OAAO,cAAc,CAAA;AAKrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAqD,MAAM,OAAO,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAiBrE,OAAO,cAAc,CAAA;AAKrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAmTvE,CAAA"}
|
|
@@ -77,7 +77,7 @@ export const RelationshipTable = props => {
|
|
|
77
77
|
const {
|
|
78
78
|
getTableState
|
|
79
79
|
} = useServerFunctions();
|
|
80
|
-
const renderTable = useCallback(async
|
|
80
|
+
const renderTable = useCallback(async data => {
|
|
81
81
|
const newQuery = {
|
|
82
82
|
limit: field?.defaultLimit || collectionConfig?.admin?.pagination?.defaultLimit,
|
|
83
83
|
sort: field.defaultSort || collectionConfig?.defaultSort,
|
|
@@ -101,7 +101,7 @@ export const RelationshipTable = props => {
|
|
|
101
101
|
} = await getTableState({
|
|
102
102
|
collectionSlug: relationTo,
|
|
103
103
|
columns: transformColumnsToPreferences(query?.columns) || defaultColumns,
|
|
104
|
-
|
|
104
|
+
data,
|
|
105
105
|
enableRowSelections: false,
|
|
106
106
|
orderableFieldName: !field.orderable || Array.isArray(field.collection) ? undefined : `_${field.collection}_${field.name}_order`,
|
|
107
107
|
parent,
|
|
@@ -131,15 +131,17 @@ export const RelationshipTable = props => {
|
|
|
131
131
|
});
|
|
132
132
|
const onDrawerSave = useCallback(args => {
|
|
133
133
|
const foundDocIndex = data?.docs?.findIndex(doc => doc.id === args.doc.id);
|
|
134
|
-
|
|
134
|
+
const withNewOrUpdatedData = {
|
|
135
|
+
docs: []
|
|
136
|
+
};
|
|
135
137
|
if (foundDocIndex !== -1) {
|
|
136
138
|
const newDocs = [...data.docs];
|
|
137
139
|
newDocs[foundDocIndex] = args.doc;
|
|
138
|
-
|
|
140
|
+
withNewOrUpdatedData.docs = newDocs;
|
|
139
141
|
} else {
|
|
140
|
-
|
|
142
|
+
withNewOrUpdatedData.docs = [args.doc, ...data.docs];
|
|
141
143
|
}
|
|
142
|
-
void renderTable(
|
|
144
|
+
void renderTable(withNewOrUpdatedData);
|
|
143
145
|
}, [data?.docs, renderTable]);
|
|
144
146
|
const onDrawerCreate = useCallback(args => {
|
|
145
147
|
closeDrawer();
|
|
@@ -147,8 +149,11 @@ export const RelationshipTable = props => {
|
|
|
147
149
|
}, [closeDrawer, onDrawerSave]);
|
|
148
150
|
const onDrawerDelete = useCallback(args => {
|
|
149
151
|
const newDocs = data.docs.filter(doc => doc.id !== args.id);
|
|
150
|
-
void renderTable(
|
|
151
|
-
|
|
152
|
+
void renderTable({
|
|
153
|
+
...data,
|
|
154
|
+
docs: newDocs
|
|
155
|
+
});
|
|
156
|
+
}, [data, renderTable]);
|
|
152
157
|
const canCreate = allowCreate !== false && permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create;
|
|
153
158
|
useEffect(() => {
|
|
154
159
|
if (isPolymorphic && selectedCollection) {
|
|
@@ -162,13 +167,13 @@ export const RelationshipTable = props => {
|
|
|
162
167
|
// eslint-disable-next-line react-compiler/react-compiler -- TODO: fix
|
|
163
168
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
164
169
|
}, [isDrawerOpen]);
|
|
165
|
-
const
|
|
170
|
+
const memoizedListQuery = React.useMemo(() => ({
|
|
166
171
|
columns: transformColumnsToPreferences(columnState)?.map(({
|
|
167
172
|
accessor
|
|
168
173
|
}) => accessor),
|
|
169
174
|
limit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,
|
|
170
175
|
sort: field.defaultSort ?? collectionConfig?.defaultSort
|
|
171
|
-
}), [
|
|
176
|
+
}), [columnState, field, collectionConfig]);
|
|
172
177
|
return /*#__PURE__*/_jsxs("div", {
|
|
173
178
|
className: baseClass,
|
|
174
179
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
@@ -227,7 +232,7 @@ export const RelationshipTable = props => {
|
|
|
227
232
|
modifySearchParams: false,
|
|
228
233
|
onQueryChange: setQuery,
|
|
229
234
|
orderableFieldName: !field.orderable || Array.isArray(field.collection) ? undefined : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`,
|
|
230
|
-
query:
|
|
235
|
+
query: memoizedListQuery,
|
|
231
236
|
children: /*#__PURE__*/_jsxs(TableColumnsProvider, {
|
|
232
237
|
collectionSlug: isPolymorphic ? relationTo[0] : relationTo,
|
|
233
238
|
columnState: columnState,
|