@payloadcms/ui 3.57.0-canary.7 → 3.57.0-internal.1d2ebbc

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.
Files changed (139) hide show
  1. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/FormsManager/index.js +2 -4
  3. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/index.d.ts +3 -4
  5. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/index.js +28 -41
  7. package/dist/elements/BulkUpload/index.js.map +1 -1
  8. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  9. package/dist/elements/ConfirmationModal/index.js +0 -1
  10. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  11. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  12. package/dist/elements/DocumentLocked/index.js +33 -41
  13. package/dist/elements/DocumentLocked/index.js.map +1 -1
  14. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentTakeOver/index.js +19 -27
  16. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  17. package/dist/elements/Drawer/index.d.ts.map +1 -1
  18. package/dist/elements/Drawer/index.js +0 -1
  19. package/dist/elements/Drawer/index.js.map +1 -1
  20. package/dist/elements/FullscreenModal/index.d.ts.map +1 -1
  21. package/dist/elements/FullscreenModal/index.js +0 -1
  22. package/dist/elements/FullscreenModal/index.js.map +1 -1
  23. package/dist/elements/LivePreview/IFrame/index.d.ts +7 -1
  24. package/dist/elements/LivePreview/IFrame/index.d.ts.map +1 -1
  25. package/dist/elements/LivePreview/IFrame/index.js +18 -39
  26. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  27. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  28. package/dist/elements/LivePreview/Window/index.js +61 -135
  29. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  30. package/dist/elements/PublishButton/index.js +1 -1
  31. package/dist/elements/PublishButton/index.js.map +1 -1
  32. package/dist/elements/SearchBar/index.scss +0 -4
  33. package/dist/elements/Status/index.d.ts.map +1 -1
  34. package/dist/elements/Status/index.js +1 -1
  35. package/dist/elements/Status/index.js.map +1 -1
  36. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  37. package/dist/elements/Table/DefaultCell/index.js +14 -20
  38. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  39. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  40. package/dist/elements/Table/RelationshipProvider/index.js +28 -44
  41. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  42. package/dist/elements/Thumbnail/index.d.ts +2 -4
  43. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  44. package/dist/elements/Thumbnail/index.js +2 -6
  45. package/dist/elements/Thumbnail/index.js.map +1 -1
  46. package/dist/elements/Thumbnail/index.scss +9 -11
  47. package/dist/elements/Toasts/fieldErrors.js +1 -1
  48. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  49. package/dist/exports/client/index.js +24 -24
  50. package/dist/exports/client/index.js.map +4 -4
  51. package/dist/exports/rsc/index.d.ts +0 -1
  52. package/dist/exports/rsc/index.d.ts.map +1 -1
  53. package/dist/exports/rsc/index.js +0 -1
  54. package/dist/exports/rsc/index.js.map +1 -1
  55. package/dist/exports/shared/index.js +2 -2
  56. package/dist/exports/shared/index.js.map +3 -3
  57. package/dist/fields/Blocks/index.d.ts.map +1 -1
  58. package/dist/fields/Blocks/index.js +16 -36
  59. package/dist/fields/Blocks/index.js.map +1 -1
  60. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  61. package/dist/fields/Relationship/Input.js +5 -1
  62. package/dist/fields/Relationship/Input.js.map +1 -1
  63. package/dist/fields/Upload/Input.js +20 -20
  64. package/dist/fields/Upload/Input.js.map +1 -1
  65. package/dist/forms/Form/index.js +2 -1
  66. package/dist/forms/Form/index.js.map +1 -1
  67. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  68. package/dist/forms/Form/mergeServerFormState.js +0 -8
  69. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  70. package/dist/forms/Form/types.d.ts +2 -2
  71. package/dist/forms/Form/types.d.ts.map +1 -1
  72. package/dist/forms/Form/types.js.map +1 -1
  73. package/dist/forms/RenderFields/RenderField.js +236 -223
  74. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  75. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  76. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +2 -33
  77. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  78. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  79. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -2
  80. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  81. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
  82. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +0 -2
  83. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  84. package/dist/forms/fieldSchemasToFormState/types.d.ts +0 -6
  85. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  86. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  87. package/dist/forms/useField/index.d.ts.map +1 -1
  88. package/dist/forms/useField/index.js +73 -76
  89. package/dist/forms/useField/index.js.map +1 -1
  90. package/dist/forms/useField/types.d.ts +9 -5
  91. package/dist/forms/useField/types.d.ts.map +1 -1
  92. package/dist/forms/useField/types.js.map +1 -1
  93. package/dist/providers/LivePreview/context.d.ts +2 -17
  94. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  95. package/dist/providers/LivePreview/context.js +2 -3
  96. package/dist/providers/LivePreview/context.js.map +1 -1
  97. package/dist/providers/LivePreview/index.d.ts +2 -2
  98. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  99. package/dist/providers/LivePreview/index.js +19 -33
  100. package/dist/providers/LivePreview/index.js.map +1 -1
  101. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  102. package/dist/providers/RouteCache/index.js +25 -62
  103. package/dist/providers/RouteCache/index.js.map +1 -1
  104. package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -2
  105. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  106. package/dist/providers/TableColumns/buildColumnState/index.js +0 -2
  107. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  108. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -3
  109. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  110. package/dist/providers/TableColumns/buildColumnState/renderCell.js +2 -39
  111. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  112. package/dist/styles.css +1 -1
  113. package/dist/utilities/buildFormState.d.ts +0 -2
  114. package/dist/utilities/buildFormState.d.ts.map +1 -1
  115. package/dist/utilities/buildFormState.js +1 -20
  116. package/dist/utilities/buildFormState.js.map +1 -1
  117. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -1
  118. package/dist/utilities/getFolderResultsComponentAndData.js +4 -0
  119. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  120. package/dist/utilities/handleTakeOver.d.ts +4 -17
  121. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  122. package/dist/utilities/handleTakeOver.js +2 -18
  123. package/dist/utilities/handleTakeOver.js.map +1 -1
  124. package/dist/utilities/renderTable.d.ts +2 -3
  125. package/dist/utilities/renderTable.d.ts.map +1 -1
  126. package/dist/utilities/renderTable.js +0 -2
  127. package/dist/utilities/renderTable.js.map +1 -1
  128. package/dist/views/Edit/index.d.ts.map +1 -1
  129. package/dist/views/Edit/index.js +13 -48
  130. package/dist/views/Edit/index.js.map +1 -1
  131. package/package.json +4 -4
  132. package/dist/utilities/formatAbsoluteURL.d.ts +0 -8
  133. package/dist/utilities/formatAbsoluteURL.d.ts.map +0 -1
  134. package/dist/utilities/formatAbsoluteURL.js +0 -15
  135. package/dist/utilities/formatAbsoluteURL.js.map +0 -1
  136. package/dist/utilities/handleLivePreview.d.ts +0 -58
  137. package/dist/utilities/handleLivePreview.d.ts.map +0 -1
  138. package/dist/utilities/handleLivePreview.js +0 -96
  139. package/dist/utilities/handleLivePreview.js.map +0 -1
@@ -8,12 +8,10 @@ type BuildFormStateSuccessResult = {
8
8
  clientConfig?: ClientConfig;
9
9
  errors?: never;
10
10
  indexPath?: string;
11
- livePreviewURL?: string;
12
11
  lockedState?: LockedState;
13
12
  state: FormState;
14
13
  };
