@payloadcms/ui 3.69.0-internal.424436e → 3.69.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 (241) hide show
  1. package/dist/elements/AppHeader/index.js +1 -2
  2. package/dist/elements/AppHeader/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.scss +0 -1
  4. package/dist/elements/ArrayAction/index.d.ts +6 -6
  5. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  6. package/dist/elements/ArrayAction/index.js +8 -8
  7. package/dist/elements/ArrayAction/index.js.map +1 -1
  8. package/dist/elements/Autosave/index.d.ts.map +1 -1
  9. package/dist/elements/Autosave/index.js +20 -5
  10. package/dist/elements/Autosave/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  12. package/dist/elements/BulkUpload/FormsManager/index.js +10 -6
  13. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  14. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  15. package/dist/elements/CopyLocaleData/index.js +36 -39
  16. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  17. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  18. package/dist/elements/DefaultListViewTabs/index.js +1 -2
  19. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  20. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  21. package/dist/elements/DeleteDocument/index.js +9 -7
  22. package/dist/elements/DeleteDocument/index.js.map +1 -1
  23. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  24. package/dist/elements/DeleteMany/index.js +19 -16
  25. package/dist/elements/DeleteMany/index.js.map +1 -1
  26. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentControls/index.js +2 -4
  28. package/dist/elements/DocumentControls/index.js.map +1 -1
  29. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  30. package/dist/elements/DuplicateDocument/index.js +4 -6
  31. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  32. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  33. package/dist/elements/EditMany/DrawerContent.js +8 -12
  34. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  35. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -1
  36. package/dist/elements/FolderView/BrowseByFolderButton/index.js +2 -4
  37. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  38. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
  39. package/dist/elements/FolderView/Cell/index.client.js +9 -2
  40. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  41. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -1
  42. package/dist/elements/FolderView/CurrentFolderActions/index.js +7 -4
  43. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  44. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +1 -1
  45. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -1
  46. package/dist/elements/FolderView/MoveDocToFolder/index.js +5 -1
  47. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  48. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  49. package/dist/elements/IDLabel/index.js +11 -14
  50. package/dist/elements/IDLabel/index.js.map +1 -1
  51. package/dist/elements/ItemsDrawer/ItemSearch/index.d.ts +8 -0
  52. package/dist/elements/ItemsDrawer/ItemSearch/index.d.ts.map +1 -0
  53. package/dist/elements/ItemsDrawer/ItemSearch/index.js +56 -0
  54. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -0
  55. package/dist/elements/ItemsDrawer/ItemSearch/index.scss +38 -0
  56. package/dist/elements/ItemsDrawer/index.d.ts +15 -0
  57. package/dist/elements/ItemsDrawer/index.d.ts.map +1 -0
  58. package/dist/elements/ItemsDrawer/index.js +195 -0
  59. package/dist/elements/ItemsDrawer/index.js.map +1 -0
  60. package/dist/elements/ItemsDrawer/index.scss +102 -0
  61. package/dist/elements/Link/index.d.ts.map +1 -1
  62. package/dist/elements/Link/index.js +5 -3
  63. package/dist/elements/Link/index.js.map +1 -1
  64. package/dist/elements/ListControls/index.d.ts.map +1 -1
  65. package/dist/elements/ListControls/index.js +6 -4
  66. package/dist/elements/ListControls/index.js.map +1 -1
  67. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  68. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +9 -2
  69. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  70. package/dist/elements/Logout/index.d.ts.map +1 -1
  71. package/dist/elements/Logout/index.js +8 -11
  72. package/dist/elements/Logout/index.js.map +1 -1
  73. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
  74. package/dist/elements/PermanentlyDeleteButton/index.js +19 -14
  75. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  76. package/dist/elements/Popup/PopupButtonList/index.scss +1 -0
  77. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -1
  78. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  79. package/dist/elements/Popup/PopupTrigger/index.js +24 -92
  80. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  81. package/dist/elements/Popup/index.d.ts +32 -1
  82. package/dist/elements/Popup/index.d.ts.map +1 -1
  83. package/dist/elements/Popup/index.js +249 -122
  84. package/dist/elements/Popup/index.js.map +1 -1
  85. package/dist/elements/Popup/index.scss +49 -231
  86. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  87. package/dist/elements/PublishButton/ScheduleDrawer/index.js +6 -2
  88. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  89. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  90. package/dist/elements/PublishButton/index.js +14 -4
  91. package/dist/elements/PublishButton/index.js.map +1 -1
  92. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  93. package/dist/elements/PublishMany/DrawerContent.js +8 -5
  94. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  95. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
  96. package/dist/elements/QueryPresets/QueryPresetBar/index.js +7 -9
  97. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  98. package/dist/elements/RestoreButton/index.d.ts.map +1 -1
  99. package/dist/elements/RestoreButton/index.js +19 -14
  100. package/dist/elements/RestoreButton/index.js.map +1 -1
  101. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  102. package/dist/elements/RestoreMany/index.js +17 -14
  103. package/dist/elements/RestoreMany/index.js.map +1 -1
  104. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  105. package/dist/elements/SaveDraftButton/index.js +11 -5
  106. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  107. package/dist/elements/Status/index.d.ts.map +1 -1
  108. package/dist/elements/Status/index.js +11 -5
  109. package/dist/elements/Status/index.js.map +1 -1
  110. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  111. package/dist/elements/StayLoggedIn/index.js +17 -20
  112. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  113. package/dist/elements/StepNav/context.d.ts.map +1 -1
  114. package/dist/elements/StepNav/context.js +9 -1
  115. package/dist/elements/StepNav/context.js.map +1 -1
  116. package/dist/elements/StepNav/index.scss +0 -1
  117. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  118. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +39 -41
  119. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  120. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  121. package/dist/elements/Table/DefaultCell/index.js +9 -12
  122. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  123. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  124. package/dist/elements/Table/OrderableTable.js +5 -1
  125. package/dist/elements/Table/OrderableTable.js.map +1 -1
  126. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  127. package/dist/elements/Table/RelationshipProvider/index.js +25 -24
  128. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  129. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  130. package/dist/elements/UnpublishMany/DrawerContent.js +8 -5
  131. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  132. package/dist/elements/Upload/index.d.ts.map +1 -1
  133. package/dist/elements/Upload/index.js +7 -5
  134. package/dist/elements/Upload/index.js.map +1 -1
  135. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  136. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +14 -8
  137. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  138. package/dist/elements/withMergedProps/index.d.ts +1 -1
  139. package/dist/elements/withMergedProps/index.js +1 -1
  140. package/dist/elements/withMergedProps/index.js.map +1 -1
  141. package/dist/exports/client/index.d.ts +1 -2
  142. package/dist/exports/client/index.d.ts.map +1 -1
  143. package/dist/exports/client/index.js +12 -12
  144. package/dist/exports/client/index.js.map +4 -4
  145. package/dist/exports/rsc/index.d.ts +1 -0
  146. package/dist/exports/rsc/index.d.ts.map +1 -1
  147. package/dist/exports/rsc/index.js +1 -0
  148. package/dist/exports/rsc/index.js.map +1 -1
  149. package/dist/exports/shared/index.d.ts +3 -0
  150. package/dist/exports/shared/index.d.ts.map +1 -1
  151. package/dist/exports/shared/index.js +2 -2
  152. package/dist/exports/shared/index.js.map +4 -4
  153. package/dist/fields/Array/ArrayRow.d.ts +7 -18
  154. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  155. package/dist/fields/Array/ArrayRow.js +133 -65
  156. package/dist/fields/Array/ArrayRow.js.map +1 -1
  157. package/dist/fields/Array/index.d.ts.map +1 -1
  158. package/dist/fields/Array/index.js +3 -10
  159. package/dist/fields/Array/index.js.map +1 -1
  160. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  161. package/dist/fields/Relationship/Input.js +9 -3
  162. package/dist/fields/Relationship/Input.js.map +1 -1
  163. package/dist/fields/Upload/Input.d.ts.map +1 -1
  164. package/dist/fields/Upload/Input.js +7 -3
  165. package/dist/fields/Upload/Input.js.map +1 -1
  166. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +8 -1
  167. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  168. package/dist/graphics/Account/index.d.ts.map +1 -1
  169. package/dist/graphics/Account/index.js +2 -4
  170. package/dist/graphics/Account/index.js.map +1 -1
  171. package/dist/providers/Auth/index.d.ts.map +1 -1
  172. package/dist/providers/Auth/index.js +23 -26
  173. package/dist/providers/Auth/index.js.map +1 -1
  174. package/dist/providers/DocumentInfo/index.d.ts +1 -1
  175. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  176. package/dist/providers/DocumentInfo/index.js +16 -15
  177. package/dist/providers/DocumentInfo/index.js.map +1 -1
  178. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +1 -2
  179. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  180. package/dist/providers/DocumentInfo/useGetDocPermissions.js +16 -6
  181. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  182. package/dist/providers/Folders/index.d.ts.map +1 -1
  183. package/dist/providers/Folders/index.js +14 -11
  184. package/dist/providers/Folders/index.js.map +1 -1
  185. package/dist/providers/Locale/index.d.ts.map +1 -1
  186. package/dist/providers/Locale/index.js +45 -34
  187. package/dist/providers/Locale/index.js.map +1 -1
  188. package/dist/providers/Preferences/index.d.ts.map +1 -1
  189. package/dist/providers/Preferences/index.js +16 -7
  190. package/dist/providers/Preferences/index.js.map +1 -1
  191. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  192. package/dist/providers/RouteTransition/index.js +6 -1
  193. package/dist/providers/RouteTransition/index.js.map +1 -1
  194. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  195. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -2
  196. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  197. package/dist/scss/app.scss +14 -1
  198. package/dist/styles.css +1 -1
  199. package/dist/utilities/getGlobalData.d.ts +11 -0
  200. package/dist/utilities/getGlobalData.d.ts.map +1 -0
  201. package/dist/utilities/getGlobalData.js +49 -0
  202. package/dist/utilities/getGlobalData.js.map +1 -0
  203. package/dist/utilities/getNavGroups.d.ts +5 -0
  204. package/dist/utilities/getNavGroups.d.ts.map +1 -0
  205. package/dist/utilities/getNavGroups.js +22 -0
  206. package/dist/utilities/getNavGroups.js.map +1 -0
  207. package/dist/utilities/getVisibleEntities.d.ts +5 -0
  208. package/dist/utilities/getVisibleEntities.d.ts.map +1 -0
  209. package/dist/utilities/getVisibleEntities.js +31 -0
  210. package/dist/utilities/getVisibleEntities.js.map +1 -0
  211. package/dist/utilities/groupNavItems.d.ts +3 -0
  212. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  213. package/dist/utilities/groupNavItems.js +3 -0
  214. package/dist/utilities/groupNavItems.js.map +1 -1
  215. package/dist/utilities/handleBackToDashboard.js +1 -1
  216. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  217. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  218. package/dist/utilities/handleGoBack.js +1 -2
  219. package/dist/utilities/handleGoBack.js.map +1 -1
  220. package/dist/utilities/normalizeRelationshipValue.spec.js +1 -1
  221. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  222. package/dist/views/CollectionFolder/index.js +2 -4
  223. package/dist/views/CollectionFolder/index.js.map +1 -1
  224. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  225. package/dist/views/Edit/Auth/index.js +22 -21
  226. package/dist/views/Edit/Auth/index.js.map +1 -1
  227. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  228. package/dist/views/Edit/SetDocumentStepNav/index.js +36 -22
  229. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  230. package/dist/views/Edit/index.d.ts.map +1 -1
  231. package/dist/views/Edit/index.js +2 -3
  232. package/dist/views/Edit/index.js.map +1 -1
  233. package/dist/views/List/index.d.ts.map +1 -1
  234. package/dist/views/List/index.js +1 -2
  235. package/dist/views/List/index.js.map +1 -1
  236. package/dist/widgets/CollectionCards/index.d.ts +5 -0
  237. package/dist/widgets/CollectionCards/index.d.ts.map +1 -0
  238. package/dist/widgets/CollectionCards/index.js +135 -0
  239. package/dist/widgets/CollectionCards/index.js.map +1 -0
  240. package/dist/widgets/CollectionCards/index.scss +70 -0
  241. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { getTranslation } from '@payloadcms/translations';
