@payloadcms/ui 3.57.0-internal.f26caed → 3.57.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +74 -38
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.scss +14 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts +6 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +52 -14
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.d.ts +2 -2
- package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.js +5 -5
- package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
- package/dist/elements/BulkUpload/index.d.ts +30 -5
- package/dist/elements/BulkUpload/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/index.js +130 -28
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +1 -0
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +41 -33
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +27 -19
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +1 -0
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.d.ts.map +1 -1
- package/dist/elements/FullscreenModal/index.js +1 -0
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.d.ts +1 -7
- package/dist/elements/LivePreview/IFrame/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +39 -18
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +135 -61
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +1 -1
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.scss +4 -0
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +9 -19
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +20 -14
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts +4 -2
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js +6 -2
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.scss +11 -9
- package/dist/elements/Toasts/fieldErrors.js +1 -1
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/exports/client/index.js +24 -24
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +36 -16
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +1 -5
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Upload/Input.js +20 -20
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/index.js +1 -2
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +8 -0
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +2 -2
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +223 -236
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +33 -2
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +2 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +6 -0
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +76 -73
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +5 -9
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/providers/LivePreview/context.d.ts +17 -2
- package/dist/providers/LivePreview/context.d.ts.map +1 -1
- package/dist/providers/LivePreview/context.js +3 -2
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts +2 -2
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +33 -19
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/RouteCache/index.d.ts.map +1 -1
- package/dist/providers/RouteCache/index.js +62 -25
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts +2 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +3 -2
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +39 -2
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts +2 -0
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +20 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts +8 -0
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -0
- package/dist/utilities/formatAbsoluteURL.js +15 -0
- package/dist/utilities/formatAbsoluteURL.js.map +1 -0
- package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +0 -4
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/handleLivePreview.d.ts +58 -0
- package/dist/utilities/handleLivePreview.d.ts.map +1 -0
- package/dist/utilities/handleLivePreview.js +96 -0
- package/dist/utilities/handleLivePreview.js.map +1 -0
- package/dist/utilities/handleTakeOver.d.ts +17 -4
- package/dist/utilities/handleTakeOver.d.ts.map +1 -1
- package/dist/utilities/handleTakeOver.js +18 -2
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/renderTable.d.ts +3 -2
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +2 -0
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +48 -13
- package/dist/views/Edit/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","React","RenderServerComponent","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","customCellProps","data","enableRowSelections","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","collection","find","each","slug","some","push","serverCollectionConfig","config","sharedArgs","collectionSlug","undefined","dataType","docs","columnsToUse","unshift","accessor","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","_","rowData","className","filter","join","_jsxs","totalDocs","appearance"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns,\n customCellProps,\n data,\n enableRowSelections,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns: ColumnPreference[]\n customCellProps?: Record<string, unknown>\n data?: PaginatedDocs | undefined\n drawerSlug?: string\n enableRowSelections: boolean\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy)\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data?.docs || [],\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data?.docs || [],\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: (data?.docs || []).map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: (data?.docs || []).map((_, i) => (\n <SelectRow key={i} rowData={data?.docs[i]} />\n )),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n key={key}\n >\n <SelectionProvider docs={data?.docs || []} totalDocs={data?.totalDocs || 0}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n <GroupByPageControls\n collectionConfig={clientCollectionConfig}\n data={data}\n groupByValue={groupByValue}\n />\n </SelectionProvider>\n </div>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n </div>\n ),\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: (data?.docs || []).map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data?.docs || []}\n />\n </div>\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","React","RenderServerComponent","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","customCellProps","data","enableRowSelections","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","req","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","collection","find","each","slug","some","push","serverCollectionConfig","config","sharedArgs","collectionSlug","undefined","dataType","docs","columnsToUse","unshift","accessor","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","_","rowData","className","filter","join","_jsxs","totalDocs","appearance"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns,\n customCellProps,\n data,\n enableRowSelections,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n req,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns: ColumnPreference[]\n customCellProps?: Record<string, unknown>\n data?: PaginatedDocs | undefined\n drawerSlug?: string\n enableRowSelections: boolean\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n req?: PayloadRequest\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy)\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'req'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n req,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data?.docs || [],\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data?.docs || [],\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: (data?.docs || []).map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: (data?.docs || []).map((_, i) => (\n <SelectRow key={i} rowData={data?.docs[i]} />\n )),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n key={key}\n >\n <SelectionProvider docs={data?.docs || []} totalDocs={data?.totalDocs || 0}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n <GroupByPageControls\n collectionConfig={clientCollectionConfig}\n data={data}\n groupByValue={groupByValue}\n />\n </SelectionProvider>\n </div>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n </div>\n ),\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: (data?.docs || []).map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data?.docs || []}\n />\n </div>\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAsE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAsE,MAAM,OAAO,CAAA;AAmC1F,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,GACf,EAAE,uBAAuB,qBA0nBzB"}
|
package/dist/views/Edit/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
|
21
21
|
import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
22
22
|
import { useLivePreviewContext } from '../../providers/LivePreview/context.js';
|
|
23
23
|
import { OperationProvider } from '../../providers/Operation/index.js';
|
|
24
|
+
import { useRouteCache } from '../../providers/RouteCache/index.js';
|
|
24
25
|
import { useRouteTransition } from '../../providers/RouteTransition/index.js';
|
|
25
26
|
import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
|
|
26
27
|
import { UploadControlsProvider } from '../../providers/UploadControls/index.js';
|
|
@@ -73,6 +74,7 @@ export function DefaultEditView({
|
|
|
73
74
|
initialState,
|
|
74
75
|
isEditing,
|
|
75
76
|
isInitializing,
|
|
77
|
+
isLocked,
|
|
76
78
|
isTrashed,
|
|
77
79
|
lastUpdateTime,
|
|
78
80
|
redirectAfterCreate,
|
|
@@ -132,10 +134,15 @@ export function DefaultEditView({
|
|
|
132
134
|
const {
|
|
133
135
|
startRouteTransition
|
|
134
136
|
} = useRouteTransition();
|
|
137
|
+
const {
|
|
138
|
+
clearRouteCache
|
|
139
|
+
} = useRouteCache();
|
|
135
140
|
const {
|
|
136
141
|
isLivePreviewEnabled,
|
|
137
142
|
isLivePreviewing,
|
|
138
|
-
previewWindowType
|
|
143
|
+
previewWindowType,
|
|
144
|
+
setURL: setLivePreviewURL,
|
|
145
|
+
typeofLivePreviewURL
|
|
139
146
|
} = useLivePreviewContext();
|
|
140
147
|
const abortOnChangeRef = useRef(null);
|
|
141
148
|
const abortOnSaveRef = useRef(null);
|
|
@@ -210,19 +217,14 @@ export function DefaultEditView({
|
|
|
210
217
|
}
|
|
211
218
|
}
|
|
212
219
|
}, [collectionSlug, documentIsLocked, documentLockState, globalSlug, id, isLockingEnabled, setCurrentEditor, setDocumentIsLocked, unlockDocument, user?.id]);
|
|
213
|
-
const onSave = useCallback(async (json,
|
|
220
|
+
const onSave = useCallback(async (json, ctx) => {
|
|
214
221
|
const {
|
|
215
222
|
context,
|
|
216
223
|
formState
|
|
217
|
-
} =
|
|
224
|
+
} = ctx || {};
|
|
218
225
|
const controller = handleAbortRef(abortOnSaveRef);
|
|
219
226
|
const document = json?.doc || json?.result;
|
|
220
227
|
const updatedAt = document?.updatedAt || new Date().toISOString();
|
|
221
|
-
reportUpdate({
|
|
222
|
-
id,
|
|
223
|
-
entitySlug,
|
|
224
|
-
updatedAt
|
|
225
|
-
});
|
|
226
228
|
// If we're editing the doc of the logged-in user,
|
|
227
229
|
// Refresh the cookie to get new permissions
|
|
228
230
|
if (user && collectionSlug === userSlug && id === user.id) {
|
|
@@ -261,6 +263,7 @@ export function DefaultEditView({
|
|
|
261
263
|
if (id || globalSlug) {
|
|
262
264
|
const docPreferences = await getDocPreferences();
|
|
263
265
|
const {
|
|
266
|
+
livePreviewURL,
|
|
264
267
|
state
|
|
265
268
|
} = await getFormState({
|
|
266
269
|
id,
|
|
@@ -272,6 +275,7 @@ export function DefaultEditView({
|
|
|
272
275
|
globalSlug,
|
|
273
276
|
operation,
|
|
274
277
|
renderAllFields: false,
|
|
278
|
+
returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',
|
|
275
279
|
returnLockStatus: false,
|
|
276
280
|
schemaPath: schemaPathSegments.join('.'),
|
|
277
281
|
signal: controller.signal,
|
|
@@ -281,10 +285,18 @@ export function DefaultEditView({
|
|
|
281
285
|
if (isLockingEnabled) {
|
|
282
286
|
setDocumentIsLocked(false);
|
|
283
287
|
}
|
|
288
|
+
if (isLivePreviewEnabled) {
|
|
289
|
+
setLivePreviewURL(livePreviewURL);
|
|
290
|
+
}
|
|
291
|
+
reportUpdate({
|
|
292
|
+
id,
|
|
293
|
+
entitySlug,
|
|
294
|
+
updatedAt
|
|
295
|
+
});
|
|
284
296
|
abortOnSaveRef.current = null;
|
|
285
297
|
return state;
|
|
286
298
|
}
|
|
287
|
-
}, [reportUpdate, id, entitySlug, user, collectionSlug, userSlug, setLastUpdateTime, setData, onSaveFromContext, isEditing, depth, redirectAfterCreate,
|
|
299
|
+
}, [reportUpdate, id, entitySlug, user, collectionSlug, userSlug, setLastUpdateTime, setData, onSaveFromContext, isEditing, depth, redirectAfterCreate, setLivePreviewURL, globalSlug, refreshCookieAsync, incrementVersionCount, adminRoute, locale, startRouteTransition, router, resetUploadEdits, getDocPermissions, getDocPreferences, getFormState, docPermissions, operation, isLivePreviewEnabled, typeofLivePreviewURL, schemaPathSegments, isLockingEnabled, setDocumentIsLocked]);
|
|
288
300
|
const onChange = useCallback(async ({
|
|
289
301
|
formState: prevFormState,
|
|
290
302
|
submitted
|
|
@@ -325,7 +337,7 @@ export function DefaultEditView({
|
|
|
325
337
|
}
|
|
326
338
|
abortOnChangeRef.current = null;
|
|
327
339
|
return state_0;
|
|
328
|
-
}, [
|
|
340
|
+
}, [editSessionStartTime, isLockingEnabled, getDocPreferences, getFormState, id, collectionSlug, docPermissions, globalSlug, operation, schemaPathSegments, handleDocumentLocking]);
|
|
329
341
|
// Clean up when the component unmounts or when the document is unlocked
|
|
330
342
|
useEffect(() => {
|
|
331
343
|
return () => {
|
|
@@ -371,7 +383,18 @@ export function DefaultEditView({
|
|
|
371
383
|
setIsReadOnlyForIncomingUser(true);
|
|
372
384
|
setShowTakeOverModal(false);
|
|
373
385
|
},
|
|
374
|
-
onTakeOver: () => handleTakeOver(
|
|
386
|
+
onTakeOver: () => handleTakeOver({
|
|
387
|
+
id,
|
|
388
|
+
clearRouteCache,
|
|
389
|
+
collectionSlug,
|
|
390
|
+
documentLockStateRef: documentLockState,
|
|
391
|
+
globalSlug,
|
|
392
|
+
isLockingEnabled,
|
|
393
|
+
isWithinDoc: false,
|
|
394
|
+
setCurrentEditor,
|
|
395
|
+
updateDocumentEditor,
|
|
396
|
+
user
|
|
397
|
+
}),
|
|
375
398
|
updatedAt: lastUpdateTime,
|
|
376
399
|
user: currentEditor
|
|
377
400
|
}), isLockingEnabled && showTakeOverModal && /*#__PURE__*/_jsx(DocumentTakeOver, {
|
|
@@ -423,7 +446,19 @@ export function DefaultEditView({
|
|
|
423
446
|
onDuplicate: onDuplicate,
|
|
424
447
|
onRestore: onRestore,
|
|
425
448
|
onSave: onSave,
|
|
426
|
-
onTakeOver: () => handleTakeOver(
|
|
449
|
+
onTakeOver: () => handleTakeOver({
|
|
450
|
+
id,
|
|
451
|
+
clearRouteCache,
|
|
452
|
+
collectionSlug,
|
|
453
|
+
documentLockStateRef: documentLockState,
|
|
454
|
+
globalSlug,
|
|
455
|
+
isLockingEnabled,
|
|
456
|
+
isWithinDoc: true,
|
|
457
|
+
setCurrentEditor,
|
|
458
|
+
setIsReadOnlyForIncomingUser,
|
|
459
|
+
updateDocumentEditor,
|
|
460
|
+
user
|
|
461
|
+
}),
|
|
427
462
|
permissions: docPermissions,
|
|
428
463
|
readOnlyForIncomingUser: isReadOnlyForIncomingUser,
|
|
429
464
|
redirectAfterDelete: redirectAfterDelete,
|
|
@@ -475,7 +510,7 @@ export function DefaultEditView({
|
|
|
475
510
|
globalSlug: globalSlug
|
|
476
511
|
})]
|
|
477
512
|
})]
|
|
478
|
-
})
|
|
513
|
+
}, `${isLocked}`)
|
|
479
514
|
})
|
|
480
515
|
});
|
|
481
516
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","LivePreviewWindow","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","OperationProvider","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","BeforeDocumentControls","Description","EditMenuItems","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","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","isLivePreviewEnabled","isLivePreviewing","previewWindowType","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","isLocked","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","options","context","formState","controller","document","doc","result","updatedAt","toISOString","redirectRoute","push","docPreferences","state","renderAllFields","returnLockStatus","schemaPath","join","signal","skipValidation","onChange","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","isFolderCollection","folders","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","isDocumentForm","method","onSuccess","showDocumentID","isActive","onReadOnly","onTakeOver","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields","forceSidebarWrap"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["/* eslint-disable react-compiler/react-compiler -- TODO: fix */\n'use client'\n\nimport type { ClientUser, DocumentViewClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } 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 } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/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 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 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 { isLivePreviewEnabled, isLivePreviewing, previewWindowType } = useLivePreviewContext()\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 = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\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\n const isLockExpired = Date.now() > lockExpiryTime\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 },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, 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 // Only retain the lock if the user is still viewing the document\n if (!isInternalView) {\n if (isLockOwnedByCurrentUser) {\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 }, [\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, options) => {\n const { context, formState } = options || {}\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 reportUpdate({\n id,\n entitySlug,\n updatedAt,\n })\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 { state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLockStatus: false,\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 abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n collectionSlug,\n userSlug,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n getDocPermissions,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\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 id,\n collectionSlug,\n getDocPreferences,\n getFormState,\n globalSlug,\n handleDocumentLocking,\n isLockingEnabled,\n operation,\n schemaPathSegments,\n docPermissions,\n editSessionStartTime,\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 method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader drawerSlug={drawerSlug} showDocumentID={!isFolderCollection} />\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 collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockState,\n isLockingEnabled,\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 {!isReadOnlyForIncomingUser && 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 collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockState,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\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 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 && (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","LivePreviewWindow","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","OperationProvider","useRouteCache","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","BeforeDocumentControls","Description","EditMenuItems","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","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","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","livePreviewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","schemaPath","join","signal","skipValidation","onChange","prevFormState","submitted","currentTime","timeSinceLastUpdate","updateLastEdited","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","isFolderCollection","folders","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","isDocumentForm","method","onSuccess","showDocumentID","isActive","onReadOnly","onTakeOver","documentLockStateRef","isWithinDoc","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields","forceSidebarWrap"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["/* eslint-disable react-compiler/react-compiler -- TODO: fix */\n'use client'\n\nimport type { ClientUser, DocumentViewClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } 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 } 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 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 } = useLivePreviewContext()\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 = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\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\n const isLockExpired = Date.now() > lockExpiryTime\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 },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, 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 // Only retain the lock if the user is still viewing the document\n if (!isInternalView) {\n if (isLockOwnedByCurrentUser) {\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 }, [\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, 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 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) {\n setLivePreviewURL(livePreviewURL)\n }\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n reportUpdate,\n id,\n entitySlug,\n user,\n collectionSlug,\n userSlug,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n setLivePreviewURL,\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 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 drawerSlug={drawerSlug} showDocumentID={!isFolderCollection} />\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 {!isReadOnlyForIncomingUser && 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 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 && (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.57.0
|
|
3
|
+
"version": "3.57.0",
|
|
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.57.0
|
|
139
|
+
"@payloadcms/translations": "3.57.0"
|
|
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
|
-
"
|
|
155
|
-
"
|
|
154
|
+
"@payloadcms/eslint-config": "3.28.0",
|
|
155
|
+
"payload": "3.57.0"
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
158
|
"next": "^15.2.3",
|
|
159
159
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
160
160
|
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
161
|
-
"payload": "3.57.0
|
|
161
|
+
"payload": "3.57.0"
|
|
162
162
|
},
|
|
163
163
|
"engines": {
|
|
164
164
|
"node": "^18.20.2 || >=20.9.0"
|