@payloadcms/ui 3.68.0-internal-debug.2eb12b9 → 3.68.0-internal-debug.185cc5f
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/AnimateHeight/usePatchAnimateHeight.js +2 -2
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/Autosave/index.js +1 -0
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +2 -2
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +8 -8
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +12 -1
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +2 -2
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.js +13 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.js +5 -1
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +2 -2
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/types.js +3 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.js +8 -1
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +6 -0
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +1 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.js +1 -0
- package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +25 -1
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +5 -1
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.js +11 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +1 -0
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +3 -1
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +15 -1
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +3 -1
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +8 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +2 -3
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js +24 -3
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +6 -1
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/index.js +5 -1
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/types.js +7 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +2 -2
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +8 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +2 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.js +5 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +5 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListSelection/index.js +11 -1
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/Logout/index.js +5 -1
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Pill/index.js +5 -2
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PublishMany/index.js +3 -1
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -2
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +2 -2
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.js +8 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +2 -2
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +1 -0
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +1 -2
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +1 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchFilter/types.js +19 -1
- package/dist/elements/SearchFilter/types.js.map +1 -1
- package/dist/elements/Status/index.js +2 -2
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StepNav/index.js +5 -1
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +4 -4
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +2 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +3 -0
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.js +12 -12
- package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
- package/dist/elements/Tooltip/index.js +3 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +3 -1
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +8 -8
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +5 -6
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +2 -2
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.js +26 -2
- package/dist/exports/client/index.js.map +1 -1
- package/dist/exports/shared/index.js +2 -1
- package/dist/exports/shared/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +3 -1
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Email/index.js +1 -1
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.js +1 -1
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Number/index.js +5 -3
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/types.js +11 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.js +2 -2
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +4 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +4 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Text/index.js +3 -2
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +3 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/types.js +1 -0
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/fields/shared/index.js +2 -3
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.js +2 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.js +12 -9
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +11 -3
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +2 -2
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
- package/dist/forms/Form/types.js +52 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js +2 -1
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +6 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +20 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +33 -1
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +2 -2
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +16 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -2
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js +5 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/index.js +1 -0
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.js +19 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/hooks/useControllableState.js +9 -1
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +3 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useHotkey.js +2 -2
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +3 -4
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePopupWindow.js +2 -2
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useQueue.js +15 -7
- package/dist/hooks/useQueue.js.map +1 -1
- package/dist/hooks/useResize.js +4 -3
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/providers/Auth/index.js +35 -3
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Config/index.js +10 -1
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +6 -7
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.js +25 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/Folders/index.js +44 -2
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/types.js +5 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/LivePreview/context.js +11 -1
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.js +7 -4
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +7 -2
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +9 -9
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/Selection/index.js +7 -2
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +25 -22
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +10 -9
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +4 -3
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/types.js +17 -1
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/utilities/abortAndIgnore.js +4 -6
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +2 -2
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +6 -2
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +8 -8
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +2 -1
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +2 -2
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/hasSavePermission.js +5 -1
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/isURLAllowed.js +6 -6
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/utilities/renderTable.js +2 -1
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +3 -1
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/upsertPreferences.js +1 -0
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/Edit/index.js +7 -7
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +6 -1
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientUser, DocumentViewClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n UploadControls,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n previewWindowType,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(updatedAt)\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n drawerSlug,\n collectionSlug,\n userSlug,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n setLivePreviewURL,\n setPreviewURL,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n isPreviewEnabled,\n typeofLivePreviewURL,\n schemaPathSegments,\n isLockingEnabled,\n setDocumentIsLocked,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = config.folders && collectionSlug === config.folders?.slug\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && previewWindowType === 'iframe' && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n AfterHeader={Description}\n drawerSlug={drawerSlug}\n showDocumentID={!isFolderCollection}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving onConfirm={handleLeaveConfirm} onPrevent={handlePrevent} />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n BeforeDocumentControls={BeforeDocumentControls}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={data}\n disableActions={disableActions || isFolderCollection || isTrashed}\n disableCreate={disableCreate}\n EditMenuItems={EditMenuItems}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n isInDrawer={isInDrawer}\n isTrashed={isTrashed}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onRestore={onRestore}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <div\n className={[\n `${baseClass}__main-wrapper`,\n previewWindowType === 'popup' && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <UploadControlsProvider>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n />\n )}\n </UploadControlsProvider>\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["useRouter","useSearchParams","formatAdminURL","hasAutosaveEnabled","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","LivePreviewWindow","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","BeforeDocumentControls","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","UploadControls","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","previewWindowType","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","updatedAt","toISOString","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","onChange","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","isFolderCollection","folders","main","className","filter","disabled","disableValidationOnSubmit","isDocumentForm","method","onSuccess","AfterHeader","showDocumentID","isActive","onReadOnly","onTakeOver","documentLockStateRef","isWithinDoc","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","div","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields","forceSidebarWrap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientUser, DocumentViewClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n UploadControls,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n previewWindowType,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(updatedAt)\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n drawerSlug,\n collectionSlug,\n userSlug,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n setLivePreviewURL,\n setPreviewURL,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n isPreviewEnabled,\n typeofLivePreviewURL,\n schemaPathSegments,\n isLockingEnabled,\n setDocumentIsLocked,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = config.folders && collectionSlug === config.folders?.slug\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && previewWindowType === 'iframe' && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n AfterHeader={Description}\n drawerSlug={drawerSlug}\n showDocumentID={!isFolderCollection}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving onConfirm={handleLeaveConfirm} onPrevent={handlePrevent} />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n BeforeDocumentControls={BeforeDocumentControls}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={data}\n disableActions={disableActions || isFolderCollection || isTrashed}\n disableCreate={disableCreate}\n EditMenuItems={EditMenuItems}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n isInDrawer={isInDrawer}\n isTrashed={isTrashed}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onRestore={onRestore}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <div\n className={[\n `${baseClass}__main-wrapper`,\n previewWindowType === 'popup' && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <UploadControlsProvider>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n />\n )}\n </UploadControlsProvider>\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["useRouter","useSearchParams","formatAdminURL","hasAutosaveEnabled","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","LivePreviewWindow","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","BeforeDocumentControls","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","UploadControls","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","previewWindowType","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","updatedAt","toISOString","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","onChange","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","isFolderCollection","folders","main","className","filter","disabled","disableValidationOnSubmit","isDocumentForm","method","onSuccess","AfterHeader","showDocumentID","isActive","onReadOnly","onTakeOver","documentLockStateRef","isWithinDoc","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","div","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields","forceSidebarWrap"],"mappings":"AAAA;;AAIA,SAASA,SAAS,EAAEC,eAAe,QAAQ,qBAAoB;AAC/D,SAASC,cAAc,EAAEC,kBAAkB,QAAQ,iBAAgB;AACnE,OAAOC,SAASC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AAM1F,SAASC,gBAAgB,QAAQ,2CAA0C;AAC3E,SAASC,oBAAoB,QAAQ,sDAAqD;AAC1F,SAASC,wBAAwB,QAAQ,4CAA2C;AACpF,SAASC,cAAc,QAAQ,yCAAwC;AACvE,SAASC,cAAc,QAAQ,yCAAwC;AACvE,SAASC,gBAAgB,QAAQ,2CAA0C;AAC3E,SAASC,kBAAkB,QAAQ,6CAA4C;AAC/E,SAASC,iBAAiB,QAAQ,6CAA4C;AAC9E,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,iBAAiB,QAAQ,0CAAyC;AAC3E,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,qBAAqB,EAAEC,aAAa,QAAQ,yCAAwC;AAC7F,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,kBAAkB,QAAQ,2CAA0C;AAC7E,SAASC,kBAAkB,QAAQ,2CAA0C;AAC7E,SAASC,sBAAsB,QAAQ,0CAAyC;AAChF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,EAAEC,cAAc,QAAQ,oCAAmC;AAClF,SAASC,qBAAqB,QAAQ,2CAA0C;AAChF,SAASC,YAAY,QAAQ,kCAAiC;AAC9D,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,kBAAkB,QAAQ,gCAA+B;AAClE,SAASC,gBAAgB,QAAQ,8BAA6B;AAC9D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAOlB,gDAAgD;AAChD,iDAAiD;AACjD,wEAAwE;AACxE,OAAO,SAASC,gBAAgB,EAC9BC,sBAAsB,EACtBC,WAAW,EACXC,aAAa,EACbC,aAAaC,iBAAiB,EAC9BC,aAAa,EACbC,aAAa,EACbC,UAAU,EACVC,eAAe,EACfjC,QAAQkC,YAAY,EACpBC,cAAc,EACU;IACxB,MAAM,EACJC,EAAE,EACFC,MAAM,EACNC,aAAa,EACbC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,cAAc,EACdC,aAAa,EACbC,IAAI,EACJC,cAAc,EACdC,aAAa,EACbC,yBAAyB,EACzBC,cAAc,EACdC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,EACjBC,iBAAiB,EACjBC,UAAU,EACVC,oBAAoB,EACpBC,iBAAiB,EACjBC,qBAAqB,EACrBC,YAAY,EACZC,SAAS,EACTC,cAAc,EACdC,QAAQ,EACRC,SAAS,EACTC,cAAc,EACdC,mBAAmB,EACnBC,mBAAmB,EACnBC,sBAAsB,EACtBC,oBAAoB,EACpBC,gBAAgB,EAChBC,OAAO,EACPC,mBAAmB,EACnBC,iBAAiB,EACjBC,cAAc,EACdC,oBAAoB,EACrB,GAAGnE;IAEJ,MAAM,EACJoE,QAAQ,EACRC,UAAU,EACVC,QAAQ,EACRC,WAAW,EACXC,SAAS,EACTC,QAAQC,iBAAiB,EAC1B,GAAGrF;IAEJ,MAAMsF,aAAaC,QAAQP;IAE3B,MAAM,EAAEQ,kBAAkB,EAAEC,IAAI,EAAE,GAAGjF;IAErC,MAAM,EACJkF,MAAM,EACNA,QAAQ,EACNC,OAAO,EAAEF,MAAMG,QAAQ,EAAE,EACzBC,QAAQ,EAAEF,OAAOG,UAAU,EAAE,EAC9B,EACDC,eAAe,EAChB,GAAGtF;IAEJ,MAAMuF,mBAAmBD,gBAAgB;QAAE/C;IAAe;IAC1D,MAAMiD,eAAeF,gBAAgB;QAAEpC;IAAW;IAElD,MAAMuC,QAAQtF;IAEd,MAAMuF,SAAShH;IACf,MAAMiH,SAAShH;IACf,MAAM,EAAEiH,YAAY,EAAE,GAAG3F;IACzB,MAAM,EAAE4F,gBAAgB,EAAE,GAAGlF;IAC7B,MAAM,EAAEmF,YAAY,EAAE,GAAGrF;IACzB,MAAM,EAAEsF,oBAAoB,EAAE,GAAGvF;IACjC,MAAM,EAAEwF,eAAe,EAAE,GAAGzF;IAC5B,MAAM,EACJ0F,oBAAoB,EACpBC,gBAAgB,EAChBC,iBAAiB,EACjBC,QAAQC,iBAAiB,EACzBC,oBAAoB,EACpBC,KAAKC,cAAc,EACpB,GAAGpG;IACJ,MAAM,EAAEqG,gBAAgB,EAAEC,aAAa,EAAE,GAAGrG;IAE5C,MAAMsG,mBAAmBxH,OAAwB;IACjD,MAAMyH,iBAAiBzH,OAAwB;IAE/C,MAAM0H,SAASlB,OAAOmB,GAAG,CAAC;IAE1B,MAAMC,aAAaxB,kBAAkByB,QAAQxB,cAAcwB;IAE3D,MAAMC,YAAY1E,kBAAkB,CAACN,KAAK,WAAW;IAErD,MAAMiF,OAAO3B,mBAAmBA,iBAAiB2B,IAAI,GAAGC;IACxD,MAAMC,SAAS7B,mBAAmBA,iBAAiB6B,MAAM,GAAGD;IAE5D,MAAME,YAAY9B,oBAAoBC;IAEtC,MAAM8B,oBAAoBD,WAAWE,kBAAkBJ,YAAYE,WAAWE,gBAAgB;IAC9F,MAAMC,mBAAmBF,sBAAsB;IAE/C,MAAMG,sBAAsB;IAAI,+BAA+B;IAC/D,MAAMC,eACJ,OAAOJ,sBAAsB,WAAWA,kBAAkBK,QAAQ,GAAGF;IACvE,MAAMG,6BAA6BF,eAAe;IAElD,MAAMG,kBAAkBhJ,mBAAmBwI;IAE3C,MAAM,CAACS,2BAA2BC,6BAA6B,GAAG3I,SAAS;IAC3E,MAAM,CAAC4I,mBAAmBC,qBAAqB,GAAG7I,SAAS;IAE3D,MAAM,CAAC8I,sBAAsBC,wBAAwB,GAAG/I,SAASgJ,KAAKC,GAAG;IAEzE,MAAMC,iBAAiB3E,iBAAiBiE;IACxC,MAAMW,gBAAgBH,KAAKC,GAAG,KAAKC;IAEnC,MAAME,4BACJ,CAACV,6BACA,CAAA,OAAOlF,8BAA8B,cAClC,CAACA,4BACD,CAACiF,eAAc;IAErB,MAAMY,qBAAqBvJ,QAAQ,IAAM;YAAC6H;SAAW,EAAE;QAACA;KAAW;IAEnE,MAAM,CAAC2B,sBAAsBC,wBAAwB,GAAGvJ,SAAS;QAC/D,IAAI6H,cAAc,YAAYC,QAAQ,CAACA,KAAK0B,oBAAoB,EAAE;YAChE,OAAO;QACT;QAEA,OAAO;IACT;IAEA,MAAMC,cAAc/J,MAAMK,MAAM,CAAgB;IAEhD,MAAM2J,wBAAwB9J,YAC5B,CAAC+J;QACC7E,oBAAoB;QACpB,MAAM8E,kBACJ,OAAOjG,kBAAkBkG,OAAO,EAAEjE,SAAS,WACvCjC,kBAAkBkG,OAAO,EAAEjE,MAAM/C,KACjCc,kBAAkBkG,OAAO,EAAEjE;QAEjC,IAAI+D,aAAa;YACf,MAAMG,eACJ,OAAOH,YAAY/D,IAAI,KAAK,YAAY,OAAO+D,YAAY/D,IAAI,KAAK,WAChE+D,YAAY/D,IAAI,GAChB+D,YAAY/D,IAAI,CAAC/C,EAAE;YAEzB,IAAI,CAACc,kBAAkBkG,OAAO,IAAIC,iBAAiBF,iBAAiB;gBAClE,IAAIA,oBAAoBhE,KAAK/C,EAAE,IAAIiH,iBAAiBlE,KAAK/C,EAAE,EAAE;oBAC3DgG,qBAAqB;oBACrBlF,kBAAkBkG,OAAO,CAACE,mBAAmB,GAAG;gBAClD;gBAEApG,kBAAkBkG,OAAO,GAAG;oBAC1BE,qBAAqBpG,kBAAkBkG,OAAO,EAAEE,uBAAuB;oBACvE1F,UAAU;oBACVuB,MAAM+D,YAAY/D,IAAI;gBACxB;gBACAhB,iBAAiB+E,YAAY/D,IAAI;YACnC;YAEA,gDAAgD;YAChD,IAAI+D,YAAYK,YAAY,EAAE;gBAC5BjF,kBAAkB,IAAIiE,KAAKW,YAAYK,YAAY,EAAEC,OAAO;YAC9D;QACF;IACF,GACA;QAACtG;QAAmBiB;QAAkBE;QAAqBC;QAAmBa,MAAM/C;KAAG;IAGzF,MAAMqH,gBAAgBtK,YAAY,CAACuK;QACjCV,YAAYI,OAAO,GAAGM;IACxB,GAAG,EAAE;IAEL,MAAMC,qBAAqBxK,YAAY;QACrC,MAAMyK,WAAW1G,kBAAkBkG,OAAO,EAAEjE;QAE5C,MAAM0E,2BACJ,OAAOD,aAAa,WAAWA,UAAUxH,OAAO+C,MAAM/C,KAAKwH,aAAazE,MAAM/C;QAEhF,IAAIuF,oBAAoB1E,oBAAqBb,CAAAA,MAAMiB,UAAS,GAAI;YAC9D,mCAAmC;YACnC,MAAMyG,WAAWd,YAAYI,OAAO,GAAG,IAAIW,IAAIf,YAAYI,OAAO,EAAEY,QAAQ,GAAG;YAC/E,MAAMC,iBAAiB;gBAAC;gBAAY;gBAAQ;aAAY,CAACC,IAAI,CAAC,CAACC,OAC7DL,SAASM,QAAQ,CAACD;YAGpB,yFAAyF;YACzF,IAAIN,4BAA4B,CAACI,gBAAgB;gBAC/C,IAAI;oBACF,MAAM1F,eAAenC,IAAIM,kBAAkBW;oBAC3CgB,oBAAoB;oBACpBF,iBAAiB;gBACnB,EAAE,OAAOkG,KAAK;oBACZC,QAAQC,KAAK,CAAC,iCAAiCF;gBACjD;YACF;QACF;IACF,GAJ4D,iCAAiC;IAI1F;QACD3H;QACAO;QACAC;QACAG;QACAjB;QACAuF;QACAxD;QACAE;QACAE;QACAY,MAAM/C;KACP;IAED,MAAM0C,SAA4C3F,YAChD,OAAOqL,MAAMC;QACX,MAAM,EAAEC,OAAO,EAAEC,SAAS,EAAE,GAAGF,OAAO,CAAC;QAEvC,MAAMG,aAAa5J,eAAe+F;QAElC,MAAM8D,WAAWL,MAAMM,OAAON,MAAMO;QAEpC,MAAMC,YAAYH,UAAUG,aAAa,IAAIzC,OAAO0C,WAAW;QAE/D,kDAAkD;QAClD,4CAA4C;QAC5C,IAAI9F,QAAQzC,mBAAmB4C,YAAYlD,OAAO+C,KAAK/C,EAAE,EAAE;YACzD,KAAK8C;QACP;QAEAZ,kBAAkB0G;QAElB,IAAIN,SAASlH,0BAA0B,OAAO;YAC5CA;QACF;QAEA,IAAI,OAAOY,YAAY,YAAY;YACjC,KAAKA,QAAQyG,YAAY,CAAC;QAC5B;QAEA,IAAI,OAAO9F,sBAAsB,YAAY;YAC3C,MAAMqC,YAAYhF,KAAK,WAAW;YAElC,KAAK2C,kBAAkB;gBACrB,GAAIyF,IAAI;gBACRE;gBACAtD;gBACA,mEAAmE;gBACnE4D,WACE5D,cAAc,WACV,IAAImB,OAAO0C,WAAW,KACtBJ,UAAUG,aAAa,IAAIzC,OAAO0C,WAAW;YACrD;QACF;QAEA,IAAI,CAACvH,aAAakC,QAAQ,KAAK7B,wBAAwB,OAAO;YAC5D,+CAA+C;YAC/C,MAAMmH,gBAAgBnM,eAAe;gBACnCyG;gBACA2E,MAAM,CAAC,aAAa,EAAEzH,eAAe,CAAC,EAAEmI,UAAUzI,KAAK4E,SAAS,CAAC,QAAQ,EAAEA,QAAQ,GAAG,IAAI;YAC5F;YAEAd,qBAAqB,IAAML,OAAOsF,IAAI,CAACD;QACzC,OAAO;YACLlF;QACF;QAEA,IAAI0E,SAASvH,sBAAsB,OAAO;YACxC,MAAMA,kBAAkBqH;QAC1B;QAEA,IAAIpI,MAAMiB,YAAY;YACpB,MAAM+H,iBAAiB,MAAMhI;YAE7B,MAAM,EAAEuD,cAAc,EAAE0E,UAAU,EAAEC,KAAK,EAAE,GAAG,MAAMrF,aAAa;gBAC/D7D;gBACAM;gBACAE,MAAMiI;gBACN7H;gBACAoI;gBACAT;gBACAtH;gBACA+D;gBACAmE,iBAAiB;gBACjBC,sBAAsBpF,wBAAwBK,yBAAyB;gBACvEgF,kBAAkB;gBAClBC,kBAAkB9E;gBAClB+E,YAAY/C,mBAAmBgD,IAAI,CAAC;gBACpCC,QAAQjB,WAAWiB,MAAM;gBACzBC,gBAAgB;YAClB;YAEA,iCAAiC;YACjC,IAAInE,kBAAkB;gBACpBtD,oBAAoB;YACtB;YAEA,IAAI+B,wBAAwBK,yBAAyB,YAAY;gBAC/DD,kBAAkBG;YACpB;YAEA,IAAIC,kBAAkB;gBACpBC,cAAcwE;YAChB;YAEAtF,aAAa;gBACX3D;gBACA0I,KAAKD;gBACLnG;gBACAwC;gBACAE,WAAW;gBACX4D;YACF;YAEAjE,eAAeqC,OAAO,GAAG;YAEzB,OAAOkC;QACT,OAAO;YACLvF,aAAa;gBACX3D;gBACA0I,KAAKD;gBACLnG;gBACAwC;gBACAE,WAAW;gBACX4D;YACF;QACF;IACF,GACA;QACEjF;QACA3D;QACA8E;QACA/B;QACAT;QACAhC;QACA4C;QACAhB;QACAF;QACAW;QACArB;QACAkC;QACA7B;QACAyC;QACAK;QACAxD;QACA6B;QACA1B;QACAgC;QACAwB;QACAd;QACAL;QACAG;QACA7C;QACAC;QACA6C;QACAjD;QACAoE;QACAhB;QACAQ;QACAH;QACAmC;QACAjB;QACAtD;KACD;IAGH,MAAM0H,WAAqC5M,YACzC,OAAO,EAAEwL,WAAWqB,aAAa,EAAEC,SAAS,EAAE;QAC5C,MAAMrB,aAAa5J,eAAe8F;QAElC,MAAMoF,cAAc3D,KAAKC,GAAG;QAC5B,MAAM2D,sBAAsBD,cAAc7D;QAE1C,MAAM+D,mBAAmBzE,oBAAoBwE,uBAAuB;QAAM,aAAa;QAEvF,IAAIC,kBAAkB;YACpB9D,wBAAwB4D;QAC1B;QAEA,MAAMd,iBAAiB,MAAMhI;QAE7B,MAAM2H,SAAS,MAAM9E,aAAa;YAChC7D;YACAM;YACAM;YACAoI;YACAT,WAAWqB;YACX3I;YACA+D;YACAmE,iBAAiB;YACjBE,kBAAkB9D;YAClBgE,YAAY/C,mBAAmBgD,IAAI,CAAC;YACpCC,QAAQjB,WAAWiB,MAAM;YACzBC,gBAAgB,CAACG;YACjBG;QACF;QAEA,IAAI,CAACrB,QAAQ;YACX;QACF;QAEA,MAAM,EAAE7B,WAAW,EAAEoC,KAAK,EAAE,GAAGP;QAE/B,IAAIpD,kBAAkB;YACpBsB,sBAAsBC;QACxB;QAEApC,iBAAiBsC,OAAO,GAAG;QAE3B,OAAOkC;IACT,GACA;QACEjD;QACAV;QACAvE;QACA6C;QACA7D;QACAM;QACAM;QACAK;QACA+D;QACAwB;QACAK;KACD;IAGH,wEAAwE;IACxE7J,UAAU;QACR,OAAO;YACLgJ,qBAAqB;QACvB;IACF,GAAG,EAAE;IAELhJ,UAAU;QACR,MAAMiN,gBAAgBvF,iBAAiBsC,OAAO;QAC9C,MAAMkD,cAAcvF,eAAeqC,OAAO;QAE1C,OAAO;YACLrI,eAAesL;YACftL,eAAeuL;QACjB;IACF,GAAG,EAAE;IAEL,MAAMC,gCACJtJ,oBACAN,iBACC,CAAA,OAAOA,kBAAkB,WACtBA,cAAcP,EAAE,KAAK+C,MAAM/C,KAC3BO,kBAAkBwC,MAAM/C,EAAC,KAC7B,CAAC6F,6BACD,CAACE,qBACD,CAACjF,kBAAkBkG,OAAO,EAAEE,uBAC5B,CAACZ;IAEH,MAAM8D,qBAAqBpH,OAAOqH,OAAO,IAAI/J,mBAAmB0C,OAAOqH,OAAO,EAAEtF;IAEhF,qBACE,KAACuF;QACCC,WAAW;YACTpL;YACCa,CAAAA,MAAMiB,UAAS,KAAM,GAAG9B,UAAU,YAAY,CAAC;YAChD8B,cAAc,CAAC,aAAa,EAAEA,YAAY;YAC1CX,kBAAkB,CAAC,iBAAiB,EAAEA,gBAAgB;YACtD2D,oBAAoBC,sBAAsB,YAAY,GAAG/E,UAAU,oBAAoB,CAAC;SACzF,CACEqL,MAAM,CAAC3H,SACP2G,IAAI,CAAC;kBAER,cAAA,KAACnL;YAAkB2G,WAAWA;sBAC5B,cAAA,MAACnH;gBACCoC,QAAQA;gBACRsK,WAAW,GAAGpL,UAAU,MAAM,CAAC;gBAC/BsL,UAAU5E,6BAA6BtE,kBAAkB,CAACJ,qBAAqBM;gBAC/EiJ,2BAA2B,CAACjE;gBAC5BpF,cAAc,CAACE,kBAAkBF;gBACjCsJ,gBAAgB;gBAChBpJ,gBAAgBA;gBAEhBqJ,QAAQ5K,KAAK,UAAU;gBACvB2J,UAAU;oBAACA;iBAAS;gBACpBkB,WAAWnI;;oBAEVE,4BACC,KAACvF;wBACCyN,aAAaxL;wBACbgD,YAAYA;wBACZyI,gBAAgB,CAACX;;oBAGpB7E,oBAAoB4E,+CACnB,KAAC3M;wBACCsB,cAAc,IAAMA,aAAa;gCAAEsE;gCAAY9C;gCAAgBmD;4BAAO;wBACtEuH,UAAUb;wBACVc,YAAY;4BACVnF,6BAA6B;4BAC7BE,qBAAqB;wBACvB;wBACAkF,YAAY,IACVnM,eAAe;gCACbiB;gCACA+D;gCACAzD;gCACA6K,sBAAsBrK;gCACtBG;gCACAsE;gCACA6F,aAAa;gCACbrJ;gCACAK;gCACAW;4BACF;wBAEF6F,WAAWlH;wBACXqB,MAAMxC;;oBAGTgF,oBAAoBQ,mCACnB,KAACtI;wBACCoB,uBAAuB,IAAMA,sBAAsB;gCAAEuE;gCAAYK;4BAAO;wBACxEuH,UAAUjF;wBACVkF,YAAY;4BACVnF,6BAA6B;4BAC7BE,qBAAqB;wBACvB;;oBAGHO,2CACC,KAAC7I;wBAAmB2N,WAAW9D;wBAAoB+D,WAAWjE;;oBAE/D,CAACzE,4BACA,KAAC3D;wBACCqB,gBAAgBgD,kBAAkByB;wBAClC9D,YAAYsC,cAAcwB;wBAC1B/E,IAAIA;wBACJyB,WAAWA;wBACX8J,aAAajI,kBAAkBkI,QAAQC;wBACvCC,YAAYpI,kBAAkBL,OAAOyI;;kCAGzC,KAACxM;wBACCoE,kBAAkBA;wBAClBN,QAAQA;wBACR2I,UAAUnI,SAAS,IAAIxD,IAAI4L,aAAa1G;wBACxC3B,cAAcA;;kCAEhB,KAACnG;wBACCgD,QAAQA;wBACRf,wBAAwBA;wBACxBwM,kBAAkB;4BAChBnM;4BACAC;4BACAC;4BACAC;wBACF;wBACAW,MAAMA;wBACNC,gBAAgBA,kBAAkB2J,sBAAsB3I;wBACxDf,eAAeA;wBACfnB,eAAeA;wBACf2B,sBAAsBA;wBACtBC,mBAAmBA;wBACnBnB,IAAIA;wBACJsB,WAAWA;wBACXsB,YAAYA;wBACZnB,WAAWA;wBACXc,UAAUA;wBACVuJ,mBAAmBzJ;wBACnBG,aAAaA;wBACbC,WAAWA;wBACXC,QAAQA;wBACRwI,YAAY,IACVnM,eAAe;gCACbiB;gCACA+D;gCACAzD;gCACA6K,sBAAsBrK;gCACtBG;gCACAsE;gCACA6F,aAAa;gCACbrJ;gCACA+D;gCACA1D;gCACAW;4BACF;wBAEFgJ,aAAanL;wBACboL,yBAAyBnG;wBACzBjE,qBAAqBA;wBACrBC,wBAAwBA;wBACxBC,sBAAsBA;wBACtBiD,MAAMzB,kBAAkByB,QAAQxB,cAAcwB;wBAC9ChC,MAAMxC;;kCAER,MAAC0L;wBACC1B,WAAW;4BACT,GAAGpL,UAAU,cAAc,CAAC;4BAC5B+E,sBAAsB,WAAW,GAAG/E,UAAU,UAAU,CAAC;yBAC1D,CACEqL,MAAM,CAAC3H,SACP2G,IAAI,CAAC;;0CAER,MAACyC;gCACC1B,WAAW;oCACT,GAAGpL,UAAU,MAAM,CAAC;oCACpB+E,sBAAsB,WAAW,GAAG/E,UAAU,kBAAkB,CAAC;iCAClE,CACEqL,MAAM,CAAC3H,SACP2G,IAAI,CAAC;;kDAER,KAACjM;wCACC4C,aAAaA;wCACbE,cACEA,8BACE,MAACvD;;gDACEmI,sBACC,KAACjG;oDACCuL,WAAW,GAAGpL,UAAU,MAAM,CAAC;oDAC/BmB,gBAAgBgD,iBAAiByB,IAAI;oDACrC4B,sBAAsBrD,iBAAiB2B,IAAI,EAAE0B;oDAC7CuF,OAAO1L,MAAM0L;oDACbC,mBAAmBlH,MAAMkH;oDACzBnH,WAAWA;oDACXoH,UAAU,CAACjL;oDACXkL,iBAAiB,CAACrM;oDAClB0G,yBAAyBA;oDACzB,yDAAyD;oDACzD4F,WAAWrH,KAAKqH,SAAS;oDACzBC,UAAU/L,MAAM+L;oDAChBC,QAAQvH,KAAKuH,MAAM;;gDAGtBrH,wBACC,KAACtI,MAAMC,QAAQ;8DACb,cAAA,KAAC2B;kEACEqB,8BACC,KAAClC;4DACC0C,gBAAgBgD,iBAAiByB,IAAI;4DACrC1D,cAAcA;4DACdoL,cAActH;4DACdpF,gBAAgBA;;;;;;wCAShCT,aAAaA;wCACbsB,gBAAgBA;wCAChB8L,QAAQtH,UAAUsH,MAAM;wCACxBC,kBAAkB1I;wCAClBxC,WAAWA;wCACX2K,UAAUvG,6BAA6B,CAAC1E,qBAAqBM;wCAC7D+E,oBAAoBA;;oCAErBtG;;;4BAEF8D,wBAAwB,CAACpB,cAAc2B,gCACtC;0CACG9E,mCACC,KAAC9B;oCAAkB2C,gBAAgBA;oCAAgBW,YAAYA;;;;;;eAtLlE,GAAGO,UAAU;;;AA+L5B"}
|
|
@@ -13,7 +13,12 @@ import { useListQuery } from '../../../providers/ListQuery/index.js';
|
|
|
13
13
|
import { ListSelection } from '../ListSelection/index.js';
|
|
14
14
|
import './index.scss';
|
|
15
15
|
const drawerBaseClass = 'list-drawer';
|
|
16
|
-
|
|
16
|
+
/** @deprecated This prop will be removed in the next major version.
|
|
17
|
+
*
|
|
18
|
+
* Opening of the bulk upload modal is handled internally.
|
|
19
|
+
*
|
|
20
|
+
* Prefer `onBulkUploadSuccess` usage to handle the success of the bulk upload.
|
|
21
|
+
*/ /** @deprecated This prop will be removed in the next major version. */ export const CollectionListHeader = ({ className, collectionConfig, Description, disableBulkDelete, disableBulkEdit, hasCreatePermission, hasDeletePermission, i18n, isBulkUploadEnabled, isTrashEnabled, newDocumentURL, onBulkUploadSuccess, openBulkUpload, smallBreak, viewType })=>{
|
|
17
22
|
const { config, getEntityConfig } = useConfig();
|
|
18
23
|
const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext();
|
|
19
24
|
const isTrashRoute = viewType === 'trash';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { DefaultListViewTabs } from '../../../elements/DefaultListViewTabs/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js'\nimport { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js'\nimport { ListHeader } from '../../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewButton,\n ListEmptyTrashButton,\n} from '../../../elements/ListHeader/TitleActions/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\nimport './index.scss'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n Actions?: React.ReactNode[]\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasCreatePermission: boolean\n hasDeletePermission?: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n isTrashEnabled?: boolean\n newDocumentURL: string\n onBulkUploadSuccess?: () => void\n /** @deprecated This prop will be removed in the next major version.\n *\n * Opening of the bulk upload modal is handled internally.\n *\n * Prefer `onBulkUploadSuccess` usage to handle the success of the bulk upload.\n */\n openBulkUpload: () => void\n smallBreak: boolean\n /** @deprecated This prop will be removed in the next major version. */\n t?: TFunction\n TitleActions?: React.ReactNode[]\n viewType?: ViewTypes\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n hasDeletePermission,\n i18n,\n isBulkUploadEnabled,\n isTrashEnabled,\n newDocumentURL,\n onBulkUploadSuccess,\n openBulkUpload,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\n const isTrashRoute = viewType === 'trash'\n const { isGroupingBy } = useListQuery()\n\n if (isInDrawer) {\n return (\n <ListHeader\n Actions={[\n <CloseModalButton\n className={`${drawerBaseClass}__header-close`}\n key=\"close-button\"\n slug={drawerSlug}\n />,\n ]}\n AfterListHeaderContent={\n <>\n {Description}\n {<DrawerRelationshipSelect />}\n </>\n }\n className={`${drawerBaseClass}__header`}\n title={getTranslation(\n getEntityConfig({ collectionSlug: selectedOption.value })?.labels?.plural,\n i18n,\n )}\n TitleActions={[\n <ListDrawerCreateNewDocButton\n hasCreatePermission={hasCreatePermission}\n key=\"list-drawer-create-new-doc\"\n />,\n ].filter(Boolean)}\n />\n )\n }\n\n return (\n <ListHeader\n Actions={[\n !smallBreak && !isGroupingBy && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n key=\"list-selection\"\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n viewType={viewType}\n />\n ),\n <DefaultListViewTabs\n collectionConfig={collectionConfig}\n config={config}\n key=\"default-list-actions\"\n viewType={viewType}\n />,\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={getTranslation(collectionConfig?.labels?.plural, i18n)}\n TitleActions={[\n hasCreatePermission && !isTrashRoute && (\n <ListCreateNewButton\n collectionConfig={collectionConfig}\n hasCreatePermission={hasCreatePermission}\n key=\"list-header-create-new-doc\"\n newDocumentURL={newDocumentURL}\n />\n ),\n hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && (\n <ListBulkUploadButton\n collectionSlug={collectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"list-header-bulk-upload\"\n onBulkUploadSuccess={onBulkUploadSuccess}\n openBulkUpload={openBulkUpload}\n />\n ),\n hasDeletePermission && isTrashEnabled && viewType === 'trash' && (\n <ListEmptyTrashButton\n collectionConfig={collectionConfig}\n hasDeletePermission={hasDeletePermission}\n key=\"list-header-empty-trash\"\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"names":["getTranslation","React","CloseModalButton","DefaultListViewTabs","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","ListCreateNewButton","ListEmptyTrashButton","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","hasDeletePermission","i18n","isBulkUploadEnabled","isTrashEnabled","newDocumentURL","onBulkUploadSuccess","openBulkUpload","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isTrashRoute","isGroupingBy","Actions","slug","AfterListHeaderContent","title","collectionSlug","value","labels","plural","TitleActions","filter","Boolean","label","showSelectAllAcrossPages"],"mappings":";AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,gBAAgB,QAAQ,8CAA6C;AAC9E,SAASC,mBAAmB,QAAQ,iDAAgD;AACpF,SAASC,oBAAoB,QAAQ,2CAA0C;AAC/E,SAASC,wBAAwB,QAAQ,iEAAgE;AACzG,SAASC,4BAA4B,QAAQ,2DAA0D;AACvG,SAASC,UAAU,QAAQ,wCAAuC;AAClE,SACEC,oBAAoB,EACpBC,mBAAmB,EACnBC,oBAAoB,QACf,qDAAoD;AAC3D,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,YAAY,QAAQ,wCAAuC;AACpE,SAASC,aAAa,QAAQ,4BAA2B;AACzD,OAAO,eAAc;AAErB,MAAMC,kBAAkB;
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { DefaultListViewTabs } from '../../../elements/DefaultListViewTabs/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js'\nimport { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js'\nimport { ListHeader } from '../../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewButton,\n ListEmptyTrashButton,\n} from '../../../elements/ListHeader/TitleActions/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\nimport './index.scss'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n Actions?: React.ReactNode[]\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasCreatePermission: boolean\n hasDeletePermission?: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n isTrashEnabled?: boolean\n newDocumentURL: string\n onBulkUploadSuccess?: () => void\n /** @deprecated This prop will be removed in the next major version.\n *\n * Opening of the bulk upload modal is handled internally.\n *\n * Prefer `onBulkUploadSuccess` usage to handle the success of the bulk upload.\n */\n openBulkUpload: () => void\n smallBreak: boolean\n /** @deprecated This prop will be removed in the next major version. */\n t?: TFunction\n TitleActions?: React.ReactNode[]\n viewType?: ViewTypes\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n hasDeletePermission,\n i18n,\n isBulkUploadEnabled,\n isTrashEnabled,\n newDocumentURL,\n onBulkUploadSuccess,\n openBulkUpload,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\n const isTrashRoute = viewType === 'trash'\n const { isGroupingBy } = useListQuery()\n\n if (isInDrawer) {\n return (\n <ListHeader\n Actions={[\n <CloseModalButton\n className={`${drawerBaseClass}__header-close`}\n key=\"close-button\"\n slug={drawerSlug}\n />,\n ]}\n AfterListHeaderContent={\n <>\n {Description}\n {<DrawerRelationshipSelect />}\n </>\n }\n className={`${drawerBaseClass}__header`}\n title={getTranslation(\n getEntityConfig({ collectionSlug: selectedOption.value })?.labels?.plural,\n i18n,\n )}\n TitleActions={[\n <ListDrawerCreateNewDocButton\n hasCreatePermission={hasCreatePermission}\n key=\"list-drawer-create-new-doc\"\n />,\n ].filter(Boolean)}\n />\n )\n }\n\n return (\n <ListHeader\n Actions={[\n !smallBreak && !isGroupingBy && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n key=\"list-selection\"\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n viewType={viewType}\n />\n ),\n <DefaultListViewTabs\n collectionConfig={collectionConfig}\n config={config}\n key=\"default-list-actions\"\n viewType={viewType}\n />,\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={getTranslation(collectionConfig?.labels?.plural, i18n)}\n TitleActions={[\n hasCreatePermission && !isTrashRoute && (\n <ListCreateNewButton\n collectionConfig={collectionConfig}\n hasCreatePermission={hasCreatePermission}\n key=\"list-header-create-new-doc\"\n newDocumentURL={newDocumentURL}\n />\n ),\n hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && (\n <ListBulkUploadButton\n collectionSlug={collectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"list-header-bulk-upload\"\n onBulkUploadSuccess={onBulkUploadSuccess}\n openBulkUpload={openBulkUpload}\n />\n ),\n hasDeletePermission && isTrashEnabled && viewType === 'trash' && (\n <ListEmptyTrashButton\n collectionConfig={collectionConfig}\n hasDeletePermission={hasDeletePermission}\n key=\"list-header-empty-trash\"\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"names":["getTranslation","React","CloseModalButton","DefaultListViewTabs","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","ListCreateNewButton","ListEmptyTrashButton","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","hasDeletePermission","i18n","isBulkUploadEnabled","isTrashEnabled","newDocumentURL","onBulkUploadSuccess","openBulkUpload","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isTrashRoute","isGroupingBy","Actions","slug","AfterListHeaderContent","title","collectionSlug","value","labels","plural","TitleActions","filter","Boolean","label","showSelectAllAcrossPages"],"mappings":";AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,gBAAgB,QAAQ,8CAA6C;AAC9E,SAASC,mBAAmB,QAAQ,iDAAgD;AACpF,SAASC,oBAAoB,QAAQ,2CAA0C;AAC/E,SAASC,wBAAwB,QAAQ,iEAAgE;AACzG,SAASC,4BAA4B,QAAQ,2DAA0D;AACvG,SAASC,UAAU,QAAQ,wCAAuC;AAClE,SACEC,oBAAoB,EACpBC,mBAAmB,EACnBC,oBAAoB,QACf,qDAAoD;AAC3D,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,YAAY,QAAQ,wCAAuC;AACpE,SAASC,aAAa,QAAQ,4BAA2B;AACzD,OAAO,eAAc;AAErB,MAAMC,kBAAkB;AAgBtB;;;;;GAKC,GAGD,qEAAqE,GAMvE,OAAO,MAAMC,uBAAkD,CAAC,EAC9DC,SAAS,EACTC,gBAAgB,EAChBC,WAAW,EACXC,iBAAiB,EACjBC,eAAe,EACfC,mBAAmB,EACnBC,mBAAmB,EACnBC,IAAI,EACJC,mBAAmB,EACnBC,cAAc,EACdC,cAAc,EACdC,mBAAmB,EACnBC,cAAc,EACdC,UAAU,EACVC,QAAQ,EACT;IACC,MAAM,EAAEC,MAAM,EAAEC,eAAe,EAAE,GAAGrB;IACpC,MAAM,EAAEsB,UAAU,EAAEC,UAAU,EAAEC,cAAc,EAAE,GAAG/B;IACnD,MAAMgC,eAAeN,aAAa;IAClC,MAAM,EAAEO,YAAY,EAAE,GAAGzB;IAEzB,IAAIsB,YAAY;QACd,qBACE,KAAC3B;YACC+B,SAAS;8BACP,KAACpC;oBACCc,WAAW,GAAGF,gBAAgB,cAAc,CAAC;oBAE7CyB,MAAMN;mBADF;aAGP;YACDO,sCACE;;oBACGtB;kCACA,KAACb;;;YAGNW,WAAW,GAAGF,gBAAgB,QAAQ,CAAC;YACvC2B,OAAOzC,eACLgC,gBAAgB;gBAAEU,gBAAgBP,eAAeQ,KAAK;YAAC,IAAIC,QAAQC,QACnEtB;YAEFuB,cAAc;8BACZ,KAACxC;oBACCe,qBAAqBA;mBACjB;aAEP,CAAC0B,MAAM,CAACC;;IAGf;IAEA,qBACE,KAACzC;QACC+B,SAAS;YACP,CAACT,cAAc,CAACQ,8BACd,KAACxB;gBACCI,kBAAkBA;gBAClBE,mBAAmBA;gBACnBC,iBAAiBA;gBAEjB6B,OAAOjD,eAAeiB,kBAAkB2B,QAAQC,QAAQtB;gBACxD2B,0BAA0B,CAACb;gBAC3BP,UAAUA;eAHN;0BAMR,KAAC3B;gBACCc,kBAAkBA;gBAClBc,QAAQA;gBAERD,UAAUA;eADN;SAGP,CAACiB,MAAM,CAACC;QACTR,wBAAwBtB;QACxBF,WAAWA;QACXyB,OAAOzC,eAAeiB,kBAAkB2B,QAAQC,QAAQtB;QACxDuB,cAAc;YACZzB,uBAAuB,CAACe,8BACtB,KAAC3B;gBACCQ,kBAAkBA;gBAClBI,qBAAqBA;gBAErBK,gBAAgBA;eADZ;YAIRL,uBAAuBG,uBAAuB,CAACY,8BAC7C,KAAC5B;gBACCkC,gBAAgBzB,iBAAiBsB,IAAI;gBACrClB,qBAAqBA;gBACrBG,qBAAqBA;gBAErBG,qBAAqBA;gBACrBC,gBAAgBA;eAFZ;YAKRN,uBAAuBG,kBAAkBK,aAAa,yBACpD,KAACpB;gBACCO,kBAAkBA;gBAClBK,qBAAqBA;eACjB;SAGT,CAACyB,MAAM,CAACC;;AAGf,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.68.0-internal-debug.
|
|
3
|
+
"version": "3.68.0-internal-debug.185cc5f",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"ts-essentials": "10.0.3",
|
|
137
137
|
"use-context-selector": "2.0.0",
|
|
138
138
|
"uuid": "10.0.0",
|
|
139
|
-
"@payloadcms/translations": "3.68.0-internal-debug.
|
|
139
|
+
"@payloadcms/translations": "3.68.0-internal-debug.185cc5f"
|
|
140
140
|
},
|
|
141
141
|
"devDependencies": {
|
|
142
142
|
"@babel/cli": "7.27.2",
|
|
@@ -151,14 +151,14 @@
|
|
|
151
151
|
"babel-plugin-react-compiler": "19.1.0-rc.3",
|
|
152
152
|
"esbuild": "0.25.5",
|
|
153
153
|
"esbuild-sass-plugin": "3.3.1",
|
|
154
|
-
"payload": "3.68.0-internal-debug.
|
|
154
|
+
"payload": "3.68.0-internal-debug.185cc5f",
|
|
155
155
|
"@payloadcms/eslint-config": "3.28.0"
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
158
|
"next": "^15.2.6 || ^15.3.6 || ^15.4.8 || ^15.5.7",
|
|
159
159
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
160
160
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
161
|
-
"payload": "3.68.0-internal-debug.
|
|
161
|
+
"payload": "3.68.0-internal-debug.185cc5f"
|
|
162
162
|
},
|
|
163
163
|
"engines": {
|
|
164
164
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -167,12 +167,13 @@
|
|
|
167
167
|
"build": "pnpm build:reactcompiler",
|
|
168
168
|
"build:babel": "rm -rf dist_optimized && babel dist --out-dir dist_optimized --source-maps --extensions .ts,.js,.tsx,.jsx,.cjs,.mjs && rm -rf dist && mv dist_optimized dist",
|
|
169
169
|
"build:bundle-for-analysis": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm build:swc && pnpm build:babel && pnpm copyfiles && pnpm build:esbuild esbuild --no-split",
|
|
170
|
-
"build:debug": "rm -rf dist esbuild && rm -rf tsconfig.tsbuildinfo && pnpm build:swc && pnpm copyfiles && pnpm build:types",
|
|
170
|
+
"build:debug": "rm -rf dist esbuild && rm -rf tsconfig.tsbuildinfo && pnpm build:swc:debug && pnpm copyfiles && pnpm build:types",
|
|
171
171
|
"build:esbuild": "node bundle.js",
|
|
172
172
|
"build:esbuild:postprocess": "rm -rf dist/exports/client && mv dist/exports/client_optimized dist/exports/client && rm -rf dist/exports/shared && mv dist/exports/shared_optimized dist/exports/shared",
|
|
173
173
|
"build:reactcompiler": "rm -rf dist esbuild && rm -rf tsconfig.tsbuildinfo && pnpm build:swc && pnpm build:babel && pnpm copyfiles && pnpm build:esbuild && pnpm build:esbuild:postprocess && pnpm build:types",
|
|
174
174
|
"build:remove-artifact": "rm dist/prod/index.js",
|
|
175
175
|
"build:swc": "swc ./src -d dist --config-file .swcrc --strip-leading-paths",
|
|
176
|
+
"build:swc:debug": "swc ./src -d ./dist --config-file .swcrc-debug --strip-leading-paths",
|
|
176
177
|
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
177
178
|
"build:without_reactcompiler": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm copyfiles && pnpm build:types && pnpm build:swc",
|
|
178
179
|
"clean": "rimraf -g {dist,*.tsbuildinfo,esbuild}",
|