@payloadcms/ui 3.0.0-canary.0374de4 → 3.0.0-canary.0992b47
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/BulkUpload/EditForm/index.js +1 -3
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +1 -3
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +0 -6
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +2 -14
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +1 -4
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +5 -41
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +0 -8
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +17 -23
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -4
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +12 -19
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/Hamburger/index.scss +0 -4
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +5 -9
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +6 -0
- package/dist/elements/ListDrawer/DrawerContent.d.ts +0 -2
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +5 -9
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.scss +3 -7
- package/dist/elements/Pagination/index.d.ts.map +1 -1
- package/dist/elements/Pagination/index.js +1 -1
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.d.ts +5 -5
- package/dist/elements/PerPage/index.d.ts.map +1 -1
- package/dist/elements/PerPage/index.js +1 -2
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.scss +1 -3
- package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.js +0 -1
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +46 -97
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.scss +0 -4
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +24 -60
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts +0 -1
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +17 -29
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortColumn/index.scss +1 -10
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +3 -2
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +40 -43
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.scss +3 -0
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +0 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.js +0 -1
- package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +6 -3
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +31 -36
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Table/index.scss +0 -49
- package/dist/elements/TableColumns/buildColumnState.d.ts +2 -5
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +22 -35
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts +0 -4
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +68 -79
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Tooltip/index.d.ts +0 -1
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +13 -15
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Tooltip/index.scss +2 -2
- package/dist/exports/client/index.d.ts +0 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +19 -19
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +2 -2
- package/dist/fields/Checkbox/Input.js +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.scss +0 -13
- package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +14 -11
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +11 -10
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.scss +1 -0
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +0 -2
- package/dist/fields/index.js.map +1 -1
- package/dist/forms/Form/index.js +2 -6
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +1 -3
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +15 -18
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/index.d.ts +0 -2
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/icons/Chevron/index.d.ts +3 -3
- package/dist/icons/Chevron/index.d.ts.map +1 -1
- package/dist/icons/Chevron/index.js +4 -4
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/Chevron/index.scss +1 -9
- package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.js +1 -1
- package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.js +0 -3
- package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +8 -112
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +26 -32
- 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 +5 -5
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +31 -55
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts +3 -9
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +4 -88
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/getFormState.d.ts +2 -8
- package/dist/utilities/getFormState.d.ts.map +1 -1
- package/dist/utilities/getFormState.js +1 -3
- package/dist/utilities/getFormState.js.map +1 -1
- package/package.json +5 -5
- package/dist/elements/Locked/index.d.ts +0 -8
- package/dist/elements/Locked/index.d.ts.map +0 -1
- package/dist/elements/Locked/index.js +0 -72
- package/dist/elements/Locked/index.js.map +0 -1
- package/dist/elements/Locked/index.scss +0 -14
- package/dist/elements/RelationshipTable/TableWrapper.d.ts +0 -8
- package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +0 -1
- package/dist/elements/RelationshipTable/TableWrapper.js +0 -69
- package/dist/elements/RelationshipTable/TableWrapper.js.map +0 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +0 -8
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +0 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +0 -82
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +0 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +0 -4
- package/dist/elements/RelationshipTable/index.d.ts +0 -13
- package/dist/elements/RelationshipTable/index.d.ts.map +0 -1
- package/dist/elements/RelationshipTable/index.js +0 -365
- package/dist/elements/RelationshipTable/index.js.map +0 -1
- package/dist/elements/RelationshipTable/index.scss +0 -26
- package/dist/elements/Table/RenderCell.d.ts +0 -11
- package/dist/elements/Table/RenderCell.d.ts.map +0 -1
- package/dist/elements/Table/RenderCell.js +0 -30
- package/dist/elements/Table/RenderCell.js.map +0 -1
- package/dist/fields/Join/index.d.ts +0 -9
- package/dist/fields/Join/index.d.ts.map +0 -1
- package/dist/fields/Join/index.js +0 -70
- package/dist/fields/Join/index.js.map +0 -1
- package/dist/icons/Lock/index.d.ts +0 -6
- package/dist/icons/Lock/index.d.ts.map +0 -1
- package/dist/icons/Lock/index.js +0 -27
- package/dist/icons/Lock/index.js.map +0 -1
- package/dist/icons/Lock/index.scss +0 -8
- package/dist/utilities/deepMerge.d.ts +0 -12
- package/dist/utilities/deepMerge.d.ts.map +0 -1
- package/dist/utilities/deepMerge.js +0 -25
- package/dist/utilities/deepMerge.js.map +0 -1
|
@@ -17,7 +17,7 @@ import { IDLabel } from '../IDLabel/index.js';
|
|
|
17
17
|
import { RenderTitle } from '../RenderTitle/index.js';
|
|
18
18
|
import { baseClass } from './index.js';
|
|
19
19
|
export const DocumentDrawerContent = t0 => {
|
|
20
|
-
const $ = _c(
|
|
20
|
+
const $ = _c(44);
|
|
21
21
|
const {
|
|
22
22
|
id: existingDocID,
|
|
23
23
|
AfterFields,
|
|
@@ -25,8 +25,6 @@ export const DocumentDrawerContent = t0 => {
|
|
|
25
25
|
disableActions,
|
|
26
26
|
drawerSlug,
|
|
27
27
|
Header,
|
|
28
|
-
initialData,
|
|
29
|
-
initialState,
|
|
30
28
|
onDelete: onDeleteFromProps,
|
|
31
29
|
onDuplicate: onDuplicateFromProps,
|
|
32
30
|
onSave: onSaveFromProps,
|
|
@@ -158,24 +156,24 @@ export const DocumentDrawerContent = t0 => {
|
|
|
158
156
|
t8 = $[21];
|
|
159
157
|
}
|
|
160
158
|
let t9;
|
|
161
|
-
if ($[22] !== t8 || $[23] !== t || $[24] !== toggleModal || $[25] !== drawerSlug || $[26] !== redirectAfterDelete || $[27] !== redirectAfterDuplicate || $[28] !== Edit || $[29] !== AfterFields || $[30] !== apiURL || $[31] !== collectionConfig.slug || $[32] !== disableActions || $[33] !== docID || $[34] !==
|
|
159
|
+
if ($[22] !== t8 || $[23] !== t || $[24] !== toggleModal || $[25] !== drawerSlug || $[26] !== redirectAfterDelete || $[27] !== redirectAfterDuplicate || $[28] !== Edit || $[29] !== AfterFields || $[30] !== apiURL || $[31] !== collectionConfig.slug || $[32] !== disableActions || $[33] !== docID || $[34] !== isEditing || $[35] !== onDelete || $[36] !== onDuplicate || $[37] !== onLoadError || $[38] !== onSave) {
|
|
162
160
|
let t10;
|
|
163
|
-
if ($[
|
|
161
|
+
if ($[40] !== toggleModal || $[41] !== drawerSlug) {
|
|
164
162
|
t10 = () => toggleModal(drawerSlug);
|
|
165
|
-
$[
|
|
166
|
-
$[
|
|
167
|
-
$[
|
|
163
|
+
$[40] = toggleModal;
|
|
164
|
+
$[41] = drawerSlug;
|
|
165
|
+
$[42] = t10;
|
|
168
166
|
} else {
|
|
169
|
-
t10 = $[
|
|
167
|
+
t10 = $[42];
|
|
170
168
|
}
|
|
171
169
|
let t11;
|
|
172
|
-
if ($[
|
|
170
|
+
if ($[43] === Symbol.for("react.memo_cache_sentinel")) {
|
|
173
171
|
t11 = () => {
|
|
174
172
|
setDocID(null);
|
|
175
173
|
};
|
|
176
|
-
$[
|
|
174
|
+
$[43] = t11;
|
|
177
175
|
} else {
|
|
178
|
-
t11 = $[
|
|
176
|
+
t11 = $[43];
|
|
179
177
|
}
|
|
180
178
|
t9 = _jsx(DocumentInfoProvider, {
|
|
181
179
|
AfterFields,
|
|
@@ -200,8 +198,6 @@ export const DocumentDrawerContent = t0 => {
|
|
|
200
198
|
disableActions,
|
|
201
199
|
disableLeaveWithoutSaving: true,
|
|
202
200
|
id: docID,
|
|
203
|
-
initialData,
|
|
204
|
-
initialState,
|
|
205
201
|
isEditing,
|
|
206
202
|
onDelete,
|
|
207
203
|
onDrawerCreate: t11,
|
|
@@ -226,16 +222,14 @@ export const DocumentDrawerContent = t0 => {
|
|
|
226
222
|
$[31] = collectionConfig.slug;
|
|
227
223
|
$[32] = disableActions;
|
|
228
224
|
$[33] = docID;
|
|
229
|
-
$[34] =
|
|
230
|
-
$[35] =
|
|
231
|
-
$[36] =
|
|
232
|
-
$[37] =
|
|
233
|
-
$[38] =
|
|
234
|
-
$[39] =
|
|
235
|
-
$[40] = onSave;
|
|
236
|
-
$[41] = t9;
|
|
225
|
+
$[34] = isEditing;
|
|
226
|
+
$[35] = onDelete;
|
|
227
|
+
$[36] = onDuplicate;
|
|
228
|
+
$[37] = onLoadError;
|
|
229
|
+
$[38] = onSave;
|
|
230
|
+
$[39] = t9;
|
|
237
231
|
} else {
|
|
238
|
-
t9 = $[
|
|
232
|
+
t9 = $[39];
|
|
239
233
|
}
|
|
240
234
|
return t9;
|
|
241
235
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","React","useCallback","useEffect","useState","toast","XIcon","useConfig","RenderComponent","DocumentInfoProvider","useDocumentInfo","useLocale","useTranslation","useRelatedCollections","Gutter","IDLabel","RenderTitle","baseClass","DocumentDrawerContent","t0","$","id","existingDocID","AfterFields","collectionSlug","disableActions","drawerSlug","Header","initialData","initialState","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","redirectAfterDelete","redirectAfterDuplicate","config","routes","t1","serverURL","api","apiRoute","closeModal","modalState","toggleModal","locale","t","docID","setDocID","isOpen","setIsOpen","collectionConfig","Edit","admin","components","views","edit","default","Component","isEditing","Boolean","apiURL","code","t2","t3","t4","data","error","errors","message","onLoadError","t5","args","doc","t6","args_0","t7","args_1","t8","_jsx","element","t10","t11","Symbol","for","t9","BeforeDocument","_jsxs","className","children","onClick","type","DocumentTitle","slug","disableLeaveWithoutSaving","onDrawerCreate","undefined","mappedComponent","title","toString"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { baseClass } from './index.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n AfterFields,\n collectionSlug,\n disableActions,\n drawerSlug,\n Header,\n initialData,\n initialState,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n redirectAfterDelete,\n redirectAfterDuplicate,\n}) => {\n const { config } = useConfig()\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const { closeModal, modalState, toggleModal } = useModal()\n const locale = useLocale()\n const { t } = useTranslation()\n const [docID, setDocID] = useState(existingDocID)\n const [isOpen, setIsOpen] = useState(false)\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n const Edit = collectionConfig.admin.components.views.edit.default.Component\n\n const isEditing = Boolean(docID)\n const apiURL = docID\n ? `${serverURL}${apiRoute}/${collectionSlug}/${docID}${locale?.code ? `?locale=${locale.code}` : ''}`\n : null\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const onLoadError = React.useCallback(\n (data) => {\n if (isOpen) {\n closeModal(drawerSlug)\n toast.error(data.errors?.[0].message || t('error:unspecific'))\n }\n },\n [closeModal, drawerSlug, isOpen, t],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n if (typeof onDeleteFromProps === 'function') {\n void onDeleteFromProps({\n ...args,\n collectionConfig,\n })\n }\n\n closeModal(drawerSlug)\n },\n [onDeleteFromProps, collectionConfig, closeModal, drawerSlug],\n )\n\n return (\n <DocumentInfoProvider\n AfterFields={AfterFields}\n apiURL={apiURL}\n BeforeDocument={\n <Gutter className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {Header || <RenderTitle element=\"span\" />}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => toggleModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <DocumentTitle />\n </Gutter>\n }\n collectionSlug={collectionConfig.slug}\n disableActions={disableActions}\n disableLeaveWithoutSaving\n id={docID}\n initialData={initialData}\n initialState={initialState}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreate={() => {\n setDocID(null)\n }}\n onDuplicate={onDuplicate}\n onLoadError={onLoadError}\n onSave={onSave}\n redirectAfterDelete={redirectAfterDelete !== undefined ? redirectAfterDelete : false}\n redirectAfterDuplicate={redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false}\n >\n <RenderComponent mappedComponent={Edit} />\n </DocumentInfoProvider>\n )\n}\n\nconst DocumentTitle: React.FC = () => {\n const { id, title } = useDocumentInfo()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","React","useCallback","useEffect","useState","toast","XIcon","useConfig","RenderComponent","DocumentInfoProvider","useDocumentInfo","useLocale","useTranslation","useRelatedCollections","Gutter","IDLabel","RenderTitle","baseClass","DocumentDrawerContent","t0","$","id","existingDocID","AfterFields","collectionSlug","disableActions","drawerSlug","Header","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","redirectAfterDelete","redirectAfterDuplicate","config","routes","t1","serverURL","api","apiRoute","closeModal","modalState","toggleModal","locale","t","docID","setDocID","isOpen","setIsOpen","collectionConfig","Edit","admin","components","views","edit","default","Component","isEditing","Boolean","apiURL","code","t2","t3","t4","data","error","errors","message","onLoadError","t5","args","doc","t6","args_0","t7","args_1","t8","_jsx","element","t10","t11","Symbol","for","t9","BeforeDocument","_jsxs","className","children","onClick","type","DocumentTitle","slug","disableLeaveWithoutSaving","onDrawerCreate","undefined","mappedComponent","title","toString"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { baseClass } from './index.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n AfterFields,\n collectionSlug,\n disableActions,\n drawerSlug,\n Header,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n redirectAfterDelete,\n redirectAfterDuplicate,\n}) => {\n const { config } = useConfig()\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const { closeModal, modalState, toggleModal } = useModal()\n const locale = useLocale()\n const { t } = useTranslation()\n const [docID, setDocID] = useState(existingDocID)\n const [isOpen, setIsOpen] = useState(false)\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n const Edit = collectionConfig.admin.components.views.edit.default.Component\n\n const isEditing = Boolean(docID)\n const apiURL = docID\n ? `${serverURL}${apiRoute}/${collectionSlug}/${docID}${locale?.code ? `?locale=${locale.code}` : ''}`\n : null\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const onLoadError = React.useCallback(\n (data) => {\n if (isOpen) {\n closeModal(drawerSlug)\n toast.error(data.errors?.[0].message || t('error:unspecific'))\n }\n },\n [closeModal, drawerSlug, isOpen, t],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n if (typeof onDeleteFromProps === 'function') {\n void onDeleteFromProps({\n ...args,\n collectionConfig,\n })\n }\n\n closeModal(drawerSlug)\n },\n [onDeleteFromProps, collectionConfig, closeModal, drawerSlug],\n )\n\n return (\n <DocumentInfoProvider\n AfterFields={AfterFields}\n apiURL={apiURL}\n BeforeDocument={\n <Gutter className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {Header || <RenderTitle element=\"span\" />}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => toggleModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <DocumentTitle />\n </Gutter>\n }\n collectionSlug={collectionConfig.slug}\n disableActions={disableActions}\n disableLeaveWithoutSaving\n id={docID}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreate={() => {\n setDocID(null)\n }}\n onDuplicate={onDuplicate}\n onLoadError={onLoadError}\n onSave={onSave}\n redirectAfterDelete={redirectAfterDelete !== undefined ? redirectAfterDelete : false}\n redirectAfterDuplicate={redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false}\n >\n <RenderComponent mappedComponent={Edit} />\n </DocumentInfoProvider>\n )\n}\n\nconst DocumentTitle: React.FC = () => {\n const { id, title } = useDocumentInfo()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Data, FormState } from 'payload';
|
|
2
1
|
import type React from 'react';
|
|
3
2
|
import type { HTMLAttributes } from 'react';
|
|
4
3
|
import type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js';
|
|
@@ -9,8 +8,6 @@ export type DocumentDrawerProps = {
|
|
|
9
8
|
readonly disableActions?: boolean;
|
|
10
9
|
readonly drawerSlug?: string;
|
|
11
10
|
readonly id?: null | number | string;
|
|
12
|
-
readonly initialData?: Data;
|
|
13
|
-
readonly initialState?: FormState;
|
|
14
11
|
readonly onDelete?: DocumentInfoContext['onDelete'];
|
|
15
12
|
readonly onDuplicate?: DocumentInfoContext['onDuplicate'];
|
|
16
13
|
readonly onSave?: DocumentInfoContext['onSave'];
|
|
@@ -24,7 +21,7 @@ export type DocumentTogglerProps = {
|
|
|
24
21
|
readonly disabled?: boolean;
|
|
25
22
|
readonly drawerSlug?: string;
|
|
26
23
|
readonly id?: string;
|
|
27
|
-
} &
|
|
24
|
+
} & HTMLAttributes<HTMLButtonElement>;
|
|
28
25
|
export type UseDocumentDrawer = (args: {
|
|
29
26
|
collectionSlug: string;
|
|
30
27
|
id?: number | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAC1C,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAAK;IAC1F,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7D;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/DocumentDrawer/types.ts"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/DocumentDrawer/types.ts"],"sourcesContent":["import type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props as DrawerProps } from '../Drawer/types.js'\n\nexport type DocumentDrawerProps = {\n readonly AfterFields?: React.ReactNode\n readonly collectionSlug: string\n readonly disableActions?: boolean\n readonly drawerSlug?: string\n readonly id?: null | number | string\n readonly onDelete?: DocumentInfoContext['onDelete']\n readonly onDuplicate?: DocumentInfoContext['onDuplicate']\n readonly onSave?: DocumentInfoContext['onSave']\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n} & Pick<DrawerProps, 'Header'>\n\nexport type DocumentTogglerProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly collectionSlug: string\n readonly disabled?: boolean\n readonly drawerSlug?: string\n readonly id?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseDocumentDrawer = (args: { collectionSlug: string; id?: number | string }) => [\n React.FC<Omit<DocumentDrawerProps, 'collectionSlug' | 'id'>>, // drawer\n React.FC<Omit<DocumentTogglerProps, 'collectionSlug' | 'id'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AA4BA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAa,MAAM,SAAS,CAAA;AAK7E,OAAO,KAAgC,MAAM,OAAO,CAAA;AAoBpD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAC/B,CAAA;AAmED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAa,MAAM,SAAS,CAAA;AAK7E,OAAO,KAAgC,MAAM,OAAO,CAAA;AAoBpD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAC/B,CAAA;AAmED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAoJ5C,CAAA"}
|
|
@@ -215,9 +215,7 @@ export const EditMany = props => {
|
|
|
215
215
|
React.useEffect(() => {
|
|
216
216
|
if (!hasInitializedState.current) {
|
|
217
217
|
const getInitialState = async () => {
|
|
218
|
-
const {
|
|
219
|
-
state: result
|
|
220
|
-
} = await getFormState({
|
|
218
|
+
const result = await getFormState({
|
|
221
219
|
apiRoute,
|
|
222
220
|
body: {
|
|
223
221
|
collectionSlug: slug,
|
|
@@ -233,23 +231,18 @@ export const EditMany = props => {
|
|
|
233
231
|
void getInitialState();
|
|
234
232
|
}
|
|
235
233
|
}, [apiRoute, hasInitializedState, serverURL, slug]);
|
|
236
|
-
const onChange = useCallback(
|
|
234
|
+
const onChange = useCallback(({
|
|
237
235
|
formState: prevFormState
|
|
238
|
-
}) => {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
},
|
|
249
|
-
serverURL
|
|
250
|
-
});
|
|
251
|
-
return state;
|
|
252
|
-
}, [serverURL, apiRoute, slug]);
|
|
236
|
+
}) => getFormState({
|
|
237
|
+
apiRoute,
|
|
238
|
+
body: {
|
|
239
|
+
collectionSlug: slug,
|
|
240
|
+
formState: prevFormState,
|
|
241
|
+
operation: 'update',
|
|
242
|
+
schemaPath: slug
|
|
243
|
+
},
|
|
244
|
+
serverURL
|
|
245
|
+
}), [serverURL, apiRoute, slug]);
|
|
253
246
|
if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {
|
|
254
247
|
return null;
|
|
255
248
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","getFormState","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","EditMany","props","collection","slug","labels","plural","fields","permissions","closeModal","config","routes","api","apiRoute","serverURL","count","getQueryParams","selectAll","i18n","selected","setSelected","stringifyParams","router","initialState","setInitialState","hasInitializedState","useRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","permission","drawerSlug","useEffect","current","getInitialState","state","result","body","collectionSlug","data","operation","schemaPath","onChange","formState","prevFormState","None","onSuccess","replace","params","page","AllAvailable","undefined","_jsxs","Header","id","Provider","value","label","type","length","path","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n readonly fields: ClientField[]\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__draft`} disabled={disabled} onClick={save}>\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, labels: { plural } } = {}, collection, fields } = props\n\n const { permissions } = useAuth()\n const { closeModal } = useModal()\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update?.permission\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const { state: result } = await getFormState({\n apiRoute,\n body: {\n collectionSlug: slug,\n data: {},\n operation: 'update',\n schemaPath: slug,\n },\n serverURL,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n }, [apiRoute, hasInitializedState, serverURL, slug])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const { state } = await getFormState({\n apiRoute,\n body: {\n collectionSlug: slug,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n },\n serverURL,\n })\n\n return state\n },\n [serverURL, apiRoute, slug],\n )\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n const onSuccess = () => {\n router.replace(\n stringifyParams({\n params: { page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined },\n }),\n )\n clearRouteCache()\n closeModal(drawerSlug)\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider collectionSlug={slug} id={null}>\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields fields={selected} path=\"\" readOnly={false} schemaPath={slug} />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","getFormState","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","EditMany","props","collection","slug","labels","plural","fields","permissions","closeModal","config","routes","api","apiRoute","serverURL","count","getQueryParams","selectAll","i18n","selected","setSelected","stringifyParams","router","initialState","setInitialState","hasInitializedState","useRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","permission","drawerSlug","useEffect","current","getInitialState","result","body","collectionSlug","data","operation","schemaPath","onChange","formState","prevFormState","None","onSuccess","replace","params","page","AllAvailable","undefined","_jsxs","Header","id","Provider","value","label","type","length","path","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n readonly fields: ClientField[]\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__draft`} disabled={disabled} onClick={save}>\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, labels: { plural } } = {}, collection, fields } = props\n\n const { permissions } = useAuth()\n const { closeModal } = useModal()\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update?.permission\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const result = await getFormState({\n apiRoute,\n body: {\n collectionSlug: slug,\n data: {},\n operation: 'update',\n schemaPath: slug,\n },\n serverURL,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n }, [apiRoute, hasInitializedState, serverURL, slug])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n ({ formState: prevFormState }) =>\n getFormState({\n apiRoute,\n body: {\n collectionSlug: slug,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n },\n serverURL,\n }),\n [serverURL, apiRoute, slug],\n )\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n const onSuccess = () => {\n router.replace(\n stringifyParams({\n params: { page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined },\n }),\n )\n clearRouteCache()\n closeModal(drawerSlug)\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider collectionSlug={slug} id={null}>\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields fields={selected} path=\"\" readOnly={false} schemaPath={slug} />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
transition-property: box-shadow, background-color;
|
|
19
19
|
transition-duration: 100ms;
|
|
20
20
|
transition-timing-function: cubic-bezier(0, 0.2, 0.2, 1);
|
|
21
|
-
--hamburger-size: var(--base);
|
|
22
21
|
|
|
23
22
|
&:hover {
|
|
24
23
|
background-color: var(--theme-elevation-100);
|
|
@@ -37,8 +36,5 @@
|
|
|
37
36
|
&__close-icon {
|
|
38
37
|
width: var(--hamburger-size);
|
|
39
38
|
height: var(--hamburger-size);
|
|
40
|
-
display: flex;
|
|
41
|
-
align-items: center;
|
|
42
|
-
justify-content: center;
|
|
43
39
|
}
|
|
44
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAgD,MAAM,OAAO,CAAA;AAsBpE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACpD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAgD,MAAM,OAAO,CAAA;AAsBpE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACpD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyLpD,CAAA"}
|
|
@@ -97,7 +97,7 @@ export const ListControls = props => {
|
|
|
97
97
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
98
98
|
className: `${baseClass}__wrap`,
|
|
99
99
|
children: [/*#__PURE__*/_jsx(SearchIcon, {}), /*#__PURE__*/_jsx(SearchFilter, {
|
|
100
|
-
fieldName:
|
|
100
|
+
fieldName: 'name' in titleField ? titleField?.name : null,
|
|
101
101
|
handleChange: search => {
|
|
102
102
|
return void handleSearchChange(search);
|
|
103
103
|
},
|
|
@@ -124,20 +124,16 @@ export const ListControls = props => {
|
|
|
124
124
|
}), enableColumns && /*#__PURE__*/_jsx(Pill, {
|
|
125
125
|
"aria-controls": `${baseClass}-columns`,
|
|
126
126
|
"aria-expanded": visibleDrawer === 'columns',
|
|
127
|
-
className: `${baseClass}__toggle-columns`,
|
|
128
|
-
icon: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
129
|
-
direction: visibleDrawer === 'columns' ? 'up' : 'down'
|
|
130
|
-
}),
|
|
127
|
+
className: `${baseClass}__toggle-columns ${visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''}`,
|
|
128
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
|
|
131
129
|
onClick: () => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined),
|
|
132
130
|
pillStyle: "light",
|
|
133
131
|
children: t('general:columns')
|
|
134
132
|
}), /*#__PURE__*/_jsx(Pill, {
|
|
135
133
|
"aria-controls": `${baseClass}-where`,
|
|
136
134
|
"aria-expanded": visibleDrawer === 'where',
|
|
137
|
-
className: `${baseClass}__toggle-where`,
|
|
138
|
-
icon: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
139
|
-
direction: visibleDrawer === 'where' ? 'up' : 'down'
|
|
140
|
-
}),
|
|
135
|
+
className: `${baseClass}__toggle-where ${visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''}`,
|
|
136
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
|
|
141
137
|
onClick: () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined),
|
|
142
138
|
pillStyle: "light",
|
|
143
139
|
children: t('general:filters')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","Fragment","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","SearchIcon","useListInfo","useListQuery","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fields","handleSearchChange","params","beforeActions","collectionSlug","disableBulkDelete","disableBulkEdit","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","collection","icon","direction","onClick","pillStyle","height","id","slug","collectionPluralLabel","labels","plural","String"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListInfo } from '../../providers/ListInfo/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly fields: ClientField[]\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fields } = props\n\n const { handleSearchChange, params } = useListQuery()\n const { beforeActions, collectionSlug, disableBulkDelete, disableBulkEdit } = useListInfo()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(params?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(params?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !params?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (params?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, params?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={params}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n {beforeActions && beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={fields}\n key={String(hasWhereParam.current && !params?.where)}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","Fragment","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","SearchIcon","useListInfo","useListQuery","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fields","handleSearchChange","params","beforeActions","collectionSlug","disableBulkDelete","disableBulkEdit","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","collection","icon","onClick","pillStyle","height","id","slug","collectionPluralLabel","labels","plural","String"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListInfo } from '../../providers/ListInfo/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly fields: ClientField[]\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fields } = props\n\n const { handleSearchChange, params } = useListQuery()\n const { beforeActions, collectionSlug, disableBulkDelete, disableBulkEdit } = useListInfo()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(params?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(params?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !params?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (params?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, params?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={params}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n {beforeActions && beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={fields}\n key={String(hasWhereParam.current && !params?.where)}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type { Where } from 'payload';
|
|
2
1
|
import React from 'react';
|
|
3
2
|
import type { ListDrawerProps } from './types.js';
|
|
4
|
-
export declare const hoistQueryParamsToAnd: (where: Where, queryParams: Where) => Where;
|
|
5
3
|
export declare const ListDrawerContent: React.FC<ListDrawerProps>;
|
|
6
4
|
//# sourceMappingURL=DrawerContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAEnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAsCjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+WvD,CAAA"}
|
|
@@ -24,7 +24,7 @@ import { ReactSelect } from '../ReactSelect/index.js';
|
|
|
24
24
|
import { TableColumnsProvider } from '../TableColumns/index.js';
|
|
25
25
|
import { ViewDescription } from '../ViewDescription/index.js';
|
|
26
26
|
import { baseClass } from './index.js';
|
|
27
|
-
|
|
27
|
+
const hoistQueryParamsToAnd = (where, queryParams) => {
|
|
28
28
|
if ('and' in where) {
|
|
29
29
|
where.and.push(queryParams);
|
|
30
30
|
} else if ('or' in where) {
|