@payloadcms/ui 3.49.0-canary.7 → 3.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/elements/ColumnSelector/index.js +1 -1
  2. package/dist/elements/ColumnSelector/index.js.map +1 -1
  3. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  4. package/dist/elements/DeleteDocument/index.js +65 -47
  5. package/dist/elements/DeleteDocument/index.js.map +1 -1
  6. package/dist/elements/DeleteDocument/index.scss +10 -0
  7. package/dist/elements/DeleteMany/index.d.ts +17 -2
  8. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  9. package/dist/elements/DeleteMany/index.js +162 -49
  10. package/dist/elements/DeleteMany/index.js.map +1 -1
  11. package/dist/elements/DeleteMany/index.scss +13 -0
  12. package/dist/elements/DocumentControls/index.d.ts +3 -0
  13. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  14. package/dist/elements/DocumentControls/index.js +24 -5
  15. package/dist/elements/DocumentControls/index.js.map +1 -1
  16. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  17. package/dist/elements/DocumentDrawer/DrawerContent.js +4 -2
  18. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  19. package/dist/elements/DocumentDrawer/Provider.d.ts +4 -0
  20. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  21. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  22. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  23. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  24. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  25. package/dist/elements/DocumentFields/index.d.ts +1 -0
  26. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentFields/index.js +3 -1
  28. package/dist/elements/DocumentFields/index.js.map +1 -1
  29. package/dist/elements/EditMany/DrawerContent.d.ts +2 -0
  30. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  31. package/dist/elements/EditMany/DrawerContent.js +7 -3
  32. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  33. package/dist/elements/EditMany/index.d.ts +7 -2
  34. package/dist/elements/EditMany/index.d.ts.map +1 -1
  35. package/dist/elements/EditMany/index.js +39 -34
  36. package/dist/elements/EditMany/index.js.map +1 -1
  37. package/dist/elements/FolderView/Cell/index.client.d.ts +3 -2
  38. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
  39. package/dist/elements/FolderView/Cell/index.client.js +3 -1
  40. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  41. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -1
  42. package/dist/elements/FolderView/Cell/index.server.js +2 -1
  43. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  44. package/dist/elements/GroupByBuilder/index.d.ts +9 -0
  45. package/dist/elements/GroupByBuilder/index.d.ts.map +1 -0
  46. package/dist/elements/GroupByBuilder/index.js +112 -0
  47. package/dist/elements/GroupByBuilder/index.js.map +1 -0
  48. package/dist/elements/GroupByBuilder/index.scss +39 -0
  49. package/dist/elements/LeaveWithoutSaving/index.d.ts +6 -1
  50. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  51. package/dist/elements/LeaveWithoutSaving/index.js +69 -49
  52. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  53. package/dist/elements/ListControls/index.d.ts.map +1 -1
  54. package/dist/elements/ListControls/index.js +28 -4
  55. package/dist/elements/ListControls/index.js.map +1 -1
  56. package/dist/elements/ListControls/index.scss +4 -2
  57. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  58. package/dist/elements/ListDrawer/DrawerContent.js +34 -15
  59. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  60. package/dist/elements/ListDrawer/Provider.d.ts +9 -3
  61. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  62. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  63. package/dist/elements/ListDrawer/index.d.ts +19 -0
  64. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  65. package/dist/elements/ListDrawer/index.js +19 -0
  66. package/dist/elements/ListDrawer/index.js.map +1 -1
  67. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts +7 -0
  68. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -0
  69. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +164 -0
  70. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -0
  71. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  72. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  73. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  74. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  75. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +10 -0
  76. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +1 -0
  77. package/dist/elements/ListHeaderTabs/ByFolderPill.js +70 -0
  78. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +1 -0
  79. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +9 -0
  80. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +1 -0
  81. package/dist/elements/ListHeaderTabs/DefaultListPill.js +68 -0
  82. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -0
  83. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +6 -0
  84. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +1 -0
  85. package/dist/elements/ListHeaderTabs/TrashPill.js +53 -0
  86. package/dist/elements/ListHeaderTabs/TrashPill.js.map +1 -0
  87. package/dist/elements/{ListFolderPills → ListHeaderTabs}/index.scss +1 -2
  88. package/dist/elements/ListSelection/index.scss +1 -1
  89. package/dist/elements/PageControls/GroupByPageControls.d.ts +16 -0
  90. package/dist/elements/PageControls/GroupByPageControls.d.ts.map +1 -0
  91. package/dist/elements/PageControls/GroupByPageControls.js +83 -0
  92. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -0
  93. package/dist/elements/PageControls/index.d.ts +17 -0
  94. package/dist/elements/PageControls/index.d.ts.map +1 -0
  95. package/dist/elements/PageControls/index.js +70 -0
  96. package/dist/elements/PageControls/index.js.map +1 -0
  97. package/dist/elements/PageControls/index.scss +40 -0
  98. package/dist/elements/Pagination/ClickableArrow/index.scss +3 -3
  99. package/dist/elements/Pagination/index.js +1 -1
  100. package/dist/elements/Pagination/index.js.map +1 -1
  101. package/dist/elements/Pagination/index.scss +4 -4
  102. package/dist/elements/PermanentlyDeleteButton/index.d.ts +14 -0
  103. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -0
  104. package/dist/elements/PermanentlyDeleteButton/index.js +147 -0
  105. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -0
  106. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -0
  107. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  108. package/dist/elements/PublishMany/DrawerContent.js +7 -3
  109. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  110. package/dist/elements/PublishMany/index.d.ts +6 -1
  111. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  112. package/dist/elements/PublishMany/index.js +38 -33
  113. package/dist/elements/PublishMany/index.js.map +1 -1
  114. package/dist/elements/ReactSelect/types.d.ts +1 -0
  115. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  116. package/dist/elements/ReactSelect/types.js.map +1 -1
  117. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  118. package/dist/elements/RelationshipTable/index.js +16 -11
  119. package/dist/elements/RelationshipTable/index.js.map +1 -1
  120. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  121. package/dist/elements/RenderTitle/index.js +1 -0
  122. package/dist/elements/RenderTitle/index.js.map +1 -1
  123. package/dist/elements/RestoreButton/index.d.ts +15 -0
  124. package/dist/elements/RestoreButton/index.d.ts.map +1 -0
  125. package/dist/elements/RestoreButton/index.js +171 -0
  126. package/dist/elements/RestoreButton/index.js.map +1 -0
  127. package/dist/elements/RestoreButton/index.scss +25 -0
  128. package/dist/elements/RestoreMany/index.d.ts +9 -0
  129. package/dist/elements/RestoreMany/index.d.ts.map +1 -0
  130. package/dist/elements/RestoreMany/index.js +193 -0
  131. package/dist/elements/RestoreMany/index.js.map +1 -0
  132. package/dist/elements/RestoreMany/index.scss +25 -0
  133. package/dist/elements/Status/index.d.ts.map +1 -1
  134. package/dist/elements/Status/index.js +6 -4
  135. package/dist/elements/Status/index.js.map +1 -1
  136. package/dist/elements/StickyToolbar/index.d.ts +6 -0
  137. package/dist/elements/StickyToolbar/index.d.ts.map +1 -0
  138. package/dist/elements/StickyToolbar/index.js +11 -0
  139. package/dist/elements/StickyToolbar/index.js.map +1 -0
  140. package/dist/elements/StickyToolbar/index.scss +27 -0
  141. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  142. package/dist/elements/Table/DefaultCell/index.js +10 -8
  143. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  144. package/dist/elements/Table/OrderableTable.d.ts +2 -0
  145. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  146. package/dist/elements/Table/OrderableTable.js +4 -3
  147. package/dist/elements/Table/OrderableTable.js.map +1 -1
  148. package/dist/elements/Table/index.d.ts +1 -0
  149. package/dist/elements/Table/index.d.ts.map +1 -1
  150. package/dist/elements/Table/index.js +5 -4
  151. package/dist/elements/Table/index.js.map +1 -1
  152. package/dist/elements/TrashBanner/index.d.ts +4 -0
  153. package/dist/elements/TrashBanner/index.d.ts.map +1 -0
  154. package/dist/elements/TrashBanner/index.js +37 -0
  155. package/dist/elements/TrashBanner/index.js.map +1 -0
  156. package/dist/elements/TrashBanner/index.scss +20 -0
  157. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -0
  158. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  159. package/dist/elements/UnpublishMany/DrawerContent.js +6 -2
  160. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  161. package/dist/elements/UnpublishMany/index.d.ts +6 -1
  162. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  163. package/dist/elements/UnpublishMany/index.js +38 -33
  164. package/dist/elements/UnpublishMany/index.js.map +1 -1
  165. package/dist/elements/WhereBuilder/index.js +3 -3
  166. package/dist/elements/WhereBuilder/index.js.map +1 -1
  167. package/dist/exports/client/index.d.ts +2 -0
  168. package/dist/exports/client/index.d.ts.map +1 -1
  169. package/dist/exports/client/index.js +24 -22
  170. package/dist/exports/client/index.js.map +4 -4
  171. package/dist/fields/Blocks/index.d.ts.map +1 -1
  172. package/dist/fields/Blocks/index.js +1 -0
  173. package/dist/fields/Blocks/index.js.map +1 -1
  174. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  175. package/dist/fields/Checkbox/Input.js +2 -0
  176. package/dist/fields/Checkbox/Input.js.map +1 -1
  177. package/dist/fields/Select/Input.d.ts +1 -0
  178. package/dist/fields/Select/Input.d.ts.map +1 -1
  179. package/dist/fields/Select/Input.js +48 -45
  180. package/dist/fields/Select/Input.js.map +1 -1
  181. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  182. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  183. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +7 -0
  184. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  185. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  186. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  187. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  188. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  189. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  190. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  191. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  192. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  193. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  194. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  195. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  196. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  197. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  198. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  199. package/dist/icons/Trash/index.d.ts +6 -0
  200. package/dist/icons/Trash/index.d.ts.map +1 -0
  201. package/dist/icons/Trash/index.js +22 -0
  202. package/dist/icons/Trash/index.js.map +1 -0
  203. package/dist/icons/Trash/index.scss +6 -0
  204. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  205. package/dist/providers/DocumentInfo/index.js +6 -0
  206. package/dist/providers/DocumentInfo/index.js.map +1 -1
  207. package/dist/providers/DocumentInfo/types.d.ts +7 -0
  208. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  209. package/dist/providers/DocumentInfo/types.js.map +1 -1
  210. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  211. package/dist/providers/ListQuery/index.js +24 -13
  212. package/dist/providers/ListQuery/index.js.map +1 -1
  213. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  214. package/dist/providers/ListQuery/mergeQuery.js +15 -1
  215. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  216. package/dist/providers/ListQuery/types.d.ts +7 -3
  217. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  218. package/dist/providers/ListQuery/types.js.map +1 -1
  219. package/dist/providers/Selection/index.d.ts +6 -2
  220. package/dist/providers/Selection/index.d.ts.map +1 -1
  221. package/dist/providers/Selection/index.js +37 -19
  222. package/dist/providers/Selection/index.js.map +1 -1
  223. package/dist/providers/ServerFunctions/index.d.ts +1 -0
  224. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  225. package/dist/providers/ServerFunctions/index.js.map +1 -1
  226. package/dist/providers/TableColumns/buildColumnState/index.d.ts +2 -1
  227. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  228. package/dist/providers/TableColumns/buildColumnState/index.js +4 -2
  229. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  230. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +3 -2
  231. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  232. package/dist/providers/TableColumns/buildColumnState/renderCell.js +4 -2
  233. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  234. package/dist/styles.css +1 -1
  235. package/dist/utilities/buildFormState.d.ts.map +1 -1
  236. package/dist/utilities/buildFormState.js +2 -0
  237. package/dist/utilities/buildFormState.js.map +1 -1
  238. package/dist/utilities/buildTableState.js +5 -7
  239. package/dist/utilities/buildTableState.js.map +1 -1
  240. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  241. package/dist/utilities/copyDataFromLocale.js +29 -19
  242. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  243. package/dist/{elements/WhereBuilder/reduceFields.d.ts → utilities/reduceFieldsToOptions.d.ts} +3 -3
  244. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -0
  245. package/dist/{elements/WhereBuilder/reduceFields.js → utilities/reduceFieldsToOptions.js} +11 -11
  246. package/dist/utilities/reduceFieldsToOptions.js.map +1 -0
  247. package/dist/utilities/renderTable.d.ts +9 -3
  248. package/dist/utilities/renderTable.d.ts.map +1 -1
  249. package/dist/utilities/renderTable.js +63 -22
  250. package/dist/utilities/renderTable.js.map +1 -1
  251. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
  252. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  253. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  254. package/dist/views/CollectionFolder/index.js +15 -5
  255. package/dist/views/CollectionFolder/index.js.map +1 -1
  256. package/dist/views/Edit/Auth/index.js +5 -4
  257. package/dist/views/Edit/Auth/index.js.map +1 -1
  258. package/dist/views/Edit/SetDocumentStepNav/index.d.ts +1 -0
  259. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  260. package/dist/views/Edit/SetDocumentStepNav/index.js +26 -15
  261. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  262. package/dist/views/Edit/index.d.ts.map +1 -1
  263. package/dist/views/Edit/index.js +59 -35
  264. package/dist/views/Edit/index.js.map +1 -1
  265. package/dist/views/List/GroupByHeader/index.d.ts +10 -0
  266. package/dist/views/List/GroupByHeader/index.d.ts.map +1 -0
  267. package/dist/views/List/GroupByHeader/index.js +29 -0
  268. package/dist/views/List/GroupByHeader/index.js.map +1 -0
  269. package/dist/views/List/GroupByHeader/index.scss +17 -0
  270. package/dist/views/List/ListHeader/index.d.ts +4 -2
  271. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  272. package/dist/views/List/ListHeader/index.js +30 -10
  273. package/dist/views/List/ListHeader/index.js.map +1 -1
  274. package/dist/views/List/ListSelection/index.d.ts +5 -1
  275. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  276. package/dist/views/List/ListSelection/index.js +53 -30
  277. package/dist/views/List/ListSelection/index.js.map +1 -1
  278. package/dist/views/List/index.d.ts.map +1 -1
  279. package/dist/views/List/index.js +122 -170
  280. package/dist/views/List/index.js.map +1 -1
  281. package/dist/views/List/index.scss +12 -35
  282. package/package.json +5 -5
  283. package/dist/elements/ListFolderPills/index.d.ts +0 -10
  284. package/dist/elements/ListFolderPills/index.d.ts.map +0 -1
  285. package/dist/elements/ListFolderPills/index.js +0 -97
  286. package/dist/elements/ListFolderPills/index.js.map +0 -1
  287. package/dist/elements/WhereBuilder/reduceFields.d.ts.map +0 -1
  288. package/dist/elements/WhereBuilder/reduceFields.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fieldIsSidebar","React","useMemo","RenderFields","Gutter","baseClass","DocumentFields","AfterFields","BeforeFields","Description","docPermissions","fields","forceSidebarWrap","readOnly","schemaPathSegments","hasSidebarFields","mainFields","sidebarFields","reduce","acc","field","push","_jsxs","className","filter","Boolean","join","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/elements/DocumentFields/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, SanitizedDocumentPermissions } from 'payload'\n\nimport { fieldIsSidebar } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'document-fields'\n\ntype Args = {\n readonly AfterFields?: React.ReactNode\n readonly BeforeFields?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly docPermissions: SanitizedDocumentPermissions\n readonly fields: ClientField[]\n readonly forceSidebarWrap?: boolean\n readonly readOnly?: boolean\n readonly schemaPathSegments: string[]\n}\n\nexport const DocumentFields: React.FC<Args> = ({\n AfterFields,\n BeforeFields,\n Description,\n docPermissions,\n fields,\n forceSidebarWrap,\n readOnly,\n schemaPathSegments,\n}) => {\n const { hasSidebarFields, mainFields, sidebarFields } = useMemo(() => {\n return fields.reduce(\n (acc, field) => {\n if (fieldIsSidebar(field)) {\n acc.sidebarFields.push(field)\n acc.mainFields.push(null)\n acc.hasSidebarFields = true\n } else {\n acc.mainFields.push(field)\n acc.sidebarFields.push(null)\n }\n return acc\n },\n {\n hasSidebarFields: false,\n mainFields: [] as ClientField[],\n sidebarFields: [] as ClientField[],\n },\n )\n }, [fields])\n\n return (\n <div\n className={[\n baseClass,\n hasSidebarFields ? `${baseClass}--has-sidebar` : `${baseClass}--no-sidebar`,\n forceSidebarWrap && `${baseClass}--force-sidebar-wrap`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__main`}>\n <Gutter className={`${baseClass}__edit`}>\n {Description ? (\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__sub-header`}>{Description}</div>\n </header>\n ) : null}\n {BeforeFields}\n <RenderFields\n className={`${baseClass}__fields`}\n fields={mainFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n {AfterFields}\n </Gutter>\n </div>\n {hasSidebarFields ? (\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-fields`}>\n <RenderFields\n fields={sidebarFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </div>\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAalB,OAAO,MAAMC,cAAA,GAAiCA,CAAC;EAC7CC,WAAW;EACXC,YAAY;EACZC,WAAW;EACXC,cAAc;EACdC,MAAM;EACNC,gBAAgB;EAChBC,QAAQ;EACRC;AAAkB,CACnB;EACC,MAAM;IAAEC,gBAAgB;IAAEC,UAAU;IAAEC;EAAa,CAAE,GAAGf,OAAA,CAAQ;IAC9D,OAAOS,MAAA,CAAOO,MAAM,CAClB,CAACC,GAAA,EAAKC,KAAA;MACJ,IAAIpB,cAAA,CAAeoB,KAAA,GAAQ;QACzBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAACD,KAAA;QACvBD,GAAA,CAAIH,UAAU,CAACK,IAAI,CAAC;QACpBF,GAAA,CAAIJ,gBAAgB,GAAG;MACzB,OAAO;QACLI,GAAA,CAAIH,UAAU,CAACK,IAAI,CAACD,KAAA;QACpBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAAC;MACzB;MACA,OAAOF,GAAA;IACT,GACA;MACEJ,gBAAA,EAAkB;MAClBC,UAAA,EAAY,EAAE;MACdC,aAAA,EAAe;IACjB;EAEJ,GAAG,CAACN,MAAA,CAAO;EAEX,oBACEW,KAAA,CAAC;IACCC,SAAA,EAAW,CACTlB,SAAA,EACAU,gBAAA,GAAmB,GAAGV,SAAA,eAAwB,GAAG,GAAGA,SAAA,cAAuB,EAC3EO,gBAAA,IAAoB,GAAGP,SAAA,sBAA+B,CACvD,CACEmB,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;4BAERC,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGlB,SAAA,QAAiB;gBAClC,aAAAiB,KAAA,CAAClB,MAAA;QAAOmB,SAAA,EAAW,GAAGlB,SAAA,QAAiB;mBACpCI,WAAA,gBACCkB,IAAA,CAAC;UAAOJ,SAAA,EAAW,GAAGlB,SAAA,UAAmB;oBACvC,aAAAsB,IAAA,CAAC;YAAIJ,SAAA,EAAW,GAAGlB,SAAA,cAAuB;sBAAGI;;aAE7C,MACHD,YAAA,E,aACDmB,IAAA,CAACxB,YAAA;UACCoB,SAAA,EAAW,GAAGlB,SAAA,UAAmB;UACjCM,MAAA,EAAQK,UAAA;UACRY,WAAW;UACXC,eAAA,EAAgB;UAChBC,UAAA,EAAW;UACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;UAC1CM,WAAA,EAAatB,cAAA,EAAgBC,MAAA;UAC7BE,QAAA,EAAUA;YAEXN,WAAA;;QAGJQ,gBAAA,gBACCY,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGlB,SAAA,gBAAyB;gBAC1C,aAAAsB,IAAA,CAAC;QAAIJ,SAAA,EAAW,GAAGlB,SAAA,WAAoB;kBACrC,aAAAsB,IAAA,CAAC;UAAIJ,SAAA,EAAW,GAAGlB,SAAA,kBAA2B;oBAC5C,aAAAsB,IAAA,CAACxB,YAAA;YACCQ,MAAA,EAAQM,aAAA;YACRW,WAAW;YACXC,eAAA,EAAgB;YAChBC,UAAA,EAAW;YACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;YAC1CM,WAAA,EAAatB,cAAA,EAAgBC,MAAA;YAC7BE,QAAA,EAAUA;;;;SAKhB;;AAGV","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldIsSidebar","React","useMemo","RenderFields","Gutter","TrashBanner","baseClass","DocumentFields","AfterFields","BeforeFields","Description","docPermissions","fields","forceSidebarWrap","isTrashed","readOnly","schemaPathSegments","hasSidebarFields","mainFields","sidebarFields","reduce","acc","field","push","_jsxs","className","filter","Boolean","join","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/elements/DocumentFields/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, SanitizedDocumentPermissions } from 'payload'\n\nimport { fieldIsSidebar } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { TrashBanner } from '../TrashBanner/index.js'\nimport './index.scss'\n\nconst baseClass = 'document-fields'\n\ntype Args = {\n readonly AfterFields?: React.ReactNode\n readonly BeforeFields?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly docPermissions: SanitizedDocumentPermissions\n readonly fields: ClientField[]\n readonly forceSidebarWrap?: boolean\n readonly isTrashed?: boolean\n readonly readOnly?: boolean\n readonly schemaPathSegments: string[]\n}\n\nexport const DocumentFields: React.FC<Args> = ({\n AfterFields,\n BeforeFields,\n Description,\n docPermissions,\n fields,\n forceSidebarWrap,\n isTrashed = false,\n readOnly,\n schemaPathSegments,\n}) => {\n const { hasSidebarFields, mainFields, sidebarFields } = useMemo(() => {\n return fields.reduce(\n (acc, field) => {\n if (fieldIsSidebar(field)) {\n acc.sidebarFields.push(field)\n acc.mainFields.push(null)\n acc.hasSidebarFields = true\n } else {\n acc.mainFields.push(field)\n acc.sidebarFields.push(null)\n }\n return acc\n },\n {\n hasSidebarFields: false,\n mainFields: [] as ClientField[],\n sidebarFields: [] as ClientField[],\n },\n )\n }, [fields])\n\n return (\n <div\n className={[\n baseClass,\n hasSidebarFields ? `${baseClass}--has-sidebar` : `${baseClass}--no-sidebar`,\n forceSidebarWrap && `${baseClass}--force-sidebar-wrap`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__main`}>\n <Gutter className={`${baseClass}__edit`}>\n {isTrashed && <TrashBanner />}\n {Description ? (\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__sub-header`}>{Description}</div>\n </header>\n ) : null}\n {BeforeFields}\n <RenderFields\n className={`${baseClass}__fields`}\n fields={mainFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n {AfterFields}\n </Gutter>\n </div>\n {hasSidebarFields ? (\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-fields`}>\n <RenderFields\n fields={sidebarFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </div>\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AACvB,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAclB,OAAO,MAAMC,cAAA,GAAiCA,CAAC;EAC7CC,WAAW;EACXC,YAAY;EACZC,WAAW;EACXC,cAAc;EACdC,MAAM;EACNC,gBAAgB;EAChBC,SAAA,GAAY,KAAK;EACjBC,QAAQ;EACRC;AAAkB,CACnB;EACC,MAAM;IAAEC,gBAAgB;IAAEC,UAAU;IAAEC;EAAa,CAAE,GAAGjB,OAAA,CAAQ;IAC9D,OAAOU,MAAA,CAAOQ,MAAM,CAClB,CAACC,GAAA,EAAKC,KAAA;MACJ,IAAItB,cAAA,CAAesB,KAAA,GAAQ;QACzBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAACD,KAAA;QACvBD,GAAA,CAAIH,UAAU,CAACK,IAAI,CAAC;QACpBF,GAAA,CAAIJ,gBAAgB,GAAG;MACzB,OAAO;QACLI,GAAA,CAAIH,UAAU,CAACK,IAAI,CAACD,KAAA;QACpBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAAC;MACzB;MACA,OAAOF,GAAA;IACT,GACA;MACEJ,gBAAA,EAAkB;MAClBC,UAAA,EAAY,EAAE;MACdC,aAAA,EAAe;IACjB;EAEJ,GAAG,CAACP,MAAA,CAAO;EAEX,oBACEY,KAAA,CAAC;IACCC,SAAA,EAAW,CACTnB,SAAA,EACAW,gBAAA,GAAmB,GAAGX,SAAA,eAAwB,GAAG,GAAGA,SAAA,cAAuB,EAC3EO,gBAAA,IAAoB,GAAGP,SAAA,sBAA+B,CACvD,CACEoB,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;4BAERC,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGnB,SAAA,QAAiB;gBAClC,aAAAkB,KAAA,CAACpB,MAAA;QAAOqB,SAAA,EAAW,GAAGnB,SAAA,QAAiB;mBACpCQ,SAAA,iBAAae,IAAA,CAACxB,WAAA,OACdK,WAAA,gBACCmB,IAAA,CAAC;UAAOJ,SAAA,EAAW,GAAGnB,SAAA,UAAmB;oBACvC,aAAAuB,IAAA,CAAC;YAAIJ,SAAA,EAAW,GAAGnB,SAAA,cAAuB;sBAAGI;;aAE7C,MACHD,YAAA,E,aACDoB,IAAA,CAAC1B,YAAA;UACCsB,SAAA,EAAW,GAAGnB,SAAA,UAAmB;UACjCM,MAAA,EAAQM,UAAA;UACRY,WAAW;UACXC,eAAA,EAAgB;UAChBC,UAAA,EAAW;UACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;UAC1CM,WAAA,EAAavB,cAAA,EAAgBC,MAAA;UAC7BG,QAAA,EAAUA;YAEXP,WAAA;;QAGJS,gBAAA,gBACCY,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGnB,SAAA,gBAAyB;gBAC1C,aAAAuB,IAAA,CAAC;QAAIJ,SAAA,EAAW,GAAGnB,SAAA,WAAoB;kBACrC,aAAAuB,IAAA,CAAC;UAAIJ,SAAA,EAAW,GAAGnB,SAAA,kBAA2B;oBAC5C,aAAAuB,IAAA,CAAC1B,YAAA;YACCS,MAAA,EAAQO,aAAA;YACRW,WAAW;YACXC,eAAA,EAAgB;YAChBC,UAAA,EAAW;YACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;YAC1CM,WAAA,EAAavB,cAAA,EAAgBC,MAAA;YAC7BG,QAAA,EAAUA;;;;SAKhB;;AAGV","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import type { Where } from 'payload';
1
2
  import React from 'react';
2
3
  import type { FieldOption } from '../FieldSelect/reduceFieldOptions.js';
3
4
  import './index.scss';
@@ -32,6 +33,7 @@ type EditManyDrawerContentProps = {
32
33
  * The function to set the selected fields to bulk edit
33
34
  */
34
35
  setSelectedFields: (fields: FieldOption[]) => void;
36
+ where?: Where;
35
37
  } & EditManyProps;
36
38
  export declare const EditManyDrawerContent: React.FC<EditManyDrawerContentProps>;
37
39
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AASA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAkBvE,OAAO,cAAc,CAAA;AACrB,OAAO,qCAAqC,CAAA;AAC5C,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AA+E1D,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;CACnD,GAAG,aAAa,CAAA;AACjB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAoQtE,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,SAAS,CAAA;AAOhD,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAkBvE,OAAO,cAAc,CAAA;AACrB,OAAO,qCAAqC,CAAA;AAC5C,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AA+E1D,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAClD,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAyQtE,CAAA"}
@@ -185,7 +185,8 @@ export const EditManyDrawerContent = props => {
185
185
  onSuccess: onSuccessFromProps,
186
186
  selectAll,
187
187
  selectedFields,
188
- setSelectedFields
188
+ setSelectedFields,
189
+ where
189
190
  } = props;
190
191
  const {
191
192
  permissions,
@@ -255,6 +256,9 @@ export const EditManyDrawerContent = props => {
255
256
  }, []);
256
257
  const queryString = useMemo(() => {
257
258
  const whereConstraints = [];
259
+ if (where) {
260
+ whereConstraints.push(where);
261
+ }
258
262
  const queryWithSearch = mergeListSearchAndWhere({
259
263
  collectionConfig: collection,
260
264
  search: searchParams.get('search')
@@ -266,7 +270,7 @@ export const EditManyDrawerContent = props => {
266
270
  // Match the current filter/search, or default to all docs
267
271
  whereConstraints.push(parseSearchParams(searchParams)?.where || {
268
272
  id: {
269
- exists: true
273
+ not_equals: ''
270
274
  }
271
275
  });
272
276
  } else {
@@ -283,7 +287,7 @@ export const EditManyDrawerContent = props => {
283
287
  }, {
284
288
  addQueryPrefix: true
285
289
  });
286
- }, [collection, searchParams, selectAll, ids, locale]);
290
+ }, [collection, searchParams, selectAll, ids, locale, where]);
287
291
  const onSuccess = () => {
288
292
  router.replace(qs.stringify({
289
293
  ...parseSearchParams(searchParams),
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","unflatten","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderField","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","useLocale","OperationContext","useRouteCache","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","parseSearchParams","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","fields","labels","plural","singular","count","drawerSlug","ids","onSuccess","onSuccessFromProps","selectAll","selectedFields","setSelectedFields","permissions","user","code","locale","closeModal","config","routes","api","apiRoute","serverURL","getFormState","i18n","isInitializing","setIsInitializing","router","abortFormStateRef","useRef","clearRouteCache","collectionPermissions","collections","slug","searchParams","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","current","abortFormState","queryString","whereConstraints","queryWithSearch","collectionConfig","search","get","push","where","id","exists","in","stringify","addQueryPrefix","replace","page","undefined","onFieldSelect","dispatchFields","selected","type","currentEditor","hasPublishedDoc","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","label","length","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { SelectType, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, mergeListSearchAndWhere, unflatten } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../FieldSelect/index.js'\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderField } from '../../forms/RenderFields/RenderField.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\nimport '../../forms/RenderFields/index.scss'\nimport { baseClass, type EditManyProps } from './index.js'\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\ntype EditManyDrawerContentProps = {\n /**\n * The total count of selected items\n */\n count?: number\n /**\n * The slug of the drawer\n */\n drawerSlug: string\n /**\n * The IDs of the selected items\n */\n ids?: (number | string)[]\n /**\n * The function to call after a successful action\n */\n onSuccess?: () => void\n /**\n * Whether all items are selected\n */\n selectAll?: boolean\n /**\n * The fields that are selected to bulk edit\n */\n selectedFields: FieldOption[]\n /**\n * The function to set the selected fields to bulk edit\n */\n setSelectedFields: (fields: FieldOption[]) => void\n} & EditManyProps\nexport const EditManyDrawerContent: React.FC<EditManyDrawerContentProps> = (props) => {\n const {\n collection,\n collection: { fields, labels: { plural, singular } } = {},\n count,\n drawerSlug,\n ids,\n onSuccess: onSuccessFromProps,\n selectAll,\n selectedFields,\n setSelectedFields,\n } = props\n\n const { permissions, user } = useAuth()\n const { code: locale } = useLocale()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { i18n, t } = useTranslation()\n\n const [isInitializing, setIsInitializing] = useState(false)\n\n const router = useRouter()\n const abortFormStateRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n const collectionPermissions = permissions?.collections?.[collection.slug]\n const searchParams = useSearchParams()\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo((): string => {\n const whereConstraints: Where[] = []\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (selectAll) {\n // Match the current filter/search, or default to all docs\n whereConstraints.push(\n (parseSearchParams(searchParams)?.where as Where) || {\n id: {\n exists: true,\n },\n },\n )\n } else {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n clearRouteCache()\n closeModal(drawerSlug)\n\n if (typeof onSuccessFromProps === 'function') {\n onSuccessFromProps()\n }\n }\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection.slug, collectionPermissions, setSelectedFields],\n )\n\n return (\n <DocumentInfoProvider\n collectionSlug={collection.slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n {selectedFields.length === 0 ? null : (\n <div className=\"render-fields\">\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </div>\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}`}\n disabled={selectedFields.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","unflatten","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderField","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","useLocale","OperationContext","useRouteCache","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","parseSearchParams","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","fields","labels","plural","singular","count","drawerSlug","ids","onSuccess","onSuccessFromProps","selectAll","selectedFields","setSelectedFields","where","permissions","user","code","locale","closeModal","config","routes","api","apiRoute","serverURL","getFormState","i18n","isInitializing","setIsInitializing","router","abortFormStateRef","useRef","clearRouteCache","collectionPermissions","collections","slug","searchParams","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","current","abortFormState","queryString","whereConstraints","push","queryWithSearch","collectionConfig","search","get","id","not_equals","in","stringify","addQueryPrefix","replace","page","undefined","onFieldSelect","dispatchFields","selected","type","currentEditor","hasPublishedDoc","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","label","length","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { SelectType, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, mergeListSearchAndWhere, unflatten } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../FieldSelect/index.js'\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderField } from '../../forms/RenderFields/RenderField.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\nimport '../../forms/RenderFields/index.scss'\nimport { baseClass, type EditManyProps } from './index.js'\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\ntype EditManyDrawerContentProps = {\n /**\n * The total count of selected items\n */\n count?: number\n /**\n * The slug of the drawer\n */\n drawerSlug: string\n /**\n * The IDs of the selected items\n */\n ids?: (number | string)[]\n /**\n * The function to call after a successful action\n */\n onSuccess?: () => void\n /**\n * Whether all items are selected\n */\n selectAll?: boolean\n /**\n * The fields that are selected to bulk edit\n */\n selectedFields: FieldOption[]\n /**\n * The function to set the selected fields to bulk edit\n */\n setSelectedFields: (fields: FieldOption[]) => void\n where?: Where\n} & EditManyProps\n\nexport const EditManyDrawerContent: React.FC<EditManyDrawerContentProps> = (props) => {\n const {\n collection,\n collection: { fields, labels: { plural, singular } } = {},\n count,\n drawerSlug,\n ids,\n onSuccess: onSuccessFromProps,\n selectAll,\n selectedFields,\n setSelectedFields,\n where,\n } = props\n\n const { permissions, user } = useAuth()\n const { code: locale } = useLocale()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { i18n, t } = useTranslation()\n\n const [isInitializing, setIsInitializing] = useState(false)\n\n const router = useRouter()\n const abortFormStateRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n const collectionPermissions = permissions?.collections?.[collection.slug]\n const searchParams = useSearchParams()\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo((): string => {\n const whereConstraints: Where[] = []\n\n if (where) {\n whereConstraints.push(where)\n }\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (selectAll) {\n // Match the current filter/search, or default to all docs\n whereConstraints.push(\n (parseSearchParams(searchParams)?.where as Where) || {\n id: {\n not_equals: '',\n },\n },\n )\n } else {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n clearRouteCache()\n closeModal(drawerSlug)\n\n if (typeof onSuccessFromProps === 'function') {\n onSuccessFromProps()\n }\n }\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection.slug, collectionPermissions, setSelectedFields],\n )\n\n return (\n <DocumentInfoProvider\n collectionSlug={collection.slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n {selectedFields.length === 0 ? null : (\n <div className=\"render-fields\">\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </div>\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}`}\n disabled={selectedFields.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { ClientCollectionConfig } from 'payload';
1
+ import type { ClientCollectionConfig, Where } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export declare const baseClass = "edit-many";
@@ -9,7 +9,12 @@ export declare const EditMany: React.FC<EditManyProps>;
9
9
  export declare const EditMany_v4: React.FC<{
10
10
  count: number;
11
11
  ids: (number | string)[];
12
+ /**
13
+ * When multiple EditMany components are rendered on the page, this will differentiate them.
14
+ */
15
+ modalPrefix?: string;
12
16
  onSuccess?: () => void;
13
17
  selectAll: boolean;
14
- } & EditManyProps>;
18
+ where?: Where;
19
+ } & Omit<EditManyProps, 'ids'>>;
15
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGrD,OAAO,KAAmB,MAAM,OAAO,CAAA;AASvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAW5C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAChC;IACE,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,aAAa,CA4ClB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG5D,OAAO,KAAmB,MAAM,OAAO,CAAA;AAWvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAY5C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAChC;IACE,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CA6C/B,CAAA"}
@@ -9,54 +9,57 @@ import { EditDepthProvider } from '../../providers/EditDepth/index.js';
9
9
  import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
10
10
  import { useTranslation } from '../../providers/Translation/index.js';
11
11
  import { Drawer } from '../Drawer/index.js';
12
- import './index.scss';
13
12
  import { ListSelectionButton } from '../ListSelection/index.js';
14
13
  import { EditManyDrawerContent } from './DrawerContent.js';
14
+ import './index.scss';
15
15
  export const baseClass = 'edit-many';
16
16
  export const EditMany = props => {
17
17
  const $ = _c(8);
18
18
  const {
19
19
  count,
20
20
  selectAll,
21
- selected,
21
+ selectedIDs,
22
22
  toggleAll
23
23
  } = useSelection();
24
24
  let t0;
25
- if ($[0] !== count || $[1] !== props || $[2] !== selectAll || $[3] !== selected || $[4] !== toggleAll) {
26
- let t1;
27
- if ($[6] !== toggleAll) {
28
- t1 = () => toggleAll(false);
29
- $[6] = toggleAll;
30
- $[7] = t1;
31
- } else {
32
- t1 = $[7];
33
- }
34
- t0 = _jsx(EditMany_v4, {
25
+ if ($[0] !== toggleAll) {
26
+ t0 = () => toggleAll();
27
+ $[0] = toggleAll;
28
+ $[1] = t0;
29
+ } else {
30
+ t0 = $[1];
31
+ }
32
+ const t1 = selectAll === SelectAllStatus.AllAvailable;
33
+ let t2;
34
+ if ($[2] !== count || $[3] !== props || $[4] !== selectedIDs || $[5] !== t0 || $[6] !== t1) {
35
+ t2 = _jsx(EditMany_v4, {
35
36
  ...props,
36
37
  count,
37
- ids: Array.from(selected.keys()),
38
- onSuccess: t1,
39
- selectAll: selectAll === SelectAllStatus.AllAvailable
38
+ ids: selectedIDs,
39
+ onSuccess: t0,
40
+ selectAll: t1
40
41
  });
41
- $[0] = count;
42
- $[1] = props;
43
- $[2] = selectAll;
44
- $[3] = selected;
45
- $[4] = toggleAll;
42
+ $[2] = count;
43
+ $[3] = props;
44
+ $[4] = selectedIDs;
46
45
  $[5] = t0;
46
+ $[6] = t1;
47
+ $[7] = t2;
47
48
  } else {
48
- t0 = $[5];
49
+ t2 = $[7];
49
50
  }
50
- return t0;
51
+ return t2;
51
52
  };
52
53
  export const EditMany_v4 = t0 => {
53
- const $ = _c(15);
54
+ const $ = _c(16);
54
55
  const {
55
56
  collection,
56
57
  count,
57
58
  ids,
59
+ modalPrefix,
58
60
  onSuccess,
59
- selectAll
61
+ selectAll,
62
+ where
60
63
  } = t0;
61
64
  const {
62
65
  permissions
@@ -76,7 +79,7 @@ export const EditMany_v4 = t0 => {
76
79
  }
77
80
  const [selectedFields, setSelectedFields] = useState(t1);
78
81
  const collectionPermissions = permissions?.collections?.[collection.slug];
79
- const drawerSlug = `edit-${collection.slug}`;
82
+ const drawerSlug = `${modalPrefix ? `${modalPrefix}-` : ""}edit-${collection.slug}`;
80
83
  if (count === 0 || !collectionPermissions?.update) {
81
84
  return null;
82
85
  }
@@ -88,18 +91,18 @@ export const EditMany_v4 = t0 => {
88
91
  t2 = $[1];
89
92
  }
90
93
  let t3;
91
- if ($[2] !== collection || $[3] !== count || $[4] !== drawerSlug || $[5] !== ids || $[6] !== onSuccess || $[7] !== openModal || $[8] !== selectAll || $[9] !== selectedFields || $[10] !== t) {
94
+ if ($[2] !== collection || $[3] !== count || $[4] !== drawerSlug || $[5] !== ids || $[6] !== onSuccess || $[7] !== openModal || $[8] !== selectAll || $[9] !== selectedFields || $[10] !== t || $[11] !== where) {
92
95
  let t4;
93
- if ($[12] !== drawerSlug || $[13] !== openModal) {
96
+ if ($[13] !== drawerSlug || $[14] !== openModal) {
94
97
  t4 = () => {
95
98
  openModal(drawerSlug);
96
99
  setSelectedFields([]);
97
100
  };
98
- $[12] = drawerSlug;
99
- $[13] = openModal;
100
- $[14] = t4;
101
+ $[13] = drawerSlug;
102
+ $[14] = openModal;
103
+ $[15] = t4;
101
104
  } else {
102
- t4 = $[14];
105
+ t4 = $[15];
103
106
  }
104
107
  t3 = _jsxs("div", {
105
108
  className: t2.join(" "),
@@ -119,7 +122,8 @@ export const EditMany_v4 = t0 => {
119
122
  onSuccess,
120
123
  selectAll,
121
124
  selectedFields,
122
- setSelectedFields
125
+ setSelectedFields,
126
+ where
123
127
  })
124
128
  })
125
129
  })]
@@ -133,9 +137,10 @@ export const EditMany_v4 = t0 => {
133
137
  $[8] = selectAll;
134
138
  $[9] = selectedFields;
135
139
  $[10] = t;
136
- $[11] = t3;
140
+ $[11] = where;
141
+ $[12] = t3;
137
142
  } else {
138
- t3 = $[11];
143
+ t3 = $[12];
139
144
  }
140
145
  return t3;
141
146
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useState","useAuth","EditDepthProvider","SelectAllStatus","useSelection","useTranslation","Drawer","ListSelectionButton","EditManyDrawerContent","baseClass","EditMany","props","$","count","selectAll","selected","toggleAll","t0","t1","_jsx","EditMany_v4","ids","Array","from","keys","onSuccess","AllAvailable","collection","permissions","openModal","t","Symbol","for","selectedFields","setSelectedFields","collectionPermissions","collections","slug","drawerSlug","update","t2","filter","Boolean","t3","t4","_jsxs","className","join","children","onClick","Header"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useState } from 'react'\n\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport './index.scss'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { EditManyDrawerContent } from './DrawerContent.js'\n\nexport const baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { count, selectAll, selected, toggleAll } = useSelection()\n return (\n <EditMany_v4\n {...props}\n count={count}\n ids={Array.from(selected.keys())}\n onSuccess={() => toggleAll(false)}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n />\n )\n}\n\nexport const EditMany_v4: React.FC<\n {\n count: number\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n } & EditManyProps\n> = ({ collection, count, ids, onSuccess, selectAll }) => {\n const { permissions } = useAuth()\n const { openModal } = useModal()\n\n const { t } = useTranslation()\n\n const [selectedFields, setSelectedFields] = useState<FieldOption[]>([])\n\n const collectionPermissions = permissions?.collections?.[collection.slug]\n\n const drawerSlug = `edit-${collection.slug}`\n\n if (count === 0 || !collectionPermissions?.update) {\n return null\n }\n\n return (\n <div className={[baseClass, `${baseClass}__toggle`].filter(Boolean).join(' ')}>\n <ListSelectionButton\n aria-label={t('general:edit')}\n onClick={() => {\n openModal(drawerSlug)\n setSelectedFields([])\n }}\n >\n {t('general:edit')}\n </ListSelectionButton>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <EditManyDrawerContent\n collection={collection}\n count={count}\n drawerSlug={drawerSlug}\n ids={ids}\n onSuccess={onSuccess}\n selectAll={selectAll}\n selectedFields={selectedFields}\n setSelectedFields={setSelectedFields}\n />\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAIhC,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AACP,SAASC,mBAAmB,QAAQ;AACpC,SAASC,qBAAqB,QAAQ;AAEtC,OAAO,MAAMC,SAAA,GAAY;AAMzB,OAAO,MAAMC,QAAA,GAAoCC,KAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAC/C;IAAAgB,KAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC;EAAA,IAAkDZ,YAAA;EAAA,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAD,KAAA,IAAAC,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,SAAA;IAAA,IAAAE,EAAA;IAAA,IAAAN,CAAA,QAAAI,SAAA;MAMnCE,EAAA,GAAAA,CAAA,KAAMF,SAAA,MAAU;MAAAJ,CAAA,MAAAI,SAAA;MAAAJ,CAAA,MAAAM,EAAA;IAAA;MAAAA,EAAA,GAAAN,CAAA;IAAA;IAJ7BK,EAAA,GAAAE,IAAA,CAAAC,WAAA;MAAA,GACMT,KAAK;MAAAE,KAAA;MAAAQ,GAAA,EAEJC,KAAA,CAAAC,IAAA,CAAWR,QAAA,CAAAS,IAAA,CAAa;MAAAC,SAAA,EAClBP,EAAgB;MAAAJ,SAAA,EAChBA,SAAA,KAAAX,eAAA,CAAAuB;IAA0C,C;;;;;;;;;;SALvDT,E;CAQJ;AAEA,OAAO,MAAMG,WAAA,GAOTH,EAAA;EAAA,MAAAL,CAAA,GAAAf,EAAA;EAAC;IAAA8B,UAAA;IAAAd,KAAA;IAAAQ,GAAA;IAAAI,SAAA;IAAAX;EAAA,IAAAG,EAAgD;EACnD;IAAAW;EAAA,IAAwB3B,OAAA;EACxB;IAAA4B;EAAA,IAAsB/B,QAAA;EAEtB;IAAAgC;EAAA,IAAczB,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAN,CAAA,QAAAmB,MAAA,CAAAC,GAAA;IAEsDd,EAAA;IAAEN,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAtE,OAAAqB,cAAA,EAAAC,iBAAA,IAA4ClC,QAAA,CAAwBkB,EAAE;EAEtE,MAAAiB,qBAAA,GAA8BP,WAAA,EAAAQ,WAAA,GAA2BT,UAAA,CAAAU,IAAA;EAEzD,MAAAC,UAAA,GAAmB,QAAQX,UAAA,CAAAU,IAAA,EAAiB;EAAA,IAExCxB,KAAA,MAAU,KAAMsB,qBAAA,EAAAI,MAAuB;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA5B,CAAA,QAAAmB,MAAA,CAAAC,GAAA;IAKzBQ,EAAA,IAAA/B,SAAA,EAAY,GAAAA,SAAA,UAAsB,EAAAgC,MAAA,CAAAC,OAAS;IAAA9B,CAAA,MAAA4B,EAAA;EAAA;IAAAA,EAAA,GAAA5B,CAAA;EAAA;EAAA,IAAA+B,EAAA;EAAA,IAAA/B,CAAA,QAAAe,UAAA,IAAAf,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAA0B,UAAA,IAAA1B,CAAA,QAAAS,GAAA,IAAAT,CAAA,QAAAa,SAAA,IAAAb,CAAA,QAAAiB,SAAA,IAAAjB,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAqB,cAAA,IAAArB,CAAA,SAAAkB,CAAA;IAAA,IAAAc,EAAA;IAAA,IAAAhC,CAAA,SAAA0B,UAAA,IAAA1B,CAAA,SAAAiB,SAAA;MAG9Ce,EAAA,GAAAA,CAAA;QACPf,SAAA,CAAUS,UAAA;QACVJ,iBAAA,GAAoB;MAAA;MACtBtB,CAAA,OAAA0B,UAAA;MAAA1B,CAAA,OAAAiB,SAAA;MAAAjB,CAAA,OAAAgC,EAAA;IAAA;MAAAA,EAAA,GAAAhC,CAAA;IAAA;IANJ+B,EAAA,GAAAE,KAAA,CAAC;MAAAC,SAAA,EAAeN,EAA2C,CAAAO,IAAA,CAAc;MAAAC,QAAA,GACvE7B,IAAA,CAAAZ,mBAAA;QAAA,cACcuB,CAAA,CAAE;QAAAmB,OAAA,EACLL,EAGT;QAAAI,QAAA,EAEClB,CAAA,CAAE;MAAA,C,GAELX,IAAA,CAAAjB,iBAAA;QAAA8C,QAAA,EACE7B,IAAA,CAAAb,MAAA;UAAA4C,MAAA;UAAAb,IAAA,EAA4BC,UAAA;UAAAU,QAAA,EAC1B7B,IAAA,CAAAX,qBAAA;YAAAmB,UAAA;YAAAd,KAAA;YAAAyB,UAAA;YAAAjB,GAAA;YAAAI,SAAA;YAAAX,SAAA;YAAAmB,cAAA;YAAAC;UAAA,C;;;;;;;;;;;;;;;;;SAZNS,E;CA0BJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useState","useAuth","EditDepthProvider","SelectAllStatus","useSelection","useTranslation","Drawer","ListSelectionButton","EditManyDrawerContent","baseClass","EditMany","props","$","count","selectAll","selectedIDs","toggleAll","t0","t1","AllAvailable","t2","_jsx","EditMany_v4","ids","onSuccess","collection","modalPrefix","where","permissions","openModal","t","Symbol","for","selectedFields","setSelectedFields","collectionPermissions","collections","slug","drawerSlug","update","filter","Boolean","t3","t4","_jsxs","className","join","children","onClick","Header"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useState } from 'react'\n\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { EditManyDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { count, selectAll, selectedIDs, toggleAll } = useSelection()\n\n return (\n <EditMany_v4\n {...props}\n count={count}\n ids={selectedIDs}\n onSuccess={() => toggleAll()}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n />\n )\n}\n\nexport const EditMany_v4: React.FC<\n {\n count: number\n ids: (number | string)[]\n /**\n * When multiple EditMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n } & Omit<EditManyProps, 'ids'>\n> = ({ collection, count, ids, modalPrefix, onSuccess, selectAll, where }) => {\n const { permissions } = useAuth()\n const { openModal } = useModal()\n\n const { t } = useTranslation()\n\n const [selectedFields, setSelectedFields] = useState<FieldOption[]>([])\n\n const collectionPermissions = permissions?.collections?.[collection.slug]\n\n const drawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}edit-${collection.slug}`\n\n if (count === 0 || !collectionPermissions?.update) {\n return null\n }\n\n return (\n <div className={[baseClass, `${baseClass}__toggle`].filter(Boolean).join(' ')}>\n <ListSelectionButton\n aria-label={t('general:edit')}\n onClick={() => {\n openModal(drawerSlug)\n setSelectedFields([])\n }}\n >\n {t('general:edit')}\n </ListSelectionButton>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <EditManyDrawerContent\n collection={collection}\n count={count}\n drawerSlug={drawerSlug}\n ids={ids}\n onSuccess={onSuccess}\n selectAll={selectAll}\n selectedFields={selectedFields}\n setSelectedFields={setSelectedFields}\n where={where}\n />\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { Data } from 'payload';
1
+ import type { Data, ViewTypes } from 'payload';
2
2
  import React from 'react';
3
3
  type Props = {
4
4
  readonly collectionSlug: string;
@@ -6,7 +6,8 @@ type Props = {
6
6
  readonly docTitle: string;
7
7
  readonly folderCollectionSlug: string;
8
8
  readonly folderFieldName: string;
9
+ readonly viewType?: ViewTypes;
9
10
  };
10
- export declare const FolderTableCellClient: ({ collectionSlug, data, docTitle, folderCollectionSlug, folderFieldName, }: Props) => React.JSX.Element;
11
+ export declare const FolderTableCellClient: ({ collectionSlug, data, docTitle, folderCollectionSlug, folderFieldName, viewType, }: Props) => React.JSX.Element;
11
12
  export {};
12
13
  //# sourceMappingURL=index.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/Cell/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAGnC,OAAO,KAAoB,MAAM,OAAO,CAAA;AAKxC,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,qBAAqB,+EAM/B,KAAK,sBAmFP,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/Cell/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAoB,MAAM,OAAO,CAAA;AAKxC,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,qBAAqB,yFAO/B,KAAK,sBAoFP,CAAA"}
@@ -9,7 +9,8 @@ export const FolderTableCellClient = ({
9
9
  data,
10
10
  docTitle,
11
11
  folderCollectionSlug,
12
- folderFieldName
12
+ folderFieldName,
13
+ viewType
13
14
  }) => {
14
15
  const docID = data.id;
15
16
  const intialFolderID = data?.[folderFieldName];
@@ -68,6 +69,7 @@ export const FolderTableCellClient = ({
68
69
  }, [config.routes.api, folderCollectionSlug, intialFolderID, t]);
69
70
  return /*#__PURE__*/_jsx(MoveDocToFolderButton, {
70
71
  buttonProps: {
72
+ disabled: viewType === 'trash',
71
73
  size: 'small'
72
74
  },
73
75
  collectionSlug: collectionSlug,
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["React","useEffect","MoveDocToFolderButton","useConfig","useTranslation","FolderTableCellClient","collectionSlug","data","docTitle","folderCollectionSlug","folderFieldName","docID","id","intialFolderID","config","t","fromFolderName","setFromFolderName","useState","fromFolderID","setFromFolderID","hasLoadedFolderName","useRef","onConfirm","useCallback","name","fetch","routes","api","body","JSON","stringify","credentials","headers","method","error","console","loadFolderName","req","res","json","current","_jsx","buttonProps","size","docData","modalSlug","skipConfirmModal"],"sources":["../../../../src/elements/FolderView/Cell/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { Data } from 'payload'\nimport type { FolderOrDocument } from 'payload/shared'\n\nimport React, { useEffect } from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { MoveDocToFolderButton, useConfig, useTranslation } from '../../../exports/client/index.js'\n\ntype Props = {\n readonly collectionSlug: string\n readonly data: Data\n readonly docTitle: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n}\n\nexport const FolderTableCellClient = ({\n collectionSlug,\n data,\n docTitle,\n folderCollectionSlug,\n folderFieldName,\n}: Props) => {\n const docID = data.id\n const intialFolderID = data?.[folderFieldName]\n\n const { config } = useConfig()\n const { t } = useTranslation()\n const [fromFolderName, setFromFolderName] = React.useState(() =>\n intialFolderID ? `${t('general:loading')}...` : t('folder:noFolder'),\n )\n const [fromFolderID, setFromFolderID] = React.useState(intialFolderID)\n\n const hasLoadedFolderName = React.useRef(false)\n\n const onConfirm = React.useCallback(\n async ({ id, name }) => {\n try {\n await fetch(`${config.routes.api}/${collectionSlug}/${docID}`, {\n body: JSON.stringify({\n [folderFieldName]: id,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n })\n\n setFromFolderID(id)\n setFromFolderName(name || t('folder:noFolder'))\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving document to folder', error)\n }\n },\n [config.routes.api, collectionSlug, docID, folderFieldName, t],\n )\n\n useEffect(() => {\n const loadFolderName = async () => {\n try {\n const req = await fetch(\n `${config.routes.api}/${folderCollectionSlug}${intialFolderID ? `/${intialFolderID}` : ''}`,\n {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n },\n )\n\n const res = await req.json()\n setFromFolderName(res?.name || t('folder:noFolder'))\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving document to folder', error)\n }\n }\n\n if (!hasLoadedFolderName.current) {\n void loadFolderName()\n hasLoadedFolderName.current = true\n }\n }, [config.routes.api, folderCollectionSlug, intialFolderID, t])\n\n return (\n <MoveDocToFolderButton\n buttonProps={{\n size: 'small',\n }}\n collectionSlug={collectionSlug}\n docData={data as FolderOrDocument['value']}\n docID={docID}\n docTitle={docTitle}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={fromFolderID}\n fromFolderName={fromFolderName}\n modalSlug={`move-doc-to-folder-cell--${docID}`}\n onConfirm={onConfirm}\n skipConfirmModal={false}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["React","useEffect","MoveDocToFolderButton","useConfig","useTranslation","FolderTableCellClient","collectionSlug","data","docTitle","folderCollectionSlug","folderFieldName","viewType","docID","id","intialFolderID","config","t","fromFolderName","setFromFolderName","useState","fromFolderID","setFromFolderID","hasLoadedFolderName","useRef","onConfirm","useCallback","name","fetch","routes","api","body","JSON","stringify","credentials","headers","method","error","console","loadFolderName","req","res","json","current","_jsx","buttonProps","disabled","size","docData","modalSlug","skipConfirmModal"],"sources":["../../../../src/elements/FolderView/Cell/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { Data, ViewTypes } from 'payload'\nimport type { FolderOrDocument } from 'payload/shared'\n\nimport React, { useEffect } from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { MoveDocToFolderButton, useConfig, useTranslation } from '../../../exports/client/index.js'\n\ntype Props = {\n readonly collectionSlug: string\n readonly data: Data\n readonly docTitle: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n readonly viewType?: ViewTypes\n}\n\nexport const FolderTableCellClient = ({\n collectionSlug,\n data,\n docTitle,\n folderCollectionSlug,\n folderFieldName,\n viewType,\n}: Props) => {\n const docID = data.id\n const intialFolderID = data?.[folderFieldName]\n\n const { config } = useConfig()\n const { t } = useTranslation()\n const [fromFolderName, setFromFolderName] = React.useState(() =>\n intialFolderID ? `${t('general:loading')}...` : t('folder:noFolder'),\n )\n const [fromFolderID, setFromFolderID] = React.useState(intialFolderID)\n\n const hasLoadedFolderName = React.useRef(false)\n\n const onConfirm = React.useCallback(\n async ({ id, name }) => {\n try {\n await fetch(`${config.routes.api}/${collectionSlug}/${docID}`, {\n body: JSON.stringify({\n [folderFieldName]: id,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n })\n\n setFromFolderID(id)\n setFromFolderName(name || t('folder:noFolder'))\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving document to folder', error)\n }\n },\n [config.routes.api, collectionSlug, docID, folderFieldName, t],\n )\n\n useEffect(() => {\n const loadFolderName = async () => {\n try {\n const req = await fetch(\n `${config.routes.api}/${folderCollectionSlug}${intialFolderID ? `/${intialFolderID}` : ''}`,\n {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n },\n )\n\n const res = await req.json()\n setFromFolderName(res?.name || t('folder:noFolder'))\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving document to folder', error)\n }\n }\n\n if (!hasLoadedFolderName.current) {\n void loadFolderName()\n hasLoadedFolderName.current = true\n }\n }, [config.routes.api, folderCollectionSlug, intialFolderID, t])\n\n return (\n <MoveDocToFolderButton\n buttonProps={{\n disabled: viewType === 'trash',\n size: 'small',\n }}\n collectionSlug={collectionSlug}\n docData={data as FolderOrDocument['value']}\n docID={docID}\n docTitle={docTitle}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={fromFolderID}\n fromFolderName={fromFolderName}\n modalSlug={`move-doc-to-folder-cell--${docID}`}\n onConfirm={onConfirm}\n skipConfirmModal={false}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/Cell/index.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,eAAe,UAAW,+BAA+B,sBAkBrE,CAAA"}
1
+ {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/Cell/index.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,eAAe,UAAW,+BAA+B,sBAmBrE,CAAA"}
@@ -11,7 +11,8 @@ export const FolderTableCell = props => {
11
11
  data: props.rowData,
12
12
  docTitle: titleToRender,
13
13
  folderCollectionSlug: props.payload.config.folders.slug,
14
- folderFieldName: props.payload.config.folders.fieldName
14
+ folderFieldName: props.payload.config.folders.fieldName,
15
+ viewType: props.viewType
15
16
  });
16
17
  };
17
18
  //# sourceMappingURL=index.server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.server.js","names":["React","FolderTableCellClient","FolderTableCell","props","titleToRender","collectionConfig","upload","rowData","filename","title","id","payload","config","folders","_jsx","collectionSlug","data","docTitle","folderCollectionSlug","slug","folderFieldName","fieldName"],"sources":["../../../../src/elements/FolderView/Cell/index.server.tsx"],"sourcesContent":["import type { DefaultServerCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { FolderTableCellClient } from './index.client.js'\n\nexport const FolderTableCell = (props: DefaultServerCellComponentProps) => {\n const titleToRender =\n (props.collectionConfig.upload ? props.rowData?.filename : props.rowData?.title) ||\n props.rowData.id\n\n if (!props.payload.config.folders) {\n return null\n }\n\n return (\n <FolderTableCellClient\n collectionSlug={props.collectionSlug}\n data={props.rowData}\n docTitle={titleToRender}\n folderCollectionSlug={props.payload.config.folders.slug}\n folderFieldName={props.payload.config.folders.fieldName}\n />\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AAEtC,OAAO,MAAMC,eAAA,GAAmBC,KAAA;EAC9B,MAAMC,aAAA,GACJ,CAACD,KAAA,CAAME,gBAAgB,CAACC,MAAM,GAAGH,KAAA,CAAMI,OAAO,EAAEC,QAAA,GAAWL,KAAA,CAAMI,OAAO,EAAEE,KAAI,KAC9EN,KAAA,CAAMI,OAAO,CAACG,EAAE;EAElB,IAAI,CAACP,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,EAAE;IACjC,OAAO;EACT;EAEA,oBACEC,IAAA,CAACb,qBAAA;IACCc,cAAA,EAAgBZ,KAAA,CAAMY,cAAc;IACpCC,IAAA,EAAMb,KAAA,CAAMI,OAAO;IACnBU,QAAA,EAAUb,aAAA;IACVc,oBAAA,EAAsBf,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,CAACM,IAAI;IACvDC,eAAA,EAAiBjB,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,CAACQ;;AAGpD","ignoreList":[]}
1
+ {"version":3,"file":"index.server.js","names":["React","FolderTableCellClient","FolderTableCell","props","titleToRender","collectionConfig","upload","rowData","filename","title","id","payload","config","folders","_jsx","collectionSlug","data","docTitle","folderCollectionSlug","slug","folderFieldName","fieldName","viewType"],"sources":["../../../../src/elements/FolderView/Cell/index.server.tsx"],"sourcesContent":["import type { DefaultServerCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { FolderTableCellClient } from './index.client.js'\n\nexport const FolderTableCell = (props: DefaultServerCellComponentProps) => {\n const titleToRender =\n (props.collectionConfig.upload ? props.rowData?.filename : props.rowData?.title) ||\n props.rowData.id\n\n if (!props.payload.config.folders) {\n return null\n }\n\n return (\n <FolderTableCellClient\n collectionSlug={props.collectionSlug}\n data={props.rowData}\n docTitle={titleToRender}\n folderCollectionSlug={props.payload.config.folders.slug}\n folderFieldName={props.payload.config.folders.fieldName}\n viewType={props.viewType}\n />\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AAEtC,OAAO,MAAMC,eAAA,GAAmBC,KAAA;EAC9B,MAAMC,aAAA,GACJ,CAACD,KAAA,CAAME,gBAAgB,CAACC,MAAM,GAAGH,KAAA,CAAMI,OAAO,EAAEC,QAAA,GAAWL,KAAA,CAAMI,OAAO,EAAEE,KAAI,KAC9EN,KAAA,CAAMI,OAAO,CAACG,EAAE;EAElB,IAAI,CAACP,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,EAAE;IACjC,OAAO;EACT;EAEA,oBACEC,IAAA,CAACb,qBAAA;IACCc,cAAA,EAAgBZ,KAAA,CAAMY,cAAc;IACpCC,IAAA,EAAMb,KAAA,CAAMI,OAAO;IACnBU,QAAA,EAAUb,aAAA;IACVc,oBAAA,EAAsBf,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,CAACM,IAAI;IACvDC,eAAA,EAAiBjB,KAAA,CAAMQ,OAAO,CAACC,MAAM,CAACC,OAAO,CAACQ,SAAS;IACvDC,QAAA,EAAUnB,KAAA,CAAMmB;;AAGtB","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { ClientField, SanitizedCollectionConfig } from 'payload';
2
+ import './index.scss';
3
+ import React from 'react';
4
+ export type Props = {
5
+ readonly collectionSlug: SanitizedCollectionConfig['slug'];
6
+ fields: ClientField[];
7
+ };
8
+ export declare const GroupByBuilder: React.FC<Props>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/GroupByBuilder/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAS,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAE5E,OAAO,cAAc,CAAA;AAErB,OAAO,KAAkB,MAAM,OAAO,CAAA;AAQtC,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB,CAAA;AAyBD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsG1C,CAAA"}