15
14
  type BuildFormStateErrorResult = {
16
- livePreviewURL?: never;
17
15
  lockedState?: never;
18
16
  state?: never;
19
17
  } & ({
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACf,MAAM,SAAS,CAAA;AAahB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,cAAc,CAAC,EAAE,KAAK,CAAA;IACtB,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,2BAA2B,CAAA;AAE1F,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAChD,kBAAkB,EAClB,OAAO,CAAC,oBAAoB,CAAC,CAwB9B,CAAA;AAED,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC,2BAA2B,CAmLrC,CAAA"}
1
+ {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACf,MAAM,SAAS,CAAA;AAYhB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,2BAA2B,CAAA;AAE1F,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAChD,kBAAkB,EAClB,OAAO,CAAC,oBAAoB,CAAC,CAwB9B,CAAA;AAED,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC,2BAA2B,CAgKrC,CAAA"}
@@ -6,7 +6,6 @@ import { getClientConfig } from './getClientConfig.js';
6
6
  import { getClientSchemaMap } from './getClientSchemaMap.js';
7
7
  import { getSchemaMap } from './getSchemaMap.js';
8
8
  import { handleFormStateLocking } from './handleFormStateLocking.js';
9
- import { handleLivePreview } from './handleLivePreview.js';
10
9
  export const buildFormStateHandler = async args => {
11
10
  const {
12
11
  req
@@ -57,7 +56,6 @@ export const buildFormState = async args => {
57
56
  config
58
57
  }
59
58
  },
60
- returnLivePreviewURL,
61
59
  returnLockStatus,
62
60
  schemaPath = collectionSlug || globalSlug,
63
61
  select,
@@ -163,26 +161,9 @@ export const buildFormState = async args => {
163
161
  updateLastEdited
164
162
  });
165
163
  }
166
- const res = {
164
+ return {
167
165
  lockedState: lockedStateResult,
168
166
  state: formStateResult
169
167
  };
170
- if (returnLivePreviewURL) {
171
- const {
172
- livePreviewURL
173
- } = await handleLivePreview({
174
- collectionSlug,
175
- config,
176
- data,
177
- globalSlug,
178
- req
179
- });
180
- // Important: only set this when not undefined,
181
- // Otherwise it will travel through the network as `$undefined`
182
- if (livePreviewURL) {
183
- res.livePreviewURL = livePreviewURL;
184
- }
185
- }
186
- return res;
187
168
  };
188
169
  //# sourceMappingURL=buildFormState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.js","names":["canAccessAdmin","formatErrors","getSelectMode","reduceFieldsToValues","fieldSchemasToFormState","renderField","getClientConfig","getClientSchemaMap","getSchemaMap","handleFormStateLocking","handleLivePreview","buildFormStateHandler","args","req","res","buildFormState","err","payload","logger","error","msg","message","Error","id","idFromArgs","collectionSlug","data","incomingData","docPermissions","docPreferences","documentFormState","formState","globalSlug","initialBlockData","initialBlockFormState","mockRSCs","operation","readOnly","renderAllFields","i18n","config","returnLivePreviewURL","returnLockStatus","schemaPath","select","skipClientConfigAuth","skipValidation","updateLastEdited","selectMode","undefined","schemaMap","clientSchemaMap","importMap","user","fieldOrEntityConfig","get","fields","length","type","documentData","blockData","Array","isArray","formStateResult","clientFieldSchemaMap","fieldSchemaMap","permissions","preferences","previousFormState","renderFieldFn","collections","upload","file","lockedStateResult","lockedState","state","livePreviewURL"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientConfig,\n ClientUser,\n ErrorResult,\n FormState,\n ServerFunction,\n} from 'payload'\n\nimport { canAccessAdmin, formatErrors } from 'payload'\nimport { getSelectMode, reduceFieldsToValues } from 'payload/shared'\n\nimport { fieldSchemasToFormState } from '../forms/fieldSchemasToFormState/index.js'\nimport { renderField } from '../forms/fieldSchemasToFormState/renderField.js'\nimport { getClientConfig } from './getClientConfig.js'\nimport { getClientSchemaMap } from './getClientSchemaMap.js'\nimport { getSchemaMap } from './getSchemaMap.js'\nimport { handleFormStateLocking } from './handleFormStateLocking.js'\nimport { handleLivePreview } from './handleLivePreview.js'\n\nexport type LockedState = {\n isLocked: boolean\n lastEditedAt: string\n user: ClientUser | number | string\n}\n\ntype BuildFormStateSuccessResult = {\n clientConfig?: ClientConfig\n errors?: never\n indexPath?: string\n livePreviewURL?: string\n lockedState?: LockedState\n state: FormState\n}\n\ntype BuildFormStateErrorResult = {\n livePreviewURL?: never\n lockedState?: never\n state?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildFormStateResult = BuildFormStateErrorResult | BuildFormStateSuccessResult\n\nexport const buildFormStateHandler: ServerFunction<\n BuildFormStateArgs,\n Promise<BuildFormStateResult>\n> = async (args) => {\n const { req } = args\n\n try {\n await canAccessAdmin({ req })\n const res = await buildFormState(args)\n\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n throw new Error('Unauthorized')\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildFormState = async (\n args: BuildFormStateArgs,\n): Promise<BuildFormStateSuccessResult> => {\n const {\n id: idFromArgs,\n collectionSlug,\n data: incomingData,\n docPermissions,\n docPreferences,\n documentFormState,\n formState,\n globalSlug,\n initialBlockData,\n initialBlockFormState,\n mockRSCs,\n operation,\n readOnly,\n renderAllFields,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n },\n returnLivePreviewURL,\n returnLockStatus,\n schemaPath = collectionSlug || globalSlug,\n select,\n skipClientConfigAuth,\n skipValidation,\n updateLastEdited,\n } = args\n\n const selectMode = select ? getSelectMode(select) : undefined\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({\n config,\n i18n,\n importMap: req.payload.importMap,\n user: skipClientConfigAuth ? true : req.user,\n }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n\n const id = collectionSlug ? idFromArgs : undefined\n const fieldOrEntityConfig = schemaMap.get(schemaPath)\n\n if (!fieldOrEntityConfig) {\n throw new Error(`Could not find \"${schemaPath}\" in the fieldSchemaMap`)\n }\n\n if (\n (!('fields' in fieldOrEntityConfig) ||\n !fieldOrEntityConfig.fields ||\n !fieldOrEntityConfig.fields.length) &&\n 'type' in fieldOrEntityConfig &&\n fieldOrEntityConfig.type !== 'blocks'\n ) {\n throw new Error(\n `The field found in fieldSchemaMap for \"${schemaPath}\" does not contain any subfields.`,\n )\n }\n\n // If there is form state but no data, deduce data from that form state, e.g. on initial load\n // Otherwise, use the incoming data as the source of truth, e.g. on subsequent saves\n const data = incomingData || reduceFieldsToValues(formState, true)\n\n let documentData = undefined\n\n if (documentFormState) {\n documentData = reduceFieldsToValues(documentFormState, true)\n }\n\n let blockData = initialBlockData\n\n if (initialBlockFormState) {\n blockData = reduceFieldsToValues(initialBlockFormState, true)\n }\n\n /**\n * When building state for sub schemas we need to adjust:\n * - `fields`\n * - `parentSchemaPath`\n * - `parentPath`\n *\n * Type assertion is fine because we wrap sub schemas in an array\n * so we can safely map over them within `fieldSchemasToFormState`\n */\n const fields = Array.isArray(fieldOrEntityConfig)\n ? fieldOrEntityConfig\n : 'fields' in fieldOrEntityConfig\n ? fieldOrEntityConfig.fields\n : [fieldOrEntityConfig]\n\n // Ensure data.id is present during form state requests, where the data\n // is passed from the client as an argument, without the ID\n if (!data.id && id) {\n data.id = id\n }\n\n const formStateResult = await fieldSchemasToFormState({\n id,\n clientFieldSchemaMap: clientSchemaMap,\n collectionSlug,\n data,\n documentData,\n fields,\n fieldSchemaMap: schemaMap,\n initialBlockData: blockData,\n mockRSCs,\n operation,\n permissions: docPermissions?.fields || {},\n preferences: docPreferences || { fields: {} },\n previousFormState: formState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderField,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (payload.collections[collectionSlug]?.config?.upload && formState.file) {\n formStateResult.file = formState.file\n }\n }\n\n let lockedStateResult\n\n if (returnLockStatus) {\n lockedStateResult = await handleFormStateLocking({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n })\n }\n\n const res: BuildFormStateSuccessResult = {\n lockedState: lockedStateResult,\n state: formStateResult,\n }\n\n if (returnLivePreviewURL) {\n const { livePreviewURL } = await handleLivePreview({\n collectionSlug,\n config,\n data,\n globalSlug,\n req,\n })\n\n // Important: only set this when not undefined,\n // Otherwise it will travel through the network as `$undefined`\n if (livePreviewURL) {\n res.livePreviewURL = livePreviewURL\n }\n }\n\n return res\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildFormState.js","names":["canAccessAdmin","formatErrors","getSelectMode","reduceFieldsToValues","fieldSchemasToFormState","renderField","getClientConfig","getClientSchemaMap","getSchemaMap","handleFormStateLocking","buildFormStateHandler","args","req","res","buildFormState","err","payload","logger","error","msg","message","Error","id","idFromArgs","collectionSlug","data","incomingData","docPermissions","docPreferences","documentFormState","formState","globalSlug","initialBlockData","initialBlockFormState","mockRSCs","operation","readOnly","renderAllFields","i18n","config","returnLockStatus","schemaPath","select","skipClientConfigAuth","skipValidation","updateLastEdited","selectMode","undefined","schemaMap","clientSchemaMap","importMap","user","fieldOrEntityConfig","get","fields","length","type","documentData","blockData","Array","isArray","formStateResult","clientFieldSchemaMap","fieldSchemaMap","permissions","preferences","previousFormState","renderFieldFn","collections","upload","file","lockedStateResult","lockedState","state"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientConfig,\n ClientUser,\n ErrorResult,\n FormState,\n ServerFunction,\n} from 'payload'\n\nimport { canAccessAdmin, formatErrors } from 'payload'\nimport { getSelectMode, reduceFieldsToValues } from 'payload/shared'\n\nimport { fieldSchemasToFormState } from '../forms/fieldSchemasToFormState/index.js'\nimport { renderField } from '../forms/fieldSchemasToFormState/renderField.js'\nimport { getClientConfig } from './getClientConfig.js'\nimport { getClientSchemaMap } from './getClientSchemaMap.js'\nimport { getSchemaMap } from './getSchemaMap.js'\nimport { handleFormStateLocking } from './handleFormStateLocking.js'\n\nexport type LockedState = {\n isLocked: boolean\n lastEditedAt: string\n user: ClientUser | number | string\n}\n\ntype BuildFormStateSuccessResult = {\n clientConfig?: ClientConfig\n errors?: never\n indexPath?: string\n lockedState?: LockedState\n state: FormState\n}\n\ntype BuildFormStateErrorResult = {\n lockedState?: never\n state?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildFormStateResult = BuildFormStateErrorResult | BuildFormStateSuccessResult\n\nexport const buildFormStateHandler: ServerFunction<\n BuildFormStateArgs,\n Promise<BuildFormStateResult>\n> = async (args) => {\n const { req } = args\n\n try {\n await canAccessAdmin({ req })\n const res = await buildFormState(args)\n\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n throw new Error('Unauthorized')\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildFormState = async (\n args: BuildFormStateArgs,\n): Promise<BuildFormStateSuccessResult> => {\n const {\n id: idFromArgs,\n collectionSlug,\n data: incomingData,\n docPermissions,\n docPreferences,\n documentFormState,\n formState,\n globalSlug,\n initialBlockData,\n initialBlockFormState,\n mockRSCs,\n operation,\n readOnly,\n renderAllFields,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n },\n returnLockStatus,\n schemaPath = collectionSlug || globalSlug,\n select,\n skipClientConfigAuth,\n skipValidation,\n updateLastEdited,\n } = args\n\n const selectMode = select ? getSelectMode(select) : undefined\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({\n config,\n i18n,\n importMap: req.payload.importMap,\n user: skipClientConfigAuth ? true : req.user,\n }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n\n const id = collectionSlug ? idFromArgs : undefined\n const fieldOrEntityConfig = schemaMap.get(schemaPath)\n\n if (!fieldOrEntityConfig) {\n throw new Error(`Could not find \"${schemaPath}\" in the fieldSchemaMap`)\n }\n\n if (\n (!('fields' in fieldOrEntityConfig) ||\n !fieldOrEntityConfig.fields ||\n !fieldOrEntityConfig.fields.length) &&\n 'type' in fieldOrEntityConfig &&\n fieldOrEntityConfig.type !== 'blocks'\n ) {\n throw new Error(\n `The field found in fieldSchemaMap for \"${schemaPath}\" does not contain any subfields.`,\n )\n }\n\n // If there is form state but no data, deduce data from that form state, e.g. on initial load\n // Otherwise, use the incoming data as the source of truth, e.g. on subsequent saves\n const data = incomingData || reduceFieldsToValues(formState, true)\n\n let documentData = undefined\n\n if (documentFormState) {\n documentData = reduceFieldsToValues(documentFormState, true)\n }\n\n let blockData = initialBlockData\n\n if (initialBlockFormState) {\n blockData = reduceFieldsToValues(initialBlockFormState, true)\n }\n\n /**\n * When building state for sub schemas we need to adjust:\n * - `fields`\n * - `parentSchemaPath`\n * - `parentPath`\n *\n * Type assertion is fine because we wrap sub schemas in an array\n * so we can safely map over them within `fieldSchemasToFormState`\n */\n const fields = Array.isArray(fieldOrEntityConfig)\n ? fieldOrEntityConfig\n : 'fields' in fieldOrEntityConfig\n ? fieldOrEntityConfig.fields\n : [fieldOrEntityConfig]\n\n // Ensure data.id is present during form state requests, where the data\n // is passed from the client as an argument, without the ID\n if (!data.id && id) {\n data.id = id\n }\n\n const formStateResult = await fieldSchemasToFormState({\n id,\n clientFieldSchemaMap: clientSchemaMap,\n collectionSlug,\n data,\n documentData,\n fields,\n fieldSchemaMap: schemaMap,\n initialBlockData: blockData,\n mockRSCs,\n operation,\n permissions: docPermissions?.fields || {},\n preferences: docPreferences || { fields: {} },\n previousFormState: formState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderField,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (payload.collections[collectionSlug]?.config?.upload && formState.file) {\n formStateResult.file = formState.file\n }\n }\n\n let lockedStateResult\n\n if (returnLockStatus) {\n lockedStateResult = await handleFormStateLocking({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n })\n }\n\n return {\n lockedState: lockedStateResult,\n state: formStateResult,\n }\n}\n"],"mappings":"AASA,SAASA,cAAc,EAAEC,YAAY,QAAQ;AAC7C,SAASC,aAAa,EAAEC,oBAAoB,QAAQ;AAEpD,SAASC,uBAAuB,QAAQ;AACxC,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,YAAY,QAAQ;AAC7B,SAASC,sBAAsB,QAAQ;AA4BvC,OAAO,MAAMC,qBAAA,GAGT,MAAOC,IAAA;EACT,MAAM;IAAEC;EAAG,CAAE,GAAGD,IAAA;EAEhB,IAAI;IACF,MAAMX,cAAA,CAAe;MAAEY;IAAI;IAC3B,MAAMC,GAAA,GAAM,MAAMC,cAAA,CAAeH,IAAA;IAEjC,OAAOE,GAAA;EACT,EAAE,OAAOE,GAAA,EAAK;IACZH,GAAA,CAAII,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;MAAEH,GAAA;MAAKI,GAAA,EAAK;IAAyC;IAE9E,IAAIJ,GAAA,CAAIK,OAAO,KAAK,8CAA8C;MAChE,OAAO;QACLA,OAAA,EAASL,GAAA,CAAIK;MACf;IACF;IAEA,IAAIL,GAAA,CAAIK,OAAO,KAAK,gBAAgB;MAClC,MAAM,IAAIC,KAAA,CAAM;IAClB;IAEA,OAAOpB,YAAA,CAAac,GAAA;EACtB;AACF;AAEA,OAAO,MAAMD,cAAA,GAAiB,MAC5BH,IAAA;EAEA,MAAM;IACJW,EAAA,EAAIC,UAAU;IACdC,cAAc;IACdC,IAAA,EAAMC,YAAY;IAClBC,cAAc;IACdC,cAAc;IACdC,iBAAiB;IACjBC,SAAS;IACTC,UAAU;IACVC,gBAAgB;IAChBC,qBAAqB;IACrBC,QAAQ;IACRC,SAAS;IACTC,QAAQ;IACRC,eAAe;IACfzB,GAAG;IACHA,GAAA,EAAK;MACH0B,IAAI;MACJtB,OAAO;MACPA,OAAA,EAAS;QAAEuB;MAAM;IAAE,CACpB;IACDC,gBAAgB;IAChBC,UAAA,GAAajB,cAAA,IAAkBO,UAAU;IACzCW,MAAM;IACNC,oBAAoB;IACpBC,cAAc;IACdC;EAAgB,CACjB,GAAGlC,IAAA;EAEJ,MAAMmC,UAAA,GAAaJ,MAAA,GAASxC,aAAA,CAAcwC,MAAA,IAAUK,SAAA;EAEpD,IAAI,CAACvB,cAAA,IAAkB,CAACO,UAAA,EAAY;IAClC,MAAM,IAAIV,KAAA,CAAM;EAClB;EAEA,MAAM2B,SAAA,GAAYxC,YAAA,CAAa;IAC7BgB,cAAA;IACAe,MAAA;IACAR,UAAA;IACAO;EACF;EAEA,MAAMW,eAAA,GAAkB1C,kBAAA,CAAmB;IACzCiB,cAAA;IACAe,MAAA,EAAQjC,eAAA,CAAgB;MACtBiC,MAAA;MACAD,IAAA;MACAY,SAAA,EAAWtC,GAAA,CAAII,OAAO,CAACkC,SAAS;MAChCC,IAAA,EAAMR,oBAAA,GAAuB,OAAO/B,GAAA,CAAIuC;IAC1C;IACApB,UAAA;IACAO,IAAA;IACAtB,OAAA;IACAgC;EACF;EAEA,MAAM1B,EAAA,GAAKE,cAAA,GAAiBD,UAAA,GAAawB,SAAA;EACzC,MAAMK,mBAAA,GAAsBJ,SAAA,CAAUK,GAAG,CAACZ,UAAA;EAE1C,IAAI,CAACW,mBAAA,EAAqB;IACxB,MAAM,IAAI/B,KAAA,CAAM,mBAAmBoB,UAAA,yBAAmC;EACxE;EAEA,IACE,CAAC,EAAE,YAAYW,mBAAkB,KAC/B,CAACA,mBAAA,CAAoBE,MAAM,IAC3B,CAACF,mBAAA,CAAoBE,MAAM,CAACC,MAAM,KACpC,UAAUH,mBAAA,IACVA,mBAAA,CAAoBI,IAAI,KAAK,UAC7B;IACA,MAAM,IAAInC,KAAA,CACR,0CAA0CoB,UAAA,mCAA6C;EAE3F;EAEA;EACA;EACA,MAAMhB,IAAA,GAAOC,YAAA,IAAgBvB,oBAAA,CAAqB2B,SAAA,EAAW;EAE7D,IAAI2B,YAAA,GAAeV,SAAA;EAEnB,IAAIlB,iBAAA,EAAmB;IACrB4B,YAAA,GAAetD,oBAAA,CAAqB0B,iBAAA,EAAmB;EACzD;EAEA,IAAI6B,SAAA,GAAY1B,gBAAA;EAEhB,IAAIC,qBAAA,EAAuB;IACzByB,SAAA,GAAYvD,oBAAA,CAAqB8B,qBAAA,EAAuB;EAC1D;EAEA;;;;;;;;;EASA,MAAMqB,MAAA,GAASK,KAAA,CAAMC,OAAO,CAACR,mBAAA,IACzBA,mBAAA,GACA,YAAYA,mBAAA,GACVA,mBAAA,CAAoBE,MAAM,GAC1B,CAACF,mBAAA,CAAoB;EAE3B;EACA;EACA,IAAI,CAAC3B,IAAA,CAAKH,EAAE,IAAIA,EAAA,EAAI;IAClBG,IAAA,CAAKH,EAAE,GAAGA,EAAA;EACZ;EAEA,MAAMuC,eAAA,GAAkB,MAAMzD,uBAAA,CAAwB;IACpDkB,EAAA;IACAwC,oBAAA,EAAsBb,eAAA;IACtBzB,cAAA;IACAC,IAAA;IACAgC,YAAA;IACAH,MAAA;IACAS,cAAA,EAAgBf,SAAA;IAChBhB,gBAAA,EAAkB0B,SAAA;IAClBxB,QAAA;IACAC,SAAA;IACA6B,WAAA,EAAarC,cAAA,EAAgB2B,MAAA,IAAU,CAAC;IACxCW,WAAA,EAAarC,cAAA,IAAkB;MAAE0B,MAAA,EAAQ,CAAC;IAAE;IAC5CY,iBAAA,EAAmBpC,SAAA;IACnBM,QAAA;IACAC,eAAA;IACA8B,aAAA,EAAe9D,WAAA;IACfO,GAAA;IACA6B,UAAA;IACAC,MAAA;IACAI,UAAA;IACAF;EACF;EAEA;EACA,IAAIpB,cAAA,IAAkBM,SAAA,EAAW;IAC/B,IAAId,OAAA,CAAQoD,WAAW,CAAC5C,cAAA,CAAe,EAAEe,MAAA,EAAQ8B,MAAA,IAAUvC,SAAA,CAAUwC,IAAI,EAAE;MACzET,eAAA,CAAgBS,IAAI,GAAGxC,SAAA,CAAUwC,IAAI;IACvC;EACF;EAEA,IAAIC,iBAAA;EAEJ,IAAI/B,gBAAA,EAAkB;IACpB+B,iBAAA,GAAoB,MAAM9D,sBAAA,CAAuB;MAC/Ca,EAAA;MACAE,cAAA;MACAO,UAAA;MACAnB,GAAA;MACAiC;IACF;EACF;EAEA,OAAO;IACL2B,WAAA,EAAaD,iBAAA;IACbE,KAAA,EAAOZ;EACT;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getFolderResultsComponentAndData.d.ts","sourceRoot":"","sources":["../../src/utilities/getFolderResultsComponentAndData.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,oCAAoC,EACpC,cAAc,EAEf,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAWxE,KAAK,sCAAsC,GAAG;IAC5C,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC9B,yBAAyB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC5C,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAChC,CAAA;AAED,KAAK,2CAA2C,GAAG;IACjD,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,sBAAsB,CAAC,EAAE,KAAK,CAAA;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,eAAO,MAAM,uCAAuC,EAAE,cAAc,CAClE,oCAAoC,EACpC,OAAO,CAAC,2CAA2C,GAAG,sCAAsC,CAAC,CAe9F,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gCAAgC,gIAQ1C,oCAAoC,KAAG,OAAO,CAAC,sCAAsC,CA8HvF,CAAA"}
1
+ {"version":3,"file":"getFolderResultsComponentAndData.d.ts","sourceRoot":"","sources":["../../src/utilities/getFolderResultsComponentAndData.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,oCAAoC,EACpC,cAAc,EAEf,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAWxE,KAAK,sCAAsC,GAAG;IAC5C,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC9B,yBAAyB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC5C,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAChC,CAAA;AAED,KAAK,2CAA2C,GAAG;IACjD,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,sBAAsB,CAAC,EAAE,KAAK,CAAA;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,eAAO,MAAM,uCAAuC,EAAE,cAAc,CAClE,oCAAoC,EACpC,OAAO,CAAC,2CAA2C,GAAG,sCAAsC,CAAC,CAe9F,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gCAAgC,gIAQ1C,oCAAoC,KAAG,OAAO,CAAC,sCAAsC,CAmIvF,CAAA"}
@@ -69,6 +69,10 @@ export const getFolderResultsComponentAndData = async ({
69
69
  folderType: {
70
70
  exists: false
71
71
  }
72
+ }, {
73
+ folderType: {
74
+ equals: null
75
+ }
72
76
  }]
73
77
  } : undefined]);