3
3
  import { useRouter, useSearchParams } from 'next/navigation.js';
4
- import { combineWhereConstraints, mergeListSearchAndWhere } from 'payload/shared';
4
+ import { combineWhereConstraints, formatAdminURL, mergeListSearchAndWhere } from 'payload/shared';
5
5
  import * as qs from 'qs-esm';
6
6
  import React, { useCallback } from 'react';
7
7
  import { toast } from 'sonner';
@@ -35,8 +35,7 @@ export function PublishManyDrawerContent(props) {
35
35
  config: {
36
36
  routes: {
37
37
  api
38
- },
39
- serverURL
38
+ }
40
39
  }
41
40
  } = useConfig();
42
41
  const {
@@ -91,7 +90,11 @@ export function PublishManyDrawerContent(props) {
91
90
  });
92
91
  }, [collection, searchParams, selectAll, ids, locale, where]);
93
92
  const handlePublish = useCallback(async () => {
94
- await requests.patch(`${serverURL}${api}/${slug}${queryString}&draft=true`, {
93
+ const url = formatAdminURL({
94
+ apiRoute: api,
95
+ path: `/${slug}${queryString}&draft=true`
96
+ });
97
+ await requests.patch(url, {
95
98
  body: JSON.stringify({
96
99
  _status: 'published'
97
100
  }),
@@ -136,7 +139,7 @@ export function PublishManyDrawerContent(props) {
136
139
  return addDefaultError();
137
140
  }
138
141
  });
139
- }, [serverURL, api, slug, queryString, i18n, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError, onSuccess]);
142
+ }, [api, slug, queryString, i18n, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError, onSuccess]);
140
143
  return /*#__PURE__*/_jsx(ConfirmationModal, {
141
144
  body: t('version:aboutToPublishSelection', {
142
145
  label: getTranslation(plural, i18n)
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["getTranslation","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","parseSearchParams","ConfirmationModal","PublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","where","clearRouteCache","config","routes","api","serverURL","code","locale","router","searchParams","i18n","t","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","push","queryWithSearch","collectionConfig","search","get","id","in","stringify","select","addQueryPrefix","handlePublish","patch","body","JSON","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","forEach","_err","_jsx","cancelLabel","confirmingLabel","confirmLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishManyProps } from './index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\n\ntype PublishManyDrawerContentProps = {\n drawerSlug: string\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n} & PublishManyProps\n\nexport function PublishManyDrawerContent(props: PublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const { clearRouteCache } = useRouteCache()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { code: locale } = useLocale()\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const queryString = React.useMemo((): string => {\n const whereConstraints: Where[] = [\n {\n _status: {\n not_equals: 'published',\n },\n },\n ]\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 select: {},\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const handlePublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${queryString}&draft=true`, {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:updatedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n onSuccess,\n ])\n\n return (\n <ConfirmationModal\n body={t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}\n cancelLabel={t('general:cancel')}\n confirmingLabel={t('version:publishing')}\n confirmLabel={t('general:confirm')}\n heading={t('version:confirmPublish')}\n modalSlug={drawerSlug}\n onConfirm={handlePublish}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["getTranslation","useRouter","useSearchParams","combineWhereConstraints","formatAdminURL","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","parseSearchParams","ConfirmationModal","PublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","where","clearRouteCache","config","routes","api","code","locale","router","searchParams","i18n","t","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","push","queryWithSearch","collectionConfig","search","get","id","in","stringify","select","addQueryPrefix","handlePublish","url","apiRoute","path","patch","body","JSON","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","forEach","_err","_jsx","cancelLabel","confirmingLabel","confirmLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishManyProps } from './index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\n\ntype PublishManyDrawerContentProps = {\n drawerSlug: string\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n} & PublishManyProps\n\nexport function PublishManyDrawerContent(props: PublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const { clearRouteCache } = useRouteCache()\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { code: locale } = useLocale()\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const queryString = React.useMemo((): string => {\n const whereConstraints: Where[] = [\n {\n _status: {\n not_equals: 'published',\n },\n },\n ]\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 select: {},\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const handlePublish = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${slug}${queryString}&draft=true`,\n })\n await requests\n .patch(url, {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:updatedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n api,\n slug,\n queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n onSuccess,\n ])\n\n return (\n <ConfirmationModal\n body={t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}\n cancelLabel={t('general:cancel')}\n confirmingLabel={t('version:publishing')}\n confirmLabel={t('general:confirm')}\n heading={t('version:confirmPublish')}\n modalSlug={drawerSlug}\n onConfirm={handlePublish}\n />\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,eAAe,QAAQ;AAC3C,SAASC,uBAAuB,EAAEC,cAAc,EAAEC,uBAAuB,QAAQ;AACjF,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAItB,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,QAAQ;AAUlC,OAAO,SAASC,yBAAyBC,KAAoC;EAC3E,MAAM;IACJC,UAAU;IACVA,UAAA,EAAY;MAAEC,IAAI;MAAEC,MAAA,EAAQ;QAAEC,MAAM;QAAEC;MAAQ;IAAE,CAAE,GAAG,CAAC,CAAC;IACvDC,UAAU;IACVC,GAAG;IACHC,SAAS;IACTC,SAAS;IACTC;EAAK,CACN,GAAGV,KAAA;EAEJ,MAAM;IAAEW;EAAe,CAAE,GAAGjB,aAAA;EAE5B,MAAM;IACJkB,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG;IAAE;EAChB,CACF,GAAGtB,SAAA;EAEJ,MAAM;IAAEuB,IAAA,EAAMC;EAAM,CAAE,GAAGvB,SAAA;EAEzB,MAAMwB,MAAA,GAASlC,SAAA;EACf,MAAMmC,YAAA,GAAelC,eAAA;EACrB,MAAM;IAAEmC,IAAI;IAAEC;EAAC,CAAE,GAAGzB,cAAA;EAEpB,MAAM0B,eAAA,GAAkB/B,WAAA,CAAY;IAClCC,KAAA,CAAM+B,KAAK,CAACF,CAAA,CAAE;EAChB,GAAG,CAACA,CAAA,CAAE;EAEN,MAAMG,WAAA,GAAclC,KAAA,CAAMmC,OAAO,CAAC;IAChC,MAAMC,gBAAA,GAA4B,CAChC;MACEC,OAAA,EAAS;QACPC,UAAA,EAAY;MACd;IACF,EACD;IAED,IAAIjB,KAAA,EAAO;MACTe,gBAAA,CAAiBG,IAAI,CAAClB,KAAA;IACxB;IAEA,MAAMmB,eAAA,GAAkB1C,uBAAA,CAAwB;MAC9C2C,gBAAA,EAAkB7B,UAAA;MAClB8B,MAAA,EAAQb,YAAA,CAAac,GAAG,CAAC;IAC3B;IAEA,IAAIH,eAAA,EAAiB;MACnBJ,gBAAA,CAAiBG,IAAI,CAACC,eAAA;IACxB;IAEA,IAAIpB,SAAA,EAAW;MACb;MACAgB,gBAAA,CAAiBG,IAAI,CACnB/B,iBAAC,CAAkBqB,YAAA,GAAeR,KAAA,IAAmB;QACnDuB,EAAA,EAAI;UACFN,UAAA,EAAY;QACd;MACF;IAEJ,OAAO;MACL;MACAF,gBAAA,CAAiBG,IAAI,CAAC;QACpBK,EAAA,EAAI;UACFC,EAAA,EAAI3B,GAAA,IAAO;QACb;MACF;IACF;IAEA,OAAOnB,EAAA,CAAG+C,SAAS,CACjB;MACEnB,MAAA;MACAoB,MAAA,EAAQ,CAAC;MACT1B,KAAA,EAAOzB,uBAAA,CAAwBwC,gBAAA;IACjC,GACA;MAAEY,cAAA,EAAgB;IAAK;EAE3B,GAAG,CAACpC,UAAA,EAAYiB,YAAA,EAAcT,SAAA,EAAWF,GAAA,EAAKS,MAAA,EAAQN,KAAA,CAAM;EAE5D,MAAM4B,aAAA,GAAgBhD,WAAA,CAAY;IAChC,MAAMiD,GAAA,GAAMrD,cAAA,CAAe;MACzBsD,QAAA,EAAU1B,GAAA;MACV2B,IAAA,EAAM,IAAIvC,IAAA,GAAOqB,WAAA;IACnB;IACA,MAAM3B,QAAA,CACH8C,KAAK,CAACH,GAAA,EAAK;MACVI,IAAA,EAAMC,IAAA,CAAKT,SAAS,CAAC;QACnBT,OAAA,EAAS;MACX;MACAmB,OAAA,EAAS;QACP,mBAAmB1B,IAAA,CAAK2B,QAAQ;QAChC,gBAAgB;MAClB;IACF,GACCC,IAAI,CAAC,MAAOC,GAAA;MACX,IAAI;QACF,MAAMC,IAAA,GAAO,MAAMD,GAAA,CAAIC,IAAI;QAE3B,MAAMC,WAAA,GAAcD,IAAA,EAAME,IAAA,CAAKC,MAAA,IAAU;QACzC,MAAMC,YAAA,GAAeH,WAAA,GAAc,IAAI9C,MAAA,GAASC,QAAA;QAEhD,IAAI2C,GAAA,CAAIM,MAAM,GAAG,OAAOJ,WAAA,GAAc,GAAG;UACvC3D,KAAA,CAAMgE,OAAO,CACXnC,CAAA,CAAE,oCAAoC;YACpCoC,KAAA,EAAON,WAAA;YACPO,KAAA,EAAO3E,cAAA,CAAeuE,YAAA,EAAclC,IAAA;UACtC;UAGF,IAAI8B,IAAA,EAAMS,MAAA,CAAON,MAAA,GAAS,GAAG;YAC3B7D,KAAA,CAAM+B,KAAK,CAAC2B,IAAA,CAAKU,OAAO,EAAE;cACxBC,WAAA,EAAaX,IAAA,CAAKS,MAAM,CAACG,GAAG,CAAEvC,KAAA,IAAUA,KAAA,CAAMqC,OAAO,EAAEG,IAAI,CAAC;YAC9D;UACF;UAEA7C,MAAA,CAAO8C,OAAO,CACZ3E,EAAA,CAAG+C,SAAS,CACV;YACE,GAAGtC,iBAAA,CAAkBqB,YAAA,CAAa;YAClC8C,IAAA,EAAMvD,SAAA,GAAY,MAAMwD;UAC1B,GACA;YAAE5B,cAAA,EAAgB;UAAK;UAI3B1B,eAAA;UAEA,IAAI,OAAOH,SAAA,KAAc,YAAY;YACnCA,SAAA;UACF;UAEA,OAAO;QACT;QAEA,IAAIyC,IAAA,CAAKS,MAAM,EAAE;UACfT,IAAA,CAAKS,MAAM,CAACQ,OAAO,CAAE5C,KAAA,IAAU/B,KAAA,CAAM+B,KAAK,CAACA,KAAA,CAAMqC,OAAO;QAC1D,OAAO;UACLtC,eAAA;QACF;QACA,OAAO;MACT,EAAE,OAAO8C,IAAA,EAAM;QACb,OAAO9C,eAAA;MACT;IACF;EACJ,GAAG,CACDP,GAAA,EACAZ,IAAA,EACAqB,WAAA,EACAJ,IAAA,EACAf,MAAA,EACAC,QAAA,EACAe,CAAA,EACAH,MAAA,EACAC,YAAA,EACAT,SAAA,EACAE,eAAA,EACAU,eAAA,EACAb,SAAA,CACD;EAED,oBACE4D,IAAA,CAACtE,iBAAA;IACC6C,IAAA,EAAMvB,CAAA,CAAE,mCAAmC;MAAEqC,KAAA,EAAO3E,cAAA,CAAesB,MAAA,EAAQe,IAAA;IAAM;IACjFkD,WAAA,EAAajD,CAAA,CAAE;IACfkD,eAAA,EAAiBlD,CAAA,CAAE;IACnBmD,YAAA,EAAcnD,CAAA,CAAE;IAChBoD,OAAA,EAASpD,CAAA,CAAE;IACXqD,SAAA,EAAWnE,UAAA;IACXoE,SAAA,EAAWpC;;AAGjB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/QueryPresets/QueryPresetBar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA;AASzE,OAAO,KAAyC,MAAM,OAAO,CAAA;AAc7D,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sBAAsB,EAAE,6BAA6B,CAAA;CACtD,CA0TA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/QueryPresets/QueryPresetBar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA;AASzE,OAAO,KAAyC,MAAM,OAAO,CAAA;AAc7D,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sBAAsB,EAAE,6BAA6B,CAAA;CACtD,CA8SA,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useModal } from '@faceless-ui/modal';
3
3
  import { getTranslation } from '@payloadcms/translations';
4
- import { formatApiURL, transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared';
4
+ import { formatAdminURL, transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared';
5
5
  import React, { Fragment, useCallback, useMemo } from 'react';
6
6
  import { toast } from 'sonner';
7
7
  import { PlusIcon } from '../../../icons/Plus/index.js';
@@ -97,10 +97,9 @@ export const QueryPresetBar = ({
97
97
  }, [refineListData]);
98
98
  const handleDeletePreset = useCallback(async () => {
99
99
  try {
100
- await fetch(formatApiURL({
100
+ await fetch(formatAdminURL({
101
101
  apiRoute,
102
- path: `/${queryPresetsSlug}/${activePreset.id}`,
103
- serverURL
102
+ path: `/${queryPresetsSlug}/${activePreset.id}`
104
103
  }), {
105
104
  method: 'DELETE'
106
105
  }).then(async res => {
@@ -132,13 +131,12 @@ export const QueryPresetBar = ({
132
131
  title: activePreset.title
133
132
  }));
134
133
  }
135
- }, [apiRoute, activePreset?.id, activePreset?.title, t, presetConfig, i18n, resetQueryPreset, serverURL]);
134
+ }, [apiRoute, activePreset?.id, activePreset?.title, t, presetConfig, i18n, resetQueryPreset]);
136
135
  const saveCurrentChanges = useCallback(async () => {
137
136
  try {
138
- await fetch(formatApiURL({
137
+ await fetch(formatAdminURL({
139
138
  apiRoute,
140
- path: `/${queryPresetsSlug}/${activePreset.id}`,
141
- serverURL
139
+ path: `/${queryPresetsSlug}/${activePreset.id}`
142
140
  }), {
143
141
  body: JSON.stringify({
144
142
  columns: transformColumnsToPreferences(query.columns),
@@ -172,7 +170,7 @@ export const QueryPresetBar = ({
172
170
  } catch (_err) {
173
171
  toast.error(t('error:unknown'));
174
172
  }
175
- }, [apiRoute, activePreset?.id, query.columns, query.groupBy, query.where, t, presetConfig?.labels?.singular, i18n, setQueryModified, serverURL]);
173
+ }, [apiRoute, activePreset?.id, query.columns, query.groupBy, query.where, t, presetConfig?.labels?.singular, i18n, setQueryModified]);
176
174
  const hasModifiedPreset = activePreset && modified;
177
175
  return /*#__PURE__*/_jsxs(Fragment, {
178
176
  children: [/*#__PURE__*/_jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","formatApiURL","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","useCallback","useMemo","toast","PlusIcon","useConfig","useListQuery","useTranslation","ConfirmationModal","useDocumentDrawer","useListDrawer","ListSelectionButton","Pill","Translation","QueryPresetToggler","confirmDeletePresetModalSlug","queryPresetsSlug","baseClass","QueryPresetBar","activePreset","collectionSlug","queryPresetPermissions","modified","query","refineListData","setModified","setQueryModified","i18n","t","openModal","config","routes","api","apiRoute","serverURL","getEntityConfig","presetConfig","PresetDocumentDrawer","openDrawer","openDocumentDrawer","id","CreateNewPresetDrawer","closeDrawer","closeCreateNewDrawer","openCreateNewDrawer","filterOptions","isTemp","not_equals","relatedCollection","equals","ListDrawer","closeListDrawer","openListDrawer","collectionSlugs","selectedCollection","handlePresetChange","preset","columns","undefined","groupBy","where","resetQueryPreset","handleDeletePreset","fetch","path","method","then","res","json","status","success","label","labels","singular","title","errors","forEach","error","message","_err","saveCurrentChanges","body","JSON","stringify","credentials","headers","hasModifiedPreset","_jsxs","className","_jsx","openPresetListDrawer","resetPreset","icon","onClick","size","type","update","isShared","delete","initialData","onSave","doc","redirectAfterCreate","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm","onDelete","onDuplicate","allowCreate","disableQueryPresets","onSelect"],"sources":["../../../../src/elements/QueryPresets/QueryPresetBar/index.tsx"],"sourcesContent":["import type { QueryPreset, SanitizedCollectionPermission } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n formatApiURL,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment, useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport { PlusIcon } from '../../../icons/Plus/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/context.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { useListDrawer } from '../../ListDrawer/index.js'\nimport { ListSelectionButton } from '../../ListSelection/index.js'\nimport { Pill } from '../../Pill/index.js'\nimport { Translation } from '../../Translation/index.js'\nimport { QueryPresetToggler } from '../QueryPresetToggler/index.js'\nimport './index.scss'\n\nconst confirmDeletePresetModalSlug = 'confirm-delete-preset'\n\nconst queryPresetsSlug = 'payload-query-presets'\n\nconst baseClass = 'query-preset-bar'\n\nexport const QueryPresetBar: React.FC<{\n activePreset: QueryPreset\n collectionSlug?: string\n queryPresetPermissions: SanitizedCollectionPermission\n}> = ({ activePreset, collectionSlug, queryPresetPermissions }) => {\n const { modified, query, refineListData, setModified: setQueryModified } = useListQuery()\n\n const { i18n, t } = useTranslation()\n const { openModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const presetConfig = getEntityConfig({ collectionSlug: queryPresetsSlug })\n\n const [PresetDocumentDrawer, , { openDrawer: openDocumentDrawer }] = useDocumentDrawer({\n id: activePreset?.id,\n collectionSlug: queryPresetsSlug,\n })\n\n const [\n CreateNewPresetDrawer,\n ,\n { closeDrawer: closeCreateNewDrawer, openDrawer: openCreateNewDrawer },\n ] = useDocumentDrawer({\n collectionSlug: queryPresetsSlug,\n })\n\n const filterOptions = useMemo(\n () => ({\n 'payload-query-presets': {\n isTemp: {\n not_equals: true,\n },\n relatedCollection: {\n equals: collectionSlug,\n },\n },\n }),\n [collectionSlug],\n )\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: [queryPresetsSlug],\n filterOptions,\n selectedCollection: queryPresetsSlug,\n })\n\n const handlePresetChange = useCallback(\n async (preset: QueryPreset) => {\n await refineListData(\n {\n columns: preset.columns ? transformColumnsToSearchParams(preset.columns) : undefined,\n groupBy: preset.groupBy || '',\n preset: preset.id,\n where: preset.where,\n },\n false,\n )\n },\n [refineListData],\n )\n\n const resetQueryPreset = useCallback(async () => {\n await refineListData(\n {\n columns: [],\n groupBy: '',\n preset: '',\n where: {},\n },\n false,\n )\n }, [refineListData])\n\n const handleDeletePreset = useCallback(async () => {\n try {\n await fetch(\n formatApiURL({\n apiRoute,\n path: `/${queryPresetsSlug}/${activePreset.id}`,\n serverURL,\n }),\n {\n method: 'DELETE',\n },\n ).then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:titleDeleted', {\n label: getTranslation(presetConfig?.labels?.singular, i18n),\n title: activePreset.title,\n }),\n )\n\n await resetQueryPreset()\n } else {\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n }\n } catch (_err) {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n })\n } catch (_err) {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n }, [\n apiRoute,\n activePreset?.id,\n activePreset?.title,\n t,\n presetConfig,\n i18n,\n resetQueryPreset,\n serverURL,\n ])\n\n const saveCurrentChanges = useCallback(async () => {\n try {\n await fetch(\n formatApiURL({\n apiRoute,\n path: `/${queryPresetsSlug}/${activePreset.id}`,\n serverURL,\n }),\n {\n body: JSON.stringify({\n columns: transformColumnsToPreferences(query.columns),\n groupBy: query.groupBy,\n where: query.where,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n },\n ).then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:updatedLabelSuccessfully', {\n label: getTranslation(presetConfig?.labels?.singular, i18n),\n }),\n )\n\n setQueryModified(false)\n } else {\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n toast.error(t('error:unknown'))\n }\n }\n } catch (_err) {\n toast.error(t('error:unknown'))\n }\n })\n } catch (_err) {\n toast.error(t('error:unknown'))\n }\n }, [\n apiRoute,\n activePreset?.id,\n query.columns,\n query.groupBy,\n query.where,\n t,\n presetConfig?.labels?.singular,\n i18n,\n setQueryModified,\n serverURL,\n ])\n\n const hasModifiedPreset = activePreset && modified\n\n return (\n <Fragment>\n <div className={baseClass}>\n <div className={`${baseClass}__menu`}>\n <QueryPresetToggler\n activePreset={activePreset}\n openPresetListDrawer={openListDrawer}\n resetPreset={resetQueryPreset}\n />\n <Pill\n aria-label={t('general:newLabel', { label: presetConfig?.labels?.singular })}\n className={`${baseClass}__create-new-preset`}\n icon={<PlusIcon />}\n id=\"create-new-preset\"\n onClick={() => {\n openCreateNewDrawer()\n }}\n size=\"small\"\n />\n </div>\n <div className={`${baseClass}__menu-items`}>\n {hasModifiedPreset && (\n <ListSelectionButton\n id=\"reset-preset\"\n key=\"reset\"\n onClick={async () => {\n await refineListData(\n {\n columns: transformColumnsToSearchParams(activePreset.columns),\n groupBy: activePreset.groupBy || '',\n where: activePreset.where,\n },\n false,\n )\n }}\n type=\"button\"\n >\n {t('general:reset')}\n </ListSelectionButton>\n )}\n {hasModifiedPreset && queryPresetPermissions.update && (\n <ListSelectionButton\n id=\"save-preset\"\n key=\"save\"\n onClick={async () => {\n await saveCurrentChanges()\n }}\n type=\"button\"\n >\n {activePreset?.isShared ? t('general:updateForEveryone') : t('fields:saveChanges')}\n </ListSelectionButton>\n )}\n {activePreset && queryPresetPermissions?.delete && (\n <Fragment>\n <ListSelectionButton\n id=\"delete-preset\"\n onClick={() => openModal(confirmDeletePresetModalSlug)}\n type=\"button\"\n >\n {t('general:deleteLabel', { label: presetConfig?.labels?.singular })}\n </ListSelectionButton>\n <ListSelectionButton\n id=\"edit-preset\"\n onClick={() => {\n openDocumentDrawer()\n }}\n type=\"button\"\n >\n {t('general:editLabel', { label: presetConfig?.labels?.singular })}\n </ListSelectionButton>\n </Fragment>\n )}\n </div>\n </div>\n <CreateNewPresetDrawer\n initialData={{\n columns: transformColumnsToPreferences(query.columns),\n groupBy: query.groupBy,\n relatedCollection: collectionSlug,\n where: query.where,\n }}\n onSave={async ({ doc }) => {\n closeCreateNewDrawer()\n await handlePresetChange(doc as QueryPreset)\n }}\n redirectAfterCreate={false}\n />\n <ConfirmationModal\n body={\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: presetConfig?.labels?.singular,\n title: activePreset?.title,\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmDeletePresetModalSlug}\n onConfirm={handleDeletePreset}\n />\n <PresetDocumentDrawer\n onDelete={() => {\n // setSelectedPreset(undefined)\n }}\n onDuplicate={async ({ doc }) => {\n await handlePresetChange(doc as QueryPreset)\n }}\n onSave={async ({ doc }) => {\n await handlePresetChange(doc as QueryPreset)\n }}\n />\n <ListDrawer\n allowCreate={false}\n disableQueryPresets\n onSelect={async ({ doc }) => {\n closeListDrawer()\n await handlePresetChange(doc as QueryPreset)\n }}\n />\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","useCallback","useMemo","toast","PlusIcon","useConfig","useListQuery","useTranslation","ConfirmationModal","useDocumentDrawer","useListDrawer","ListSelectionButton","Pill","Translation","QueryPresetToggler","confirmDeletePresetModalSlug","queryPresetsSlug","baseClass","QueryPresetBar","activePreset","collectionSlug","queryPresetPermissions","modified","query","refineListData","setModified","setQueryModified","i18n","t","openModal","config","routes","api","apiRoute","serverURL","getEntityConfig","presetConfig","PresetDocumentDrawer","openDrawer","openDocumentDrawer","id","CreateNewPresetDrawer","closeDrawer","closeCreateNewDrawer","openCreateNewDrawer","filterOptions","isTemp","not_equals","relatedCollection","equals","ListDrawer","closeListDrawer","openListDrawer","collectionSlugs","selectedCollection","handlePresetChange","preset","columns","undefined","groupBy","where","resetQueryPreset","handleDeletePreset","fetch","path","method","then","res","json","status","success","label","labels","singular","title","errors","forEach","error","message","_err","saveCurrentChanges","body","JSON","stringify","credentials","headers","hasModifiedPreset","_jsxs","className","_jsx","openPresetListDrawer","resetPreset","icon","onClick","size","type","update","isShared","delete","initialData","onSave","doc","redirectAfterCreate","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm","onDelete","onDuplicate","allowCreate","disableQueryPresets","onSelect"],"sources":["../../../../src/elements/QueryPresets/QueryPresetBar/index.tsx"],"sourcesContent":["import type { QueryPreset, SanitizedCollectionPermission } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n formatAdminURL,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment, useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport { PlusIcon } from '../../../icons/Plus/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/context.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { useListDrawer } from '../../ListDrawer/index.js'\nimport { ListSelectionButton } from '../../ListSelection/index.js'\nimport { Pill } from '../../Pill/index.js'\nimport { Translation } from '../../Translation/index.js'\nimport { QueryPresetToggler } from '../QueryPresetToggler/index.js'\nimport './index.scss'\n\nconst confirmDeletePresetModalSlug = 'confirm-delete-preset'\n\nconst queryPresetsSlug = 'payload-query-presets'\n\nconst baseClass = 'query-preset-bar'\n\nexport const QueryPresetBar: React.FC<{\n activePreset: QueryPreset\n collectionSlug?: string\n queryPresetPermissions: SanitizedCollectionPermission\n}> = ({ activePreset, collectionSlug, queryPresetPermissions }) => {\n const { modified, query, refineListData, setModified: setQueryModified } = useListQuery()\n\n const { i18n, t } = useTranslation()\n const { openModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const presetConfig = getEntityConfig({ collectionSlug: queryPresetsSlug })\n\n const [PresetDocumentDrawer, , { openDrawer: openDocumentDrawer }] = useDocumentDrawer({\n id: activePreset?.id,\n collectionSlug: queryPresetsSlug,\n })\n\n const [\n CreateNewPresetDrawer,\n ,\n { closeDrawer: closeCreateNewDrawer, openDrawer: openCreateNewDrawer },\n ] = useDocumentDrawer({\n collectionSlug: queryPresetsSlug,\n })\n\n const filterOptions = useMemo(\n () => ({\n 'payload-query-presets': {\n isTemp: {\n not_equals: true,\n },\n relatedCollection: {\n equals: collectionSlug,\n },\n },\n }),\n [collectionSlug],\n )\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: [queryPresetsSlug],\n filterOptions,\n selectedCollection: queryPresetsSlug,\n })\n\n const handlePresetChange = useCallback(\n async (preset: QueryPreset) => {\n await refineListData(\n {\n columns: preset.columns ? transformColumnsToSearchParams(preset.columns) : undefined,\n groupBy: preset.groupBy || '',\n preset: preset.id,\n where: preset.where,\n },\n false,\n )\n },\n [refineListData],\n )\n\n const resetQueryPreset = useCallback(async () => {\n await refineListData(\n {\n columns: [],\n groupBy: '',\n preset: '',\n where: {},\n },\n false,\n )\n }, [refineListData])\n\n const handleDeletePreset = useCallback(async () => {\n try {\n await fetch(\n formatAdminURL({\n apiRoute,\n path: `/${queryPresetsSlug}/${activePreset.id}`,\n }),\n {\n method: 'DELETE',\n },\n ).then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:titleDeleted', {\n label: getTranslation(presetConfig?.labels?.singular, i18n),\n title: activePreset.title,\n }),\n )\n\n await resetQueryPreset()\n } else {\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n }\n } catch (_err) {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n })\n } catch (_err) {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n }, [apiRoute, activePreset?.id, activePreset?.title, t, presetConfig, i18n, resetQueryPreset])\n\n const saveCurrentChanges = useCallback(async () => {\n try {\n await fetch(\n formatAdminURL({\n apiRoute,\n path: `/${queryPresetsSlug}/${activePreset.id}`,\n }),\n {\n body: JSON.stringify({\n columns: transformColumnsToPreferences(query.columns),\n groupBy: query.groupBy,\n where: query.where,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n },\n ).then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:updatedLabelSuccessfully', {\n label: getTranslation(presetConfig?.labels?.singular, i18n),\n }),\n )\n\n setQueryModified(false)\n } else {\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n toast.error(t('error:unknown'))\n }\n }\n } catch (_err) {\n toast.error(t('error:unknown'))\n }\n })\n } catch (_err) {\n toast.error(t('error:unknown'))\n }\n }, [\n apiRoute,\n activePreset?.id,\n query.columns,\n query.groupBy,\n query.where,\n t,\n presetConfig?.labels?.singular,\n i18n,\n setQueryModified,\n ])\n\n const hasModifiedPreset = activePreset && modified\n\n return (\n <Fragment>\n <div className={baseClass}>\n <div className={`${baseClass}__menu`}>\n <QueryPresetToggler\n activePreset={activePreset}\n openPresetListDrawer={openListDrawer}\n resetPreset={resetQueryPreset}\n />\n <Pill\n aria-label={t('general:newLabel', { label: presetConfig?.labels?.singular })}\n className={`${baseClass}__create-new-preset`}\n icon={<PlusIcon />}\n id=\"create-new-preset\"\n onClick={() => {\n openCreateNewDrawer()\n }}\n size=\"small\"\n />\n </div>\n <div className={`${baseClass}__menu-items`}>\n {hasModifiedPreset && (\n <ListSelectionButton\n id=\"reset-preset\"\n key=\"reset\"\n onClick={async () => {\n await refineListData(\n {\n columns: transformColumnsToSearchParams(activePreset.columns),\n groupBy: activePreset.groupBy || '',\n where: activePreset.where,\n },\n false,\n )\n }}\n type=\"button\"\n >\n {t('general:reset')}\n </ListSelectionButton>\n )}\n {hasModifiedPreset && queryPresetPermissions.update && (\n <ListSelectionButton\n id=\"save-preset\"\n key=\"save\"\n onClick={async () => {\n await saveCurrentChanges()\n }}\n type=\"button\"\n >\n {activePreset?.isShared ? t('general:updateForEveryone') : t('fields:saveChanges')}\n </ListSelectionButton>\n )}\n {activePreset && queryPresetPermissions?.delete && (\n <Fragment>\n <ListSelectionButton\n id=\"delete-preset\"\n onClick={() => openModal(confirmDeletePresetModalSlug)}\n type=\"button\"\n >\n {t('general:deleteLabel', { label: presetConfig?.labels?.singular })}\n </ListSelectionButton>\n <ListSelectionButton\n id=\"edit-preset\"\n onClick={() => {\n openDocumentDrawer()\n }}\n type=\"button\"\n >\n {t('general:editLabel', { label: presetConfig?.labels?.singular })}\n </ListSelectionButton>\n </Fragment>\n )}\n </div>\n </div>\n <CreateNewPresetDrawer\n initialData={{\n columns: transformColumnsToPreferences(query.columns),\n groupBy: query.groupBy,\n relatedCollection: collectionSlug,\n where: query.where,\n }}\n onSave={async ({ doc }) => {\n closeCreateNewDrawer()\n await handlePresetChange(doc as QueryPreset)\n }}\n redirectAfterCreate={false}\n />\n <ConfirmationModal\n body={\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: presetConfig?.labels?.singular,\n title: activePreset?.title,\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmDeletePresetModalSlug}\n onConfirm={handleDeletePreset}\n />\n <PresetDocumentDrawer\n onDelete={() => {\n // setSelectedPreset(undefined)\n }}\n onDuplicate={async ({ doc }) => {\n await handlePresetChange(doc as QueryPreset)\n }}\n onSave={async ({ doc }) => {\n await handlePresetChange(doc as QueryPreset)\n }}\n />\n <ListDrawer\n allowCreate={false}\n disableQueryPresets\n onSelect={async ({ doc }) => {\n closeListDrawer()\n await handlePresetChange(doc as QueryPreset)\n }}\n />\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RestoreButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOxD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAW9E,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAA;IAC3D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2KzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RestoreButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOxD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAW9E,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAA;IAC3D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmLzC,CAAA"}
@@ -65,20 +65,25 @@ export const RestoreButton = props => {
65
65
  }, [t, title]);
66
66
  const handleRestore = useCallback(async () => {
67
67
  try {
68
- const url = `${serverURL}${api}/${collectionSlug}?${qs.stringify({
69
- trash: true,
70
- where: {
71
- and: [{
72
- id: {
73
- equals: id
74
- }
75
- }, {
76
- deletedAt: {
77
- exists: true
78
- }
79
- }]
80
- }
81
- })}`;
68
+ const url = formatAdminURL({
69
+ apiRoute: api,
70
+ path: `/${collectionSlug}${qs.stringify({
71
+ trash: true,
72
+ where: {
73
+ and: [{
74
+ id: {
75
+ equals: id
76
+ }
77
+ }, {
78
+ deletedAt: {
79
+ exists: true
80
+ }
81
+ }]
82
+ }
83
+ }, {
84
+ addQueryPrefix: true
85
+ })}`
86
+ });
82
87
  const body = {
83
88
  deletedAt: null
84
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","formatAdminURL","qs","React","Fragment","useCallback","useState","toast","CheckboxInput","useConfig","useDocumentTitle","useRouteTransition","useTranslation","requests","Button","ConfirmationModal","Translation","baseClass","RestoreButton","props","id","buttonId","collectionSlug","onRestore","redirectAfterRestore","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","serverURL","getEntityConfig","collectionConfig","router","i18n","t","startRouteTransition","openModal","modalSlug","restoreAsPublished","setRestoreAsPublished","addDefaultError","error","handleRestore","url","stringify","trash","where","and","equals","deletedAt","exists","body","versions","drafts","_status","res","patch","JSON","headers","language","json","status","success","label","message","push","path","errors","forEach","_err","_jsxs","_jsx","buttonStyle","onClick","elements","1","children","i18nKey","variables","className","checked","name","onToggle","e","target","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/RestoreButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentTitle } from '../../providers/DocumentTitle/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'restore-button'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onRestore?: DocumentDrawerContextType['onRestore']\n readonly redirectAfterRestore?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n}\n\nexport const RestoreButton: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onRestore,\n redirectAfterRestore = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentTitle()\n const { startRouteTransition } = useRouteTransition()\n const { openModal } = useModal()\n\n const modalSlug = `restore-${id}`\n\n const [restoreAsPublished, setRestoreAsPublished] = useState(false)\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:restoringTitle', { title }))\n }, [t, title])\n\n const handleRestore = useCallback(async () => {\n try {\n const url = `${serverURL}${api}/${collectionSlug}?${qs.stringify({\n trash: true,\n where: {\n and: [{ id: { equals: id } }, { deletedAt: { exists: true } }],\n },\n })}`\n\n const body: Record<string, unknown> = {\n deletedAt: null,\n }\n\n // Only include _status if drafts are enabled\n if (collectionConfig?.versions?.drafts) {\n body._status = restoreAsPublished ? 'published' : 'draft'\n }\n\n const res = await requests.patch(url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:titleRestored', {\n label: getTranslation(singularLabel, i18n),\n title,\n }) || json.message,\n )\n\n if (redirectAfterRestore) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${id}`,\n serverURL,\n }),\n ),\n )\n }\n\n if (typeof onRestore === 'function') {\n await onRestore({ id, collectionConfig })\n }\n\n return\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n } catch (_err) {\n addDefaultError()\n }\n }, [\n serverURL,\n api,\n collectionSlug,\n id,\n t,\n singularLabel,\n addDefaultError,\n i18n,\n title,\n router,\n adminRoute,\n redirectAfterRestore,\n onRestore,\n collectionConfig,\n startRouteTransition,\n restoreAsPublished,\n ])\n\n if (id) {\n return (\n <Fragment>\n <Button\n buttonStyle=\"primary\"\n id={buttonId}\n key={buttonId}\n onClick={() => {\n openModal(modalSlug)\n }}\n >\n {t('general:restore')}\n </Button>\n <ConfirmationModal\n body={\n <Fragment>\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey={\n collectionConfig?.versions?.drafts\n ? 'general:aboutToRestoreAsDraft'\n : 'general:aboutToRestore'\n }\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleFromProps || title || id,\n }}\n />\n {collectionConfig?.versions?.drafts && (\n <div className={`${baseClass}__checkbox`}>\n <CheckboxInput\n checked={restoreAsPublished}\n id=\"restore-as-published\"\n label={t('general:restoreAsPublished')}\n name=\"restore-as-published\"\n onToggle={(e) => setRestoreAsPublished(e.target.checked)}\n />\n </div>\n )}\n </Fragment>\n }\n className={baseClass}\n confirmingLabel={t('general:restoring')}\n heading={t('general:confirmRestoration')}\n modalSlug={modalSlug}\n onConfirm={handleRestore}\n />\n </Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","formatAdminURL","qs","React","Fragment","useCallback","useState","toast","CheckboxInput","useConfig","useDocumentTitle","useRouteTransition","useTranslation","requests","Button","ConfirmationModal","Translation","baseClass","RestoreButton","props","id","buttonId","collectionSlug","onRestore","redirectAfterRestore","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","serverURL","getEntityConfig","collectionConfig","router","i18n","t","startRouteTransition","openModal","modalSlug","restoreAsPublished","setRestoreAsPublished","addDefaultError","error","handleRestore","url","apiRoute","path","stringify","trash","where","and","equals","deletedAt","exists","addQueryPrefix","body","versions","drafts","_status","res","patch","JSON","headers","language","json","status","success","label","message","push","errors","forEach","_err","_jsxs","_jsx","buttonStyle","onClick","elements","1","children","i18nKey","variables","className","checked","name","onToggle","e","target","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/RestoreButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentTitle } from '../../providers/DocumentTitle/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'restore-button'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onRestore?: DocumentDrawerContextType['onRestore']\n readonly redirectAfterRestore?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n}\n\nexport const RestoreButton: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onRestore,\n redirectAfterRestore = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentTitle()\n const { startRouteTransition } = useRouteTransition()\n const { openModal } = useModal()\n\n const modalSlug = `restore-${id}`\n\n const [restoreAsPublished, setRestoreAsPublished] = useState(false)\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:restoringTitle', { title }))\n }, [t, title])\n\n const handleRestore = useCallback(async () => {\n try {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${qs.stringify(\n {\n trash: true,\n where: {\n and: [{ id: { equals: id } }, { deletedAt: { exists: true } }],\n },\n },\n {\n addQueryPrefix: true,\n },\n )}`,\n })\n\n const body: Record<string, unknown> = {\n deletedAt: null,\n }\n\n // Only include _status if drafts are enabled\n if (collectionConfig?.versions?.drafts) {\n body._status = restoreAsPublished ? 'published' : 'draft'\n }\n\n const res = await requests.patch(url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:titleRestored', {\n label: getTranslation(singularLabel, i18n),\n title,\n }) || json.message,\n )\n\n if (redirectAfterRestore) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${id}`,\n serverURL,\n }),\n ),\n )\n }\n\n if (typeof onRestore === 'function') {\n await onRestore({ id, collectionConfig })\n }\n\n return\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n } catch (_err) {\n addDefaultError()\n }\n }, [\n serverURL,\n api,\n collectionSlug,\n id,\n t,\n singularLabel,\n addDefaultError,\n i18n,\n title,\n router,\n adminRoute,\n redirectAfterRestore,\n onRestore,\n collectionConfig,\n startRouteTransition,\n restoreAsPublished,\n ])\n\n if (id) {\n return (\n <Fragment>\n <Button\n buttonStyle=\"primary\"\n id={buttonId}\n key={buttonId}\n onClick={() => {\n openModal(modalSlug)\n }}\n >\n {t('general:restore')}\n </Button>\n <ConfirmationModal\n body={\n <Fragment>\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey={\n collectionConfig?.versions?.drafts\n ? 'general:aboutToRestoreAsDraft'\n : 'general:aboutToRestore'\n }\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleFromProps || title || id,\n }}\n />\n {collectionConfig?.versions?.drafts && (\n <div className={`${baseClass}__checkbox`}>\n <CheckboxInput\n checked={restoreAsPublished}\n id=\"restore-as-published\"\n label={t('general:restoreAsPublished')}\n name=\"restore-as-published\"\n onToggle={(e) => setRestoreAsPublished(e.target.checked)}\n />\n </div>\n )}\n </Fragment>\n }\n className={baseClass}\n confirmingLabel={t('general:restoring')}\n heading={t('general:confirmRestoration')}\n modalSlug={modalSlug}\n onConfirm={handleRestore}\n />\n </Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RestoreMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAS,MAAM,SAAS,CAAA;AAOvE,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,sBAAsB,CAAA;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgLvC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RestoreMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAS,MAAM,SAAS,CAAA;AAOvE,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,sBAAsB,CAAA;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmLvC,CAAA"}
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useModal } from '@faceless-ui/modal';
5
5
  import { getTranslation } from '@payloadcms/translations';
6
6
  import { useRouter, useSearchParams } from 'next/navigation.js';
7
- import { mergeListSearchAndWhere } from 'payload/shared';
7
+ import { formatAdminURL, mergeListSearchAndWhere } from 'payload/shared';
8
8
  import * as qs from 'qs-esm';
9
9
  import React from 'react';
10
10
  import { toast } from 'sonner';
@@ -97,19 +97,22 @@ export const RestoreMany = props => {
97
97
  }]
98
98
  };
99
99
  }
100
- const url = `${serverURL}${routes.api}/${slug}${qs.stringify({
101
- limit: 0,
102
- locale,
103
- select: {},
104
- trash: true,
105
- where: mergeListSearchAndWhere({
106
- collectionConfig,
107
- search: parseSearchParams(searchParams)?.search,
108
- where: whereConstraint
109
- })
110
- }, {
111
- addQueryPrefix: true
112
- })}`;
100
+ const url = formatAdminURL({
101
+ apiRoute: routes.api,
102
+ path: `/${slug}${qs.stringify({
103
+ limit: 0,
104
+ locale,
105
+ select: {},
106
+ trash: true,
107
+ where: mergeListSearchAndWhere({
108
+ collectionConfig,
109
+ search: parseSearchParams(searchParams)?.search,
110
+ where: whereConstraint
111
+ })
112
+ }, {
113
+ addQueryPrefix: true
114
+ })}`
115
+ });
113
116
  const body = {
114
117
  deletedAt: null
115
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","useSearchParams","mergeListSearchAndWhere","qs","React","toast","CheckboxInput","useAuth","useConfig","useLocale","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","ConfirmationModal","ListSelectionButton","confirmManyRestoreDrawerSlug","baseClass","RestoreMany","props","collection","slug","viewType","permissions","config","collections","routes","serverURL","code","locale","router","clearRouteCache","searchParams","count","getSelectedIds","selectAll","toggleAll","openModal","i18n","t","restoreAsPublished","setRestoreAsPublished","useState","collectionPermissions","hasUpdatePermission","update","None","selectingAll","AllAvailable","selectedIDs","baseWhere","where","finalWhere","and","Array","isArray","deletedAt","exists","handleRestore","collectionConfig","find","c","whereConstraint","id","in","url","api","stringify","limit","select","trash","search","addQueryPrefix","body","versions","drafts","_status","restoreManyResponse","patch","JSON","headers","language","plural","singular","labels","json","restoredDocs","docs","length","successLabel","status","success","label","errors","error","message","description","map","e","join","err","replace","page","undefined","s","labelString","_jsxs","Fragment","_jsx","className","onClick","checked","name","onToggle","target","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/RestoreMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ViewTypes, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport './index.scss'\n\nconst confirmManyRestoreDrawerSlug = `confirm-restore-many-docs`\n\nconst baseClass = 'restore-many'\n\nexport type Props = {\n collection: ClientCollectionConfig\n viewType?: ViewTypes\n}\n\nexport const RestoreMany: React.FC<Props> = (props) => {\n const { collection: { slug } = {}, viewType } = props\n\n const { permissions } = useAuth()\n const {\n config: { collections, routes, serverURL },\n } = useConfig()\n const { code: locale } = useLocale()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n const searchParams = useSearchParams()\n const { count, getSelectedIds, selectAll, toggleAll } = useSelection()\n const { openModal } = useModal()\n\n const { i18n, t } = useTranslation()\n\n const [restoreAsPublished, setRestoreAsPublished] = React.useState(false)\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission || viewType !== 'trash') {\n return null\n }\n\n const selectingAll = selectAll === SelectAllStatus.AllAvailable\n const selectedIDs = !selectingAll ? getSelectedIds() : []\n\n const baseWhere = parseSearchParams(searchParams)?.where as Where\n\n const finalWhere = {\n and: [\n ...(Array.isArray(baseWhere?.and) ? baseWhere.and : baseWhere ? [baseWhere] : []),\n { deletedAt: { exists: true } },\n ],\n }\n\n const handleRestore = async () => {\n const collectionConfig = collections.find((c) => c.slug === slug)\n if (!collectionConfig) {\n return\n }\n\n let whereConstraint: Where\n\n if (selectingAll) {\n whereConstraint = finalWhere\n } else {\n whereConstraint = {\n and: [{ id: { in: selectedIDs } }, { deletedAt: { exists: true } }],\n }\n }\n\n const url = `${serverURL}${routes.api}/${slug}${qs.stringify(\n {\n limit: 0,\n locale,\n select: {},\n trash: true, // Ensure trashed docs are returned\n where: mergeListSearchAndWhere({\n collectionConfig,\n search: parseSearchParams(searchParams)?.search as string,\n where: whereConstraint,\n }),\n },\n { addQueryPrefix: true },\n )}`\n\n const body: Record<string, unknown> = {\n deletedAt: null,\n }\n\n // Only include _status if drafts are enabled\n if (collectionConfig?.versions?.drafts) {\n body._status = restoreAsPublished ? 'published' : 'draft'\n }\n\n const restoreManyResponse = await requests.patch(url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n try {\n const { plural, singular } = collectionConfig.labels\n const json = await restoreManyResponse.json()\n\n const restoredDocs = json?.docs?.length || 0\n const successLabel = restoredDocs > 1 ? plural : singular\n\n if (restoreManyResponse.status < 400 || restoredDocs > 0) {\n toast.success(\n t('general:restoredCountSuccessfully', {\n count: restoredDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n }\n\n if (json?.errors?.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((e) => e.message).join('\\n'),\n })\n }\n } catch (err) {\n toast.error(t('error:unknown'))\n }\n\n toggleAll()\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectingAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n }\n\n const collectionConfig = collections.find(({ slug: s }) => s === slug)\n\n const labelString = getTranslation(\n count === 1 ? collectionConfig.labels.singular : collectionConfig.labels.plural,\n i18n,\n )\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:restore')}\n className=\"restore-documents__toggle\"\n onClick={() => {\n openModal(confirmManyRestoreDrawerSlug)\n }}\n >\n {t('general:restore')}\n </ListSelectionButton>\n <ConfirmationModal\n body={\n <React.Fragment>\n {t(\n collectionConfig?.versions?.drafts\n ? 'general:aboutToRestoreAsDraftCount'\n : 'general:aboutToRestoreCount',\n {\n count,\n label: labelString,\n },\n )}\n {collectionConfig?.versions?.drafts && (\n <div className={`${baseClass}__checkbox`}>\n <CheckboxInput\n checked={restoreAsPublished}\n id=\"restore-as-published-many\"\n label={t('general:restoreAsPublished')}\n name=\"restore-as-published-many\"\n onToggle={(e) => setRestoreAsPublished(e.target.checked)}\n />\n </div>\n )}\n </React.Fragment>\n }\n className={baseClass}\n confirmingLabel={t('general:restoring')}\n heading={t('general:confirmRestoration')}\n modalSlug={confirmManyRestoreDrawerSlug}\n onConfirm={handleRestore}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","useSearchParams","formatAdminURL","mergeListSearchAndWhere","qs","React","toast","CheckboxInput","useAuth","useConfig","useLocale","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","ConfirmationModal","ListSelectionButton","confirmManyRestoreDrawerSlug","baseClass","RestoreMany","props","collection","slug","viewType","permissions","config","collections","routes","serverURL","code","locale","router","clearRouteCache","searchParams","count","getSelectedIds","selectAll","toggleAll","openModal","i18n","t","restoreAsPublished","setRestoreAsPublished","useState","collectionPermissions","hasUpdatePermission","update","None","selectingAll","AllAvailable","selectedIDs","baseWhere","where","finalWhere","and","Array","isArray","deletedAt","exists","handleRestore","collectionConfig","find","c","whereConstraint","id","in","url","apiRoute","api","path","stringify","limit","select","trash","search","addQueryPrefix","body","versions","drafts","_status","restoreManyResponse","patch","JSON","headers","language","plural","singular","labels","json","restoredDocs","docs","length","successLabel","status","success","label","errors","error","message","description","map","e","join","err","replace","page","undefined","s","labelString","_jsxs","Fragment","_jsx","className","onClick","checked","name","onToggle","target","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/RestoreMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ViewTypes, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport './index.scss'\n\nconst confirmManyRestoreDrawerSlug = `confirm-restore-many-docs`\n\nconst baseClass = 'restore-many'\n\nexport type Props = {\n collection: ClientCollectionConfig\n viewType?: ViewTypes\n}\n\nexport const RestoreMany: React.FC<Props> = (props) => {\n const { collection: { slug } = {}, viewType } = props\n\n const { permissions } = useAuth()\n const {\n config: { collections, routes, serverURL },\n } = useConfig()\n const { code: locale } = useLocale()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n const searchParams = useSearchParams()\n const { count, getSelectedIds, selectAll, toggleAll } = useSelection()\n const { openModal } = useModal()\n\n const { i18n, t } = useTranslation()\n\n const [restoreAsPublished, setRestoreAsPublished] = React.useState(false)\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission || viewType !== 'trash') {\n return null\n }\n\n const selectingAll = selectAll === SelectAllStatus.AllAvailable\n const selectedIDs = !selectingAll ? getSelectedIds() : []\n\n const baseWhere = parseSearchParams(searchParams)?.where as Where\n\n const finalWhere = {\n and: [\n ...(Array.isArray(baseWhere?.and) ? baseWhere.and : baseWhere ? [baseWhere] : []),\n { deletedAt: { exists: true } },\n ],\n }\n\n const handleRestore = async () => {\n const collectionConfig = collections.find((c) => c.slug === slug)\n if (!collectionConfig) {\n return\n }\n\n let whereConstraint: Where\n\n if (selectingAll) {\n whereConstraint = finalWhere\n } else {\n whereConstraint = {\n and: [{ id: { in: selectedIDs } }, { deletedAt: { exists: true } }],\n }\n }\n\n const url = formatAdminURL({\n apiRoute: routes.api,\n path: `/${slug}${qs.stringify(\n {\n limit: 0,\n locale,\n select: {},\n trash: true, // Ensure trashed docs are returned\n where: mergeListSearchAndWhere({\n collectionConfig,\n search: parseSearchParams(searchParams)?.search as string,\n where: whereConstraint,\n }),\n },\n { addQueryPrefix: true },\n )}`,\n })\n\n const body: Record<string, unknown> = {\n deletedAt: null,\n }\n\n // Only include _status if drafts are enabled\n if (collectionConfig?.versions?.drafts) {\n body._status = restoreAsPublished ? 'published' : 'draft'\n }\n\n const restoreManyResponse = await requests.patch(url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n try {\n const { plural, singular } = collectionConfig.labels\n const json = await restoreManyResponse.json()\n\n const restoredDocs = json?.docs?.length || 0\n const successLabel = restoredDocs > 1 ? plural : singular\n\n if (restoreManyResponse.status < 400 || restoredDocs > 0) {\n toast.success(\n t('general:restoredCountSuccessfully', {\n count: restoredDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n }\n\n if (json?.errors?.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((e) => e.message).join('\\n'),\n })\n }\n } catch (err) {\n toast.error(t('error:unknown'))\n }\n\n toggleAll()\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectingAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n }\n\n const collectionConfig = collections.find(({ slug: s }) => s === slug)\n\n const labelString = getTranslation(\n count === 1 ? collectionConfig.labels.singular : collectionConfig.labels.plural,\n i18n,\n )\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:restore')}\n className=\"restore-documents__toggle\"\n onClick={() => {\n openModal(confirmManyRestoreDrawerSlug)\n }}\n >\n {t('general:restore')}\n </ListSelectionButton>\n <ConfirmationModal\n body={\n <React.Fragment>\n {t(\n collectionConfig?.versions?.drafts\n ? 'general:aboutToRestoreAsDraftCount'\n : 'general:aboutToRestoreCount',\n {\n count,\n label: labelString,\n },\n )}\n {collectionConfig?.versions?.drafts && (\n <div className={`${baseClass}__checkbox`}>\n <CheckboxInput\n checked={restoreAsPublished}\n id=\"restore-as-published-many\"\n label={t('general:restoreAsPublished')}\n name=\"restore-as-published-many\"\n onToggle={(e) => setRestoreAsPublished(e.target.checked)}\n />\n </div>\n )}\n </React.Fragment>\n }\n className={baseClass}\n confirmingLabel={t('general:restoring')}\n heading={t('general:confirmRestoration')}\n modalSlug={confirmManyRestoreDrawerSlug}\n onConfirm={handleRestore}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SaveDraftButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAclD,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,qBA2FhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SaveDraftButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAGzD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAclD,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,qBAsFhE"}
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { formatAdminURL } from 'payload/shared';
4
5
  import React, { useCallback, useRef } from 'react';
5
6
  import { useForm, useFormModified } from '../../forms/Form/context.js';
6
7
  import { FormSubmit } from '../../forms/Submit/index.js';
@@ -17,8 +18,7 @@ export function SaveDraftButton(props) {
17
18
  config: {
18
19
  routes: {
19
20
  api
20
- },
21
- serverURL
21
+ }
22
22
  }
23
23
  } = useConfig();
24
24
  const {
@@ -50,13 +50,19 @@ export function SaveDraftButton(props) {
50
50
  let action;
51
51
  let method = 'POST';
52
52
  if (collectionSlug) {
53
- action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`;
53
+ action = formatAdminURL({
54
+ apiRoute: api,
55
+ path: `/${collectionSlug}${id ? `/${id}` : ''}${search}`
56
+ });
54
57
  if (id) {
55
58
  method = 'PATCH';
56
59
  }
57
60
  }
58
61
  if (globalSlug) {
59
- action = `${serverURL}${api}/globals/${globalSlug}${search}`;
62
+ action = formatAdminURL({
63
+ apiRoute: api,
64
+ path: `/globals/${globalSlug}${search}`
65
+ });
60
66
  }
61
67
  await submit({
62
68
  action,
@@ -67,7 +73,7 @@ export function SaveDraftButton(props) {
67
73
  skipValidation: true
68
74
  });
69
75
  setUnpublishedVersionCount(count => count + 1);
70
- }, [submit, collectionSlug, globalSlug, serverURL, api, locale, id, disabled, setUnpublishedVersionCount]);
76
+ }, [submit, collectionSlug, globalSlug, api, locale, id, disabled, setUnpublishedVersionCount]);
71
77
  useHotkey({
72
78
  cmdCtrlKey: true,
73
79
  editDepth,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","baseClass","SaveDraftButton","props","config","routes","api","serverURL","id","collectionSlug","globalSlug","setUnpublishedVersionCount","uploadStatus","modified","code","locale","ref","editDepth","t","submit","operation","disabled","saveDraft","search","action","method","overrides","_status","skipValidation","count","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","onClick","size","type"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SaveDraftButtonClientProps } from 'payload'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'save-draft'\n\nexport function SaveDraftButton(props: SaveDraftButtonClientProps) {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { id, collectionSlug, globalSlug, setUnpublishedVersionCount, uploadStatus } =\n useDocumentInfo()\n\n const modified = useFormModified()\n const { code: locale } = useLocale()\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const operation = useOperation()\n\n const disabled = (operation === 'update' && !modified) || uploadStatus === 'uploading'\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n\n setUnpublishedVersionCount((count) => count + 1)\n }, [\n submit,\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n locale,\n id,\n disabled,\n setUnpublishedVersionCount,\n ])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (disabled) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save-draft\"\n buttonStyle=\"secondary\"\n className={baseClass}\n disabled={disabled}\n onClick={() => {\n return void saveDraft()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,IAASC,WAAW,EAAEC,MAAM,QAAQ;AAE3C,SAASC,OAAO,EAAEC,eAAe,QAAQ;AACzC,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAE/B,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,gBAAgBC,KAAiC;EAC/D,MAAM;IACJC,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS;EACV,CACF,GAAGZ,SAAA;EAEJ,MAAM;IAAEa,EAAE;IAAEC,cAAc;IAAEC,UAAU;IAAEC,0BAA0B;IAAEC;EAAY,CAAE,GAChFhB,eAAA;EAEF,MAAMiB,QAAA,GAAWrB,eAAA;EACjB,MAAM;IAAEsB,IAAA,EAAMC;EAAM,CAAE,GAAGjB,SAAA;EACzB,MAAMkB,GAAA,GAAM1B,MAAA,CAA0B;EACtC,MAAM2B,SAAA,GAAYpB,YAAA;EAClB,MAAM;IAAEqB;EAAC,CAAE,GAAGlB,cAAA;EACd,MAAM;IAAEmB;EAAM,CAAE,GAAG5B,OAAA;EACnB,MAAM6B,SAAA,GAAYrB,YAAA;EAElB,MAAMsB,QAAA,GAAWD,SAAC,KAAc,YAAY,CAACP,QAAA,IAAaD,YAAA,KAAiB;EAE3E,MAAMU,SAAA,GAAYjC,WAAA,CAAY;IAC5B,IAAIgC,QAAA,EAAU;MACZ;IACF;IAEA,MAAME,MAAA,GAAS,WAAWR,MAAA,0CAAgD;IAC1E,IAAIS,MAAA;IACJ,IAAIC,MAAA,GAAS;IAEb,IAAIhB,cAAA,EAAgB;MAClBe,MAAA,GAAS,GAAGjB,SAAA,GAAYD,GAAA,IAAOG,cAAA,GAAiBD,EAAA,GAAK,IAAIA,EAAA,EAAI,GAAG,KAAKe,MAAA,EAAQ;MAC7E,IAAIf,EAAA,EAAI;QACNiB,MAAA,GAAS;MACX;IACF;IAEA,IAAIf,UAAA,EAAY;MACdc,MAAA,GAAS,GAAGjB,SAAA,GAAYD,GAAA,YAAeI,UAAA,GAAaa,MAAA,EAAQ;IAC9D;IAEA,MAAMJ,MAAA,CAAO;MACXK,MAAA;MACAC,MAAA;MACAC,SAAA,EAAW;QACTC,OAAA,EAAS;MACX;MACAC,cAAA,EAAgB;IAClB;IAEAjB,0BAAA,CAA4BkB,KAAA,IAAUA,KAAA,GAAQ;EAChD,GAAG,CACDV,MAAA,EACAV,cAAA,EACAC,UAAA,EACAH,SAAA,EACAD,GAAA,EACAS,MAAA,EACAP,EAAA,EACAa,QAAA,EACAV,0BAAA,CACD;EAEDjB,SAAA,CAAU;IAAEoC,UAAA,EAAY;IAAMb,SAAA;IAAWc,QAAA,EAAU,CAAC;EAAK,GAAIC,CAAA;IAC3D,IAAIX,QAAA,EAAU;MACZ;IAAA;IAGFW,CAAA,CAAEC,cAAc;IAChBD,CAAA,CAAEE,eAAe;IACjB,IAAIlB,GAAA,EAAKmB,OAAA,EAAS;MAChBnB,GAAA,CAAImB,OAAO,CAACC,KAAK;IACnB;EACF;EAEA,oBACEC,IAAA,CAAC5C,UAAA;IACC6C,QAAA,EAAS;IACTC,WAAA,EAAY;IACZC,SAAA,EAAWvC,SAAA;IACXoB,QAAA,EAAUA,QAAA;IACVoB,OAAA,EAASA,CAAA;MACP,OAAO,KAAKnB,SAAA;IACd;IACAN,GAAA,EAAKA,GAAA;IACL0B,IAAA,EAAK;IACLC,IAAA,EAAK;cAEJzB,CAAA,CAAE;;AAGT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","baseClass","SaveDraftButton","props","config","routes","api","id","collectionSlug","globalSlug","setUnpublishedVersionCount","uploadStatus","modified","code","locale","ref","editDepth","t","submit","operation","disabled","saveDraft","search","action","method","apiRoute","path","overrides","_status","skipValidation","count","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","onClick","size","type"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SaveDraftButtonClientProps } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'save-draft'\n\nexport function SaveDraftButton(props: SaveDraftButtonClientProps) {\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { id, collectionSlug, globalSlug, setUnpublishedVersionCount, uploadStatus } =\n useDocumentInfo()\n\n const modified = useFormModified()\n const { code: locale } = useLocale()\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const operation = useOperation()\n\n const disabled = (operation === 'update' && !modified) || uploadStatus === 'uploading'\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${search}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${search}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n\n setUnpublishedVersionCount((count) => count + 1)\n }, [submit, collectionSlug, globalSlug, api, locale, id, disabled, setUnpublishedVersionCount])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (disabled) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save-draft\"\n buttonStyle=\"secondary\"\n className={baseClass}\n disabled={disabled}\n onClick={() => {\n return void saveDraft()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EA4M1B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EA6M1B,CAAA"}