74
78
  } else if (browseByFolder && folderID || !browseByFolder) {
@@ -1 +1 @@
1
- {"version":3,"file":"getFolderResultsComponentAndData.js","names":["APIError","formatErrors","getFolderData","buildFolderWhereConstraints","combineWhereConstraints","FolderFileTable","ItemCardGrid","getFolderResultsComponentAndDataHandler","args","req","res","getFolderResultsComponentAndData","err","payload","logger","error","msg","browseByFolder","collectionsToDisplay","activeCollectionSlugs","displayAs","folderAssignedCollections","folderID","undefined","sort","config","folders","emptyQuery","id","exists","collectionSlug","documentWhere","Array","isArray","length","folderWhere","activeCollectionSlug","slug","folderCollectionConstraints","collectionConfig","collections","localeCode","locale","search","query","collectionSpecific","or","folderType","in","collectionConstraints","push","folderData","FolderResultsComponent","_jsxs","subfolders","_jsx","_Fragment","items","title","type","documents","subfolderCount","showRelationCell","breadcrumbs"],"sources":["../../src/utilities/getFolderResultsComponentAndData.tsx"],"sourcesContent":["import type {\n CollectionSlug,\n ErrorResult,\n GetFolderResultsComponentAndDataArgs,\n ServerFunction,\n Where,\n} from 'payload'\nimport type { FolderBreadcrumb, FolderOrDocument } from 'payload/shared'\n\nimport { APIError, formatErrors, getFolderData } from 'payload'\nimport { buildFolderWhereConstraints, combineWhereConstraints } from 'payload/shared'\n\nimport {\n FolderFileTable,\n ItemCardGrid,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- This component is returned via server functions, it must reference the exports dir\n} from '../exports/client/index.js'\n\ntype GetFolderResultsComponentAndDataResult = {\n breadcrumbs?: FolderBreadcrumb[]\n documents?: FolderOrDocument[]\n folderAssignedCollections?: CollectionSlug[]\n FolderResultsComponent: React.ReactNode\n subfolders?: FolderOrDocument[]\n}\n\ntype GetFolderResultsComponentAndDataErrorResult = {\n breadcrumbs?: never\n documents?: never\n FolderResultsComponent?: never\n subfolders?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport const getFolderResultsComponentAndDataHandler: ServerFunction<\n GetFolderResultsComponentAndDataArgs,\n Promise<GetFolderResultsComponentAndDataErrorResult | GetFolderResultsComponentAndDataResult>\n> = async (args) => {\n const { req } = args\n\n try {\n const res = await getFolderResultsComponentAndData(args)\n return res\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error getting the folder results component and data`,\n })\n\n return formatErrors(err)\n }\n}\n\n/**\n * This function is responsible for fetching folder data, building the results component\n * and returns the data and component together.\n */\nexport const getFolderResultsComponentAndData = async ({\n browseByFolder = false,\n collectionsToDisplay: activeCollectionSlugs,\n displayAs,\n folderAssignedCollections,\n folderID = undefined,\n req,\n sort,\n}: GetFolderResultsComponentAndDataArgs): Promise<GetFolderResultsComponentAndDataResult> => {\n const { payload } = req\n\n if (!payload.config.folders) {\n throw new APIError('Folders are not enabled in the configuration.')\n }\n\n const emptyQuery = {\n id: {\n exists: false,\n },\n }\n\n let collectionSlug: CollectionSlug | undefined = undefined\n let documentWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n let folderWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n\n // todo(perf): - collect promises and resolve them in parallel\n for (const activeCollectionSlug of activeCollectionSlugs) {\n if (activeCollectionSlug === payload.config.folders.slug) {\n const folderCollectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (folderCollectionConstraints) {\n folderWhere = folderCollectionConstraints\n }\n\n folderWhere = combineWhereConstraints([\n folderWhere,\n Array.isArray(folderAssignedCollections) &&\n folderAssignedCollections.length &&\n payload.config.folders.collectionSpecific\n ? {\n or: [\n {\n folderType: {\n in: folderAssignedCollections,\n },\n },\n // if the folderType is not set, it means it accepts all collections and should appear in the results\n {\n folderType: {\n exists: false,\n },\n },\n ],\n }\n : undefined,\n ])\n } else if ((browseByFolder && folderID) || !browseByFolder) {\n if (!browseByFolder) {\n collectionSlug = activeCollectionSlug\n }\n\n if (!documentWhere) {\n documentWhere = {\n or: [],\n }\n }\n\n const collectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (collectionConstraints) {\n documentWhere.or.push(collectionConstraints)\n }\n }\n }\n\n const folderData = await getFolderData({\n collectionSlug,\n documentWhere,\n folderID,\n folderWhere,\n req,\n sort,\n })\n\n let FolderResultsComponent = null\n\n if (displayAs === 'grid') {\n FolderResultsComponent = (\n <div>\n {folderData.subfolders.length ? (\n <>\n <ItemCardGrid items={folderData.subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {folderData.documents.length ? (\n <>\n <ItemCardGrid\n items={folderData.documents}\n subfolderCount={folderData.subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n )\n } else {\n FolderResultsComponent = <FolderFileTable showRelationCell={browseByFolder} />\n }\n\n return {\n breadcrumbs: folderData.breadcrumbs,\n documents: folderData.documents,\n folderAssignedCollections: folderData.folderAssignedCollections,\n FolderResultsComponent,\n subfolders: folderData.subfolders,\n }\n}\n"],"mappings":";AASA,SAASA,QAAQ,EAAEC,YAAY,EAAEC,aAAa,QAAQ;AACtD,SAASC,2BAA2B,EAAEC,uBAAuB,QAAQ;AAErE,SACEC,eAAe,EACfC,YAAY,QAEP;AAsBP,OAAO,MAAMC,uCAAA,GAGT,MAAOC,IAAA;EACT,MAAM;IAAEC;EAAG,CAAE,GAAGD,IAAA;EAEhB,IAAI;IACF,MAAME,GAAA,GAAM,MAAMC,gCAAA,CAAiCH,IAAA;IACnD,OAAOE,GAAA;EACT,EAAE,OAAOE,GAAA,EAAK;IACZH,GAAA,CAAII,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;MACvBH,GAAA;MACAI,GAAA,EAAK;IACP;IAEA,OAAOf,YAAA,CAAaW,GAAA;EACtB;AACF;AAEA;;;;AAIA,OAAO,MAAMD,gCAAA,GAAmC,MAAAA,CAAO;EACrDM,cAAA,GAAiB,KAAK;EACtBC,oBAAA,EAAsBC,qBAAqB;EAC3CC,SAAS;EACTC,yBAAyB;EACzBC,QAAA,GAAWC,SAAS;EACpBd,GAAG;EACHe;AAAI,CACiC;EACrC,MAAM;IAAEX;EAAO,CAAE,GAAGJ,GAAA;EAEpB,IAAI,CAACI,OAAA,CAAQY,MAAM,CAACC,OAAO,EAAE;IAC3B,MAAM,IAAI1B,QAAA,CAAS;EACrB;EAEA,MAAM2B,UAAA,GAAa;IACjBC,EAAA,EAAI;MACFC,MAAA,EAAQ;IACV;EACF;EAEA,IAAIC,cAAA,GAA6CP,SAAA;EACjD,IAAIQ,aAAA,GACFC,KAAA,CAAMC,OAAO,CAACd,qBAAA,KAA0B,CAACA,qBAAA,CAAsBe,MAAM,GAAGP,UAAA,GAAaJ,SAAA;EACvF,IAAIY,WAAA,GACFH,KAAA,CAAMC,OAAO,CAACd,qBAAA,KAA0B,CAACA,qBAAA,CAAsBe,MAAM,GAAGP,UAAA,GAAaJ,SAAA;EAEvF;EACA,KAAK,MAAMa,oBAAA,IAAwBjB,qBAAA,EAAuB;IACxD,IAAIiB,oBAAA,KAAyBvB,OAAA,CAAQY,MAAM,CAACC,OAAO,CAACW,IAAI,EAAE;MACxD,MAAMC,2BAAA,GAA8B,MAAMnC,2BAAA,CAA4B;QACpEoC,gBAAA,EAAkB1B,OAAA,CAAQ2B,WAAW,CAACJ,oBAAA,CAAqB,CAACX,MAAM;QAClEH,QAAA;QACAmB,UAAA,EAAYhC,GAAA,EAAKiC,MAAA;QACjBjC,GAAA;QACAkC,MAAA,EAAQ,OAAOlC,GAAA,EAAKmC,KAAA,EAAOD,MAAA,KAAW,WAAWlC,GAAA,CAAImC,KAAK,CAACD,MAAM,GAAGpB,SAAA;QACpEC;MACF;MAEA,IAAIc,2BAAA,EAA6B;QAC/BH,WAAA,GAAcG,2BAAA;MAChB;MAEAH,WAAA,GAAc/B,uBAAA,CAAwB,CACpC+B,WAAA,EACAH,KAAA,CAAMC,OAAO,CAACZ,yBAAA,KACdA,yBAAA,CAA0Ba,MAAM,IAChCrB,OAAA,CAAQY,MAAM,CAACC,OAAO,CAACmB,kBAAkB,GACrC;QACEC,EAAA,EAAI,CACF;UACEC,UAAA,EAAY;YACVC,EAAA,EAAI3B;UACN;QACF;QACA;QACA;UACE0B,UAAA,EAAY;YACVlB,MAAA,EAAQ;UACV;QACF;MAEJ,IACAN,SAAA,CACL;IACH,OAAO,IAAIN,cAAC,IAAkBK,QAAA,IAAa,CAACL,cAAA,EAAgB;MAC1D,IAAI,CAACA,cAAA,EAAgB;QACnBa,cAAA,GAAiBM,oBAAA;MACnB;MAEA,IAAI,CAACL,aAAA,EAAe;QAClBA,aAAA,GAAgB;UACde,EAAA,EAAI;QACN;MACF;MAEA,MAAMG,qBAAA,GAAwB,MAAM9C,2BAAA,CAA4B;QAC9DoC,gBAAA,EAAkB1B,OAAA,CAAQ2B,WAAW,CAACJ,oBAAA,CAAqB,CAACX,MAAM;QAClEH,QAAA;QACAmB,UAAA,EAAYhC,GAAA,EAAKiC,MAAA;QACjBjC,GAAA;QACAkC,MAAA,EAAQ,OAAOlC,GAAA,EAAKmC,KAAA,EAAOD,MAAA,KAAW,WAAWlC,GAAA,CAAImC,KAAK,CAACD,MAAM,GAAGpB,SAAA;QACpEC;MACF;MAEA,IAAIyB,qBAAA,EAAuB;QACzBlB,aAAA,CAAce,EAAE,CAACI,IAAI,CAACD,qBAAA;MACxB;IACF;EACF;EAEA,MAAME,UAAA,GAAa,MAAMjD,aAAA,CAAc;IACrC4B,cAAA;IACAC,aAAA;IACAT,QAAA;IACAa,WAAA;IACA1B,GAAA;IACAe;EACF;EAEA,IAAI4B,sBAAA,GAAyB;EAE7B,IAAIhC,SAAA,KAAc,QAAQ;IACxBgC,sBAAA,gBACEC,KAAA,CAAC;iBACEF,UAAA,CAAWG,UAAU,CAACpB,MAAM,gBAC3BqB,IAAA,CAAAC,SAAA;kBACE,aAAAD,IAAA,CAACjD,YAAA;UAAamD,KAAA,EAAON,UAAA,CAAWG,UAAU;UAAEI,KAAA,EAAO;UAAWC,IAAA,EAAK;;WAEnE,MAEHR,UAAA,CAAWS,SAAS,CAAC1B,MAAM,gBAC1BqB,IAAA,CAAAC,SAAA;kBACE,aAAAD,IAAA,CAACjD,YAAA;UACCmD,KAAA,EAAON,UAAA,CAAWS,SAAS;UAC3BC,cAAA,EAAgBV,UAAA,CAAWG,UAAU,CAACpB,MAAM;UAC5CwB,KAAA,EAAO;UACPC,IAAA,EAAK;;WAGP;;EAGV,OAAO;IACLP,sBAAA,gBAAyBG,IAAA,CAAClD,eAAA;MAAgByD,gBAAA,EAAkB7C;;EAC9D;EAEA,OAAO;IACL8C,WAAA,EAAaZ,UAAA,CAAWY,WAAW;IACnCH,SAAA,EAAWT,UAAA,CAAWS,SAAS;IAC/BvC,yBAAA,EAA2B8B,UAAA,CAAW9B,yBAAyB;IAC/D+B,sBAAA;IACAE,UAAA,EAAYH,UAAA,CAAWG;EACzB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getFolderResultsComponentAndData.js","names":["APIError","formatErrors","getFolderData","buildFolderWhereConstraints","combineWhereConstraints","FolderFileTable","ItemCardGrid","getFolderResultsComponentAndDataHandler","args","req","res","getFolderResultsComponentAndData","err","payload","logger","error","msg","browseByFolder","collectionsToDisplay","activeCollectionSlugs","displayAs","folderAssignedCollections","folderID","undefined","sort","config","folders","emptyQuery","id","exists","collectionSlug","documentWhere","Array","isArray","length","folderWhere","activeCollectionSlug","slug","folderCollectionConstraints","collectionConfig","collections","localeCode","locale","search","query","collectionSpecific","or","folderType","in","equals","collectionConstraints","push","folderData","FolderResultsComponent","_jsxs","subfolders","_jsx","_Fragment","items","title","type","documents","subfolderCount","showRelationCell","breadcrumbs"],"sources":["../../src/utilities/getFolderResultsComponentAndData.tsx"],"sourcesContent":["import type {\n CollectionSlug,\n ErrorResult,\n GetFolderResultsComponentAndDataArgs,\n ServerFunction,\n Where,\n} from 'payload'\nimport type { FolderBreadcrumb, FolderOrDocument } from 'payload/shared'\n\nimport { APIError, formatErrors, getFolderData } from 'payload'\nimport { buildFolderWhereConstraints, combineWhereConstraints } from 'payload/shared'\n\nimport {\n FolderFileTable,\n ItemCardGrid,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- This component is returned via server functions, it must reference the exports dir\n} from '../exports/client/index.js'\n\ntype GetFolderResultsComponentAndDataResult = {\n breadcrumbs?: FolderBreadcrumb[]\n documents?: FolderOrDocument[]\n folderAssignedCollections?: CollectionSlug[]\n FolderResultsComponent: React.ReactNode\n subfolders?: FolderOrDocument[]\n}\n\ntype GetFolderResultsComponentAndDataErrorResult = {\n breadcrumbs?: never\n documents?: never\n FolderResultsComponent?: never\n subfolders?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport const getFolderResultsComponentAndDataHandler: ServerFunction<\n GetFolderResultsComponentAndDataArgs,\n Promise<GetFolderResultsComponentAndDataErrorResult | GetFolderResultsComponentAndDataResult>\n> = async (args) => {\n const { req } = args\n\n try {\n const res = await getFolderResultsComponentAndData(args)\n return res\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error getting the folder results component and data`,\n })\n\n return formatErrors(err)\n }\n}\n\n/**\n * This function is responsible for fetching folder data, building the results component\n * and returns the data and component together.\n */\nexport const getFolderResultsComponentAndData = async ({\n browseByFolder = false,\n collectionsToDisplay: activeCollectionSlugs,\n displayAs,\n folderAssignedCollections,\n folderID = undefined,\n req,\n sort,\n}: GetFolderResultsComponentAndDataArgs): Promise<GetFolderResultsComponentAndDataResult> => {\n const { payload } = req\n\n if (!payload.config.folders) {\n throw new APIError('Folders are not enabled in the configuration.')\n }\n\n const emptyQuery = {\n id: {\n exists: false,\n },\n }\n\n let collectionSlug: CollectionSlug | undefined = undefined\n let documentWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n let folderWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n\n // todo(perf): - collect promises and resolve them in parallel\n for (const activeCollectionSlug of activeCollectionSlugs) {\n if (activeCollectionSlug === payload.config.folders.slug) {\n const folderCollectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (folderCollectionConstraints) {\n folderWhere = folderCollectionConstraints\n }\n\n folderWhere = combineWhereConstraints([\n folderWhere,\n Array.isArray(folderAssignedCollections) &&\n folderAssignedCollections.length &&\n payload.config.folders.collectionSpecific\n ? {\n or: [\n {\n folderType: {\n in: folderAssignedCollections,\n },\n },\n // if the folderType is not set, it means it accepts all collections and should appear in the results\n {\n folderType: {\n exists: false,\n },\n },\n {\n folderType: {\n equals: null,\n },\n },\n ],\n }\n : undefined,\n ])\n } else if ((browseByFolder && folderID) || !browseByFolder) {\n if (!browseByFolder) {\n collectionSlug = activeCollectionSlug\n }\n\n if (!documentWhere) {\n documentWhere = {\n or: [],\n }\n }\n\n const collectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (collectionConstraints) {\n documentWhere.or.push(collectionConstraints)\n }\n }\n }\n\n const folderData = await getFolderData({\n collectionSlug,\n documentWhere,\n folderID,\n folderWhere,\n req,\n sort,\n })\n\n let FolderResultsComponent = null\n\n if (displayAs === 'grid') {\n FolderResultsComponent = (\n <div>\n {folderData.subfolders.length ? (\n <>\n <ItemCardGrid items={folderData.subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {folderData.documents.length ? (\n <>\n <ItemCardGrid\n items={folderData.documents}\n subfolderCount={folderData.subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n )\n } else {\n FolderResultsComponent = <FolderFileTable showRelationCell={browseByFolder} />\n }\n\n return {\n breadcrumbs: folderData.breadcrumbs,\n documents: folderData.documents,\n folderAssignedCollections: folderData.folderAssignedCollections,\n FolderResultsComponent,\n subfolders: folderData.subfolders,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,7 @@
1
1
  import type { ClientUser } from 'payload';
2
- export interface HandleTakeOverParams {
3
- clearRouteCache?: () => void;
4
- collectionSlug?: string;
5
- documentLockStateRef: React.RefObject<{
6
- hasShownLockedModal: boolean;
7
- isLocked: boolean;
8
- user: ClientUser | number | string;
9
- }>;
10
- globalSlug?: string;
11
- id: number | string;
12
- isLockingEnabled: boolean;
13
- isWithinDoc: boolean;
14
- setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void;
15
- setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void;
16
- updateDocumentEditor: (docID: number | string, slug: string, user: ClientUser | number | string) => Promise<void>;
2
+ export declare const handleTakeOver: (id: number | string, collectionSlug: string, globalSlug: string, user: ClientUser | number | string, isWithinDoc: boolean, updateDocumentEditor: (docID: number | string, slug: string, user: ClientUser | number | string) => Promise<void>, setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void, documentLockStateRef: React.RefObject<{
3
+ hasShownLockedModal: boolean;
4
+ isLocked: boolean;
17
5
  user: ClientUser | number | string;
18
- }
19
- export declare const handleTakeOver: ({ id, clearRouteCache, collectionSlug, documentLockStateRef, globalSlug, isLockingEnabled, isWithinDoc, setCurrentEditor, setIsReadOnlyForIncomingUser, updateDocumentEditor, user, }: HandleTakeOverParams) => Promise<void>;
6
+ }>, isLockingEnabled: boolean, setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void) => void;
20
7
  //# sourceMappingURL=handleTakeOver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleTakeOver.d.ts","sourceRoot":"","sources":["../../src/utilities/handleTakeOver.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,KAAK,CAAC,SAAS,CAAC;QACpC,mBAAmB,EAAE,OAAO,CAAA;QAC5B,QAAQ,EAAE,OAAO,CAAA;QACjB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KACnC,CAAC,CAAA;IACF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAA;IACrF,4BAA4B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IAC7E,oBAAoB,EAAE,CACpB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC;AAED,eAAO,MAAM,cAAc,0LAYxB,oBAAoB,KAAG,OAAO,CAAC,IAAI,CAkCrC,CAAA"}
1
+ {"version":3,"file":"handleTakeOver.d.ts","sourceRoot":"","sources":["../../src/utilities/handleTakeOver.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,eAAO,MAAM,cAAc,OACrB,MAAM,GAAG,MAAM,kBACH,MAAM,cACV,MAAM,QACZ,UAAU,GAAG,MAAM,GAAG,MAAM,eACrB,OAAO,wBACE,CACpB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,KAC/B,OAAO,CAAC,IAAI,CAAC,oBACA,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,wBAC/D,KAAK,CAAC,SAAS,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC,CAAC,oBACgB,OAAO,iCACM,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,KAC5E,IA6BF,CAAA"}
@@ -1,22 +1,10 @@
1
- export const handleTakeOver = async ({
2
- id,
3
- clearRouteCache,
4
- collectionSlug,
5
- documentLockStateRef,
6
- globalSlug,
7
- isLockingEnabled,
8
- isWithinDoc,
9
- setCurrentEditor,
10
- setIsReadOnlyForIncomingUser,
11
- updateDocumentEditor,
12
- user
13
- }) => {
1
+ export const handleTakeOver = (id, collectionSlug, globalSlug, user, isWithinDoc, updateDocumentEditor, setCurrentEditor, documentLockStateRef, isLockingEnabled, setIsReadOnlyForIncomingUser) => {
14
2
  if (!isLockingEnabled) {
15
3
  return;
16
4
  }
17
5
  try {
18
6
  // Call updateDocumentEditor to update the document's owner to the current user
19
- await updateDocumentEditor(id, collectionSlug ?? globalSlug, user);
7
+ void updateDocumentEditor(id, collectionSlug ?? globalSlug, user);
20
8
  if (!isWithinDoc) {
21
9
  documentLockStateRef.current.hasShownLockedModal = true;
22
10
  }
@@ -31,10 +19,6 @@ export const handleTakeOver = async ({
31
19
  if (isWithinDoc && setIsReadOnlyForIncomingUser) {
32
20
  setIsReadOnlyForIncomingUser(false);
33
21
  }
34
- // Need to clear the route cache to refresh the page and update readOnly state for server rendered components
35
- if (clearRouteCache) {
36
- clearRouteCache();
37
- }
38
22
  } catch (error) {
39
23
  // eslint-disable-next-line no-console
40
24
  console.error('Error during document takeover:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"handleTakeOver.js","names":["handleTakeOver","id","clearRouteCache","collectionSlug","documentLockStateRef","globalSlug","isLockingEnabled","isWithinDoc","setCurrentEditor","setIsReadOnlyForIncomingUser","updateDocumentEditor","user","current","hasShownLockedModal","isLocked","error","console"],"sources":["../../src/utilities/handleTakeOver.tsx"],"sourcesContent":["import type { ClientUser } from 'payload'\n\nexport interface HandleTakeOverParams {\n clearRouteCache?: () => void\n collectionSlug?: string\n documentLockStateRef: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n }>\n globalSlug?: string\n id: number | string\n isLockingEnabled: boolean\n isWithinDoc: boolean\n setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void\n setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void\n updateDocumentEditor: (\n docID: number | string,\n slug: string,\n user: ClientUser | number | string,\n ) => Promise<void>\n user: ClientUser | number | string\n}\n\nexport const handleTakeOver = async ({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef,\n globalSlug,\n isLockingEnabled,\n isWithinDoc,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n}: HandleTakeOverParams): Promise<void> => {\n if (!isLockingEnabled) {\n return\n }\n\n try {\n // Call updateDocumentEditor to update the document's owner to the current user\n await updateDocumentEditor(id, collectionSlug ?? globalSlug, user)\n\n if (!isWithinDoc) {\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n // Update the locked state to reflect the current user as the owner\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,\n isLocked: true,\n user,\n }\n setCurrentEditor(user)\n\n // If this is a takeover within the document, ensure the document is editable\n if (isWithinDoc && setIsReadOnlyForIncomingUser) {\n setIsReadOnlyForIncomingUser(false)\n }\n\n // Need to clear the route cache to refresh the page and update readOnly state for server rendered components\n if (clearRouteCache) {\n clearRouteCache()\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error during document takeover:', error)\n }\n}\n"],"mappings":"AAwBA,OAAO,MAAMA,cAAA,GAAiB,MAAAA,CAAO;EACnCC,EAAE;EACFC,eAAe;EACfC,cAAc;EACdC,oBAAoB;EACpBC,UAAU;EACVC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,4BAA4B;EAC5BC,oBAAoB;EACpBC;AAAI,CACiB;EACrB,IAAI,CAACL,gBAAA,EAAkB;IACrB;EACF;EAEA,IAAI;IACF;IACA,MAAMI,oBAAA,CAAqBT,EAAA,EAAIE,cAAA,IAAkBE,UAAA,EAAYM,IAAA;IAE7D,IAAI,CAACJ,WAAA,EAAa;MAChBH,oBAAA,CAAqBQ,OAAO,CAACC,mBAAmB,GAAG;IACrD;IAEA;IACAT,oBAAA,CAAqBQ,OAAO,GAAG;MAC7BC,mBAAA,EAAqBT,oBAAA,CAAqBQ,OAAO,EAAEC,mBAAA;MACnDC,QAAA,EAAU;MACVH;IACF;IACAH,gBAAA,CAAiBG,IAAA;IAEjB;IACA,IAAIJ,WAAA,IAAeE,4BAAA,EAA8B;MAC/CA,4BAAA,CAA6B;IAC/B;IAEA;IACA,IAAIP,eAAA,EAAiB;MACnBA,eAAA;IACF;EACF,EAAE,OAAOa,KAAA,EAAO;IACd;IACAC,OAAA,CAAQD,KAAK,CAAC,mCAAmCA,KAAA;EACnD;AACF","ignoreList":[]}
1
+ {"version":3,"file":"handleTakeOver.js","names":["handleTakeOver","id","collectionSlug","globalSlug","user","isWithinDoc","updateDocumentEditor","setCurrentEditor","documentLockStateRef","isLockingEnabled","setIsReadOnlyForIncomingUser","current","hasShownLockedModal","isLocked","error","console"],"sources":["../../src/utilities/handleTakeOver.tsx"],"sourcesContent":["import type { ClientUser } from 'payload'\n\nexport const handleTakeOver = (\n id: number | string,\n collectionSlug: string,\n globalSlug: string,\n user: ClientUser | number | string,\n isWithinDoc: boolean,\n updateDocumentEditor: (\n docID: number | string,\n slug: string,\n user: ClientUser | number | string,\n ) => Promise<void>,\n setCurrentEditor: (value: React.SetStateAction<ClientUser | number | string>) => void,\n documentLockStateRef: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n }>,\n isLockingEnabled: boolean,\n setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void,\n): void => {\n if (!isLockingEnabled) {\n return\n }\n\n try {\n // Call updateDocumentEditor to update the document's owner to the current user\n void updateDocumentEditor(id, collectionSlug ?? globalSlug, user)\n\n if (!isWithinDoc) {\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n // Update the locked state to reflect the current user as the owner\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,\n isLocked: true,\n user,\n }\n setCurrentEditor(user)\n\n // If this is a takeover within the document, ensure the document is editable\n if (isWithinDoc && setIsReadOnlyForIncomingUser) {\n setIsReadOnlyForIncomingUser(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error during document takeover:', error)\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAA,GAAiBA,CAC5BC,EAAA,EACAC,cAAA,EACAC,UAAA,EACAC,IAAA,EACAC,WAAA,EACAC,oBAAA,EAKAC,gBAAA,EACAC,oBAAA,EAKAC,gBAAA,EACAC,4BAAA;EAEA,IAAI,CAACD,gBAAA,EAAkB;IACrB;EACF;EAEA,IAAI;IACF;IACA,KAAKH,oBAAA,CAAqBL,EAAA,EAAIC,cAAA,IAAkBC,UAAA,EAAYC,IAAA;IAE5D,IAAI,CAACC,WAAA,EAAa;MAChBG,oBAAA,CAAqBG,OAAO,CAACC,mBAAmB,GAAG;IACrD;IAEA;IACAJ,oBAAA,CAAqBG,OAAO,GAAG;MAC7BC,mBAAA,EAAqBJ,oBAAA,CAAqBG,OAAO,EAAEC,mBAAA;MACnDC,QAAA,EAAU;MACVT;IACF;IACAG,gBAAA,CAAiBH,IAAA;IAEjB;IACA,IAAIC,WAAA,IAAeK,4BAAA,EAA8B;MAC/CA,4BAAA,CAA6B;IAC/B;EACF,EAAE,OAAOI,KAAA,EAAO;IACd;IACAC,OAAA,CAAQD,KAAK,CAAC,mCAAmCA,KAAA;EACnD;AACF","ignoreList":[]}
@@ -1,8 +1,8 @@
1
- import type { ClientCollectionConfig, ClientConfig, CollectionConfig, Column, ColumnPreference, Field, ImportMap, ListQuery, PaginatedDocs, Payload, PayloadRequest, SanitizedCollectionConfig, ViewTypes } from 'payload';
1
+ import type { ClientCollectionConfig, ClientConfig, CollectionConfig, Column, ColumnPreference, Field, ImportMap, ListQuery, PaginatedDocs, Payload, SanitizedCollectionConfig, ViewTypes } from 'payload';
2
2
  import { type I18nClient } from '@payloadcms/translations';
3
3
  import React from 'react';
4
4
  export declare const renderFilters: (fields: Field[], importMap: ImportMap) => Map<string, React.ReactNode>;
5
- export declare const renderTable: ({ clientCollectionConfig, clientConfig, collectionConfig, collections, columns, customCellProps, data, enableRowSelections, groupByFieldPath, groupByValue, heading, i18n, key, orderableFieldName, payload, query, renderRowTypes, req, tableAppearance, useAsTitle, viewType, }: {
5
+ export declare const renderTable: ({ clientCollectionConfig, clientConfig, collectionConfig, collections, columns, customCellProps, data, enableRowSelections, groupByFieldPath, groupByValue, heading, i18n, key, orderableFieldName, payload, query, renderRowTypes, tableAppearance, useAsTitle, viewType, }: {
6
6
  clientCollectionConfig?: ClientCollectionConfig;
7
7
  clientConfig?: ClientConfig;
8
8
  collectionConfig?: SanitizedCollectionConfig;
@@ -21,7 +21,6 @@ export declare const renderTable: ({ clientCollectionConfig, clientConfig, colle
21
21
  payload: Payload;
22
22
  query?: ListQuery;
23
23
  renderRowTypes?: boolean;
24
- req?: PayloadRequest;
25
24
  tableAppearance?: "condensed" | "default";
26
25
  useAsTitle: CollectionConfig["admin"]["useAsTitle"];
27
26
  viewType?: ViewTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,cAAc,EACd,yBAAyB,EACzB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAqBzB,eAAO,MAAM,aAAa,WAChB,KAAK,EAAE,aACJ,SAAS,KACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAoB3B,CAAA;AAEH,eAAO,MAAM,WAAW,sRAsBrB;IACD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACzC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KAAG;IACF,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CAsMvB,CAAA"}
1
+ {"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,yBAAyB,EACzB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAqBzB,eAAO,MAAM,aAAa,WAChB,KAAK,EAAE,aACJ,SAAS,KACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAoB3B,CAAA;AAEH,eAAO,MAAM,WAAW,iRAqBrB;IACD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACzC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KAAG;IACF,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CAoMvB,CAAA"}
@@ -36,7 +36,6 @@ export const renderTable = ({
36
36
  payload,
37
37
  query,
38
38
  renderRowTypes,
39
- req,
40
39
  tableAppearance,
41
40
  useAsTitle,
42
41
  viewType
@@ -79,7 +78,6 @@ export const renderTable = ({
79
78
  // sortColumnProps,
80
79
  customCellProps,
81
80
  payload,
82
- req,
83
81
  serverFields,
84
82
  useAsTitle,
85
83
  viewType
@@ -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","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
+ {"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":";AAgBA,SAASA,cAAc,QAAyB;AAChD,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ;AAC1D,OAAOC,KAAA,MAAW;AAIlB,SAASC,qBAAqB,QAAQ;AACtC,SACEC,aAAa,EACbC,mBAAmB,EACnBC,cAAc,EACdC,IAAI,EACJC,SAAS,EACTC,iBAAiB,EACjBC,SAAS,EACTC,UAAU,EACVC,OAAO,EACPC,KAAK,QAEA;AACP,SAASC,YAAY,QAAQ;AAC7B,SAASC,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,aAAA,GAAgBA,CAC3BC,MAAA,EACAC,SAAA,KAEAD,MAAA,CAAOE,MAAM,CACX,CAACC,GAAA,EAAKC,KAAA;EACJ,IAAIpB,uBAAA,CAAwBoB,KAAA,GAAQ;IAClC,OAAOD,GAAA;EACT;EAEA,IAAI,UAAUC,KAAA,IAASA,KAAA,CAAMC,KAAK,EAAEC,UAAA,EAAYC,MAAA,EAAQ;IACtDJ,GAAA,CAAIK,GAAG,CACLJ,KAAA,CAAMK,IAAI,EACVvB,qBAAA,CAAsB;MACpBwB,SAAA,EAAWN,KAAA,CAAMC,KAAK,CAACC,UAAU,EAAEC,MAAA;MACnCN;IACF;EAEJ;EAEA,OAAOE,GAAA;AACT,GACA,IAAIQ,GAAA;AAGR,OAAO,MAAMC,WAAA,GAAcA,CAAC;EAC1BC,sBAAsB;EACtBC,YAAY;EACZC,gBAAgB;EAChBC,WAAW;EACXC,OAAO;EACPC,eAAe;EACfC,IAAI;EACJC,mBAAmB;EACnBC,gBAAgB;EAChBC,YAAY;EACZC,OAAO;EACPC,IAAI;EACJC,GAAA,GAAM,OAAO;EACbC,kBAAkB;EAClBC,OAAO;EACPC,KAAK;EACLC,cAAc;EACdC,eAAe;EACfC,UAAU;EACVC;AAAQ,CAuBT;EAIC;EAEA,IAAIC,WAAA;EACJ,IAAIC,YAAA,GAA8BrB,sBAAA,EAAwBb,MAAA,IAAU,EAAE;EACtE,IAAImC,YAAA,GAAwBpB,gBAAA,EAAkBf,MAAA,IAAU,EAAE;EAC1D,MAAMoC,aAAA,GAAgBpB,WAAA;EAEtB,MAAMqB,YAAA,GAAeC,OAAA,CAAQvB,gBAAA,EAAkBV,KAAA,EAAOkC,OAAA,IAAWX,KAAA,EAAOW,OAAA;EAExE,IAAIH,aAAA,EAAe;IACjBF,YAAA,GAAe,EAAE;IACjBC,YAAA,GAAe,EAAE;IAEjB,KAAK,MAAMK,UAAA,IAAcxB,WAAA,EAAa;MACpC,MAAMH,sBAAA,GAAyBC,YAAA,CAAaE,WAAW,CAACyB,IAAI,CACzDC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKH,UAAA;MAG1B,KAAK,MAAMpC,KAAA,IAASP,YAAA,CAAagB,sBAAA,CAAuBb,MAAM,GAAG;QAC/D,IAAIjB,gBAAA,CAAiBqB,KAAA,GAAQ;UAC3B,IAAI8B,YAAA,CAAaU,IAAI,CAAEF,IAAA,IAAS3D,gBAAA,CAAiB2D,IAAA,KAASA,IAAA,CAAKjC,IAAI,KAAKL,KAAA,CAAMK,IAAI,GAAG;YACnF;UACF;QACF;QAEAyB,YAAA,CAAaW,IAAI,CAACzC,KAAA;MACpB;MAEA,MAAM0C,sBAAA,GAAyBnB,OAAA,CAAQX,WAAW,CAACwB,UAAA,CAAW,CAACO,MAAM;MAErE,KAAK,MAAM3C,KAAA,IAASP,YAAA,CAAaiD,sBAAA,CAAuB9C,MAAM,GAAG;QAC/D,IAAIjB,gBAAA,CAAiBqB,KAAA,GAAQ;UAC3B,IAAI+B,YAAA,CAAaS,IAAI,CAAEF,IAAA,IAAS3D,gBAAA,CAAiB2D,IAAA,KAASA,IAAA,CAAKjC,IAAI,KAAKL,KAAA,CAAMK,IAAI,GAAG;YACnF;UACF;QACF;QAEA0B,YAAA,CAAaU,IAAI,CAACzC,KAAA;MACpB;IACF;EACF;EAEA,MAAM4C,UAAA,GAWF;IACFd,YAAA;IACAjB,OAAA;IACAG,mBAAA;IACAI,IAAA;IACA;IACAN,eAAA;IACAS,OAAA;IACAQ,YAAA;IACAJ,UAAA;IACAC;EACF;EAEA,IAAII,aAAA,EAAe;IACjBH,WAAA,GAAcnC,gBAAA,CAAiB;MAC7B,GAAGkD,UAAU;MACbC,cAAA,EAAgBC,SAAA;MAChBC,QAAA,EAAU;MACVC,IAAA,EAAMjC,IAAA,EAAMiC,IAAA,IAAQ;IACtB;EACF,OAAO;IACLnB,WAAA,GAAcnC,gBAAA,CAAiB;MAC7B,GAAGkD,UAAU;MACbC,cAAA,EAAgBpC,sBAAA,CAAuB8B,IAAI;MAC3CQ,QAAA,EAAU;MACVC,IAAA,EAAMjC,IAAA,EAAMiC,IAAA,IAAQ;IACtB;EACF;EAEA,MAAMC,YAAA,GAAe,C,GAAIpB,WAAA,CAAY;EAErC,IAAIJ,cAAA,EAAgB;IAClBwB,YAAA,CAAaC,OAAO,CAAC;MACnBC,QAAA,EAAU;MACVC,MAAA,EAAQ;MACRpD,KAAA,EAAO;QACLC,KAAA,EAAO;UACLoD,QAAA,EAAU;QACZ;QACAC,MAAA,EAAQ;MACV;MACAC,OAAA,EAASnC,IAAA,CAAKoC,CAAC,CAAC;MAChBC,aAAA,EAAe,CAAC1C,IAAA,EAAMiC,IAAA,IAAQ,EAAE,EAAEU,GAAG,CAAC,CAACC,GAAA,EAAKC,CAAA,kBAC1CC,IAAA,CAAC3E,IAAA;QAAa4E,IAAA,EAAK;kBAChBpF,cAAA,CACCkC,WAAA,GACIW,OAAA,CAAQX,WAAW,CAAC+C,GAAA,CAAII,UAAU,CAAC,CAACpB,MAAM,CAACqB,MAAM,CAACC,QAAQ,GAC1DxD,sBAAA,CAAuBuD,MAAM,CAACC,QAAQ,EAC1C7C,IAAA;SALOwC,CAAA;IASf;EACF;EAEA,IAAI5C,mBAAA,EAAqB;IACvBiC,YAAA,CAAaC,OAAO,CAAC;MACnBC,QAAA,EAAU;MACVC,MAAA,EAAQ;MACRpD,KAAA,EAAO;QACLC,KAAA,EAAO;UACLoD,QAAA,EAAU;QACZ;QACAC,MAAA,EAAQ;MACV;MACAC,OAAA,eAASM,IAAA,CAAC1E,SAAA;MACVsE,aAAA,EAAe,CAAC1C,IAAA,EAAMiC,IAAA,IAAQ,EAAE,EAAEU,GAAG,CAAC,CAACQ,CAAA,EAAGN,CAAA,kBACxCC,IAAA,CAACxE,SAAA;QAAkB8E,OAAA,EAASpD,IAAA,EAAMiC,IAAI,CAACY,CAAA;SAAvBA,CAAA;IAEpB;EACF;EAEA,IAAI3B,YAAA,EAAc;IAChB,OAAO;MACLJ,WAAA;MACA;MACArC,KAAA,eACEqE,IAAA,CAAC;QACCO,SAAA,EAAW,CAAC,cAAclD,YAAA,KAAiB4B,SAAA,IAAa,sBAAsB,CAAC,CAC5EuB,MAAM,CAACnC,OAAA,EACPoC,IAAI,CAAC;kBAGR,aAAAC,KAAA,CAACnF,iBAAA;UAAkB4D,IAAA,EAAMjC,IAAA,EAAMiC,IAAA,IAAQ,EAAE;UAAEwB,SAAA,EAAWzD,IAAA,EAAMyD,SAAA,IAAa;kCACvEX,IAAA,CAAC9E,aAAA;YACC4B,gBAAA,EAAkBF,sBAAA;YAClBQ,gBAAA,EAAkBA,gBAAA;YAClBC,YAAA,EAAcA,YAAA;YACdC,OAAA,EAASA;2BAEX0C,IAAA,CAACrE,KAAA;YAAMiF,UAAA,EAAY/C,eAAA;YAAiBb,OAAA,EAASoC,YAAA;YAAclC,IAAA,EAAMA,IAAA,EAAMiC,IAAA,IAAQ;2BAC/Ea,IAAA,CAAC7E,mBAAA;YACC2B,gBAAA,EAAkBF,sBAAA;YAClBM,IAAA,EAAMA,IAAA;YACNG,YAAA,EAAcA;;;SAbbG,GAAA;IAkBX;EACF;EAEA,IAAI,CAACC,kBAAA,EAAoB;IACvB,OAAO;MACLO,WAAA;MACA;MACArC,KAAA,eACEqE,IAAA,CAAC;QAAIO,SAAA,EAAU;kBACb,aAAAP,IAAA,CAACrE,KAAA;UAAMiF,UAAA,EAAY/C,eAAA;UAAiBb,OAAA,EAASoC,YAAA;UAAclC,IAAA,EAAMA,IAAA,EAAMiC,IAAA,IAAQ;;SADhD3B,GAAA;IAIrC;EACF;EAEA4B,YAAA,CAAaC,OAAO,CAAC;IACnBC,QAAA,EAAU;IACVC,MAAA,EAAQ;IACRpD,KAAA,EAAO;MACLC,KAAA,EAAO;QACLoD,QAAA,EAAU;MACZ;MACAC,MAAA,EAAQ;IACV;IACAC,OAAA,eAASM,IAAA,CAACvE,UAAA;IACVmE,aAAA,EAAe,CAAC1C,IAAA,EAAMiC,IAAA,IAAQ,EAAE,EAAEU,GAAG,CAAC,CAACQ,CAAA,EAAGN,CAAA,kBAAMC,IAAA,CAACtE,OAAA,MAAaqE,CAAA;EAChE;EAEA,OAAO;IACL/B,WAAA;IACA;IACArC,KAAA,eACEqE,IAAA,CAAC;MAAIO,SAAA,EAAU;gBACb,aAAAP,IAAA,CAAC5E,cAAA;QACCwF,UAAA,EAAY/C,eAAA;QACZU,UAAA,EAAY3B,sBAAA;QACZI,OAAA,EAASoC,YAAA;QACTlC,IAAA,EAAMA,IAAA,EAAMiC,IAAA,IAAQ;;OALS3B,GAAA;EASrC;AACF","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;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"}
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;AAkC1F,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,qBAumBzB"}
@@ -21,7 +21,6 @@ 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';
25
24
  import { useRouteTransition } from '../../providers/RouteTransition/index.js';
26
25
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
27
26
  import { UploadControlsProvider } from '../../providers/UploadControls/index.js';
@@ -74,7 +73,6 @@ export function DefaultEditView({
74
73
  initialState,
75
74
  isEditing,
76
75
  isInitializing,
77
- isLocked,
78
76
  isTrashed,
79
77
  lastUpdateTime,
80
78
  redirectAfterCreate,
@@ -134,15 +132,10 @@ export function DefaultEditView({
134
132
  const {
135
133
  startRouteTransition
136
134
  } = useRouteTransition();
137
- const {
138
- clearRouteCache
139
- } = useRouteCache();
140
135
  const {
141
136
  isLivePreviewEnabled,
142
137
  isLivePreviewing,
143
- previewWindowType,
144
- setURL: setLivePreviewURL,
145
- typeofLivePreviewURL
138
+ previewWindowType
146
139
  } = useLivePreviewContext();
147
140
  const abortOnChangeRef = useRef(null);
148
141
  const abortOnSaveRef = useRef(null);
@@ -217,14 +210,19 @@ export function DefaultEditView({
217
210
  }
218
211
  }
219
212
  }, [collectionSlug, documentIsLocked, documentLockState, globalSlug, id, isLockingEnabled, setCurrentEditor, setDocumentIsLocked, unlockDocument, user?.id]);
220
- const onSave = useCallback(async (json, ctx) => {
213
+ const onSave = useCallback(async (json, options) => {
221
214
  const {
222
215
  context,
223
216
  formState
224
- } = ctx || {};
217
+ } = options || {};
225
218
  const controller = handleAbortRef(abortOnSaveRef);
226
219
  const document = json?.doc || json?.result;
227
220
  const updatedAt = document?.updatedAt || new Date().toISOString();
221
+ reportUpdate({
222
+ id,
223
+ entitySlug,
224
+ updatedAt
225
+ });
228
226
  // If we're editing the doc of the logged-in user,
229
227
  // Refresh the cookie to get new permissions
230
228
  if (user && collectionSlug === userSlug && id === user.id) {
@@ -263,7 +261,6 @@ export function DefaultEditView({
263
261
  if (id || globalSlug) {
264
262
  const docPreferences = await getDocPreferences();
265
263
  const {
266
- livePreviewURL,
267
264
  state
268
265
  } = await getFormState({
269
266
  id,
@@ -275,7 +272,6 @@ export function DefaultEditView({
275
272
  globalSlug,
276
273
  operation,
277
274
  renderAllFields: false,
278
- returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',
279
275
  returnLockStatus: false,
280
276
  schemaPath: schemaPathSegments.join('.'),
281
277
  signal: controller.signal,
@@ -285,18 +281,10 @@ export function DefaultEditView({
285
281
  if (isLockingEnabled) {
286
282
  setDocumentIsLocked(false);
287
283
  }
288
- if (isLivePreviewEnabled) {
289
- setLivePreviewURL(livePreviewURL);
290
- }
291
- reportUpdate({
292
- id,
293
- entitySlug,
294
- updatedAt
295
- });
296
284
  abortOnSaveRef.current = null;
297
285
  return state;
298
286
  }
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]);
287
+ }, [reportUpdate, id, entitySlug, user, collectionSlug, userSlug, setLastUpdateTime, setData, onSaveFromContext, isEditing, depth, redirectAfterCreate, getDocPermissions, globalSlug, refreshCookieAsync, incrementVersionCount, adminRoute, locale, startRouteTransition, router, resetUploadEdits, getDocPreferences, getFormState, docPermissions, operation, schemaPathSegments, isLockingEnabled, setDocumentIsLocked]);
300
288
  const onChange = useCallback(async ({
301
289
  formState: prevFormState,
302
290
  submitted
@@ -337,7 +325,7 @@ export function DefaultEditView({
337
325
  }
338
326
  abortOnChangeRef.current = null;
339
327
  return state_0;
340
- }, [editSessionStartTime, isLockingEnabled, getDocPreferences, getFormState, id, collectionSlug, docPermissions, globalSlug, operation, schemaPathSegments, handleDocumentLocking]);
328
+ }, [id, collectionSlug, getDocPreferences, getFormState, globalSlug, handleDocumentLocking, isLockingEnabled, operation, schemaPathSegments, docPermissions, editSessionStartTime]);
341
329
  // Clean up when the component unmounts or when the document is unlocked
342
330
  useEffect(() => {
343
331
  return () => {
@@ -383,18 +371,7 @@ export function DefaultEditView({
383
371
  setIsReadOnlyForIncomingUser(true);
384
372
  setShowTakeOverModal(false);
385
373
  },
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
- }),
374
+ onTakeOver: () => handleTakeOver(id, collectionSlug, globalSlug, user, false, updateDocumentEditor, setCurrentEditor, documentLockState, isLockingEnabled),
398
375
  updatedAt: lastUpdateTime,
399
376
  user: currentEditor
400
377
  }), isLockingEnabled && showTakeOverModal && /*#__PURE__*/_jsx(DocumentTakeOver, {
@@ -446,19 +423,7 @@ export function DefaultEditView({
446
423
  onDuplicate: onDuplicate,
447
424
  onRestore: onRestore,
448
425
  onSave: onSave,
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
- }),
426
+ onTakeOver: () => handleTakeOver(id, collectionSlug, globalSlug, user, true, updateDocumentEditor, setCurrentEditor, documentLockState, isLockingEnabled, setIsReadOnlyForIncomingUser),
462
427
  permissions: docPermissions,
463
428
  readOnlyForIncomingUser: isReadOnlyForIncomingUser,
464
429
  redirectAfterDelete: redirectAfterDelete,
@@ -510,7 +475,7 @@ export function DefaultEditView({
510
475
  globalSlug: globalSlug
511
476
  })]
512
477
  })]
513
- }, `${isLocked}`)
478
+ })
514
479
  })
515
480
  });
516
481
  }