@payloadcms/ui 3.51.0-canary.6 → 3.51.0-internal.886ed9f

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 (75) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +102 -31
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js +1 -2
  6. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/FormsManager/reducer.js +1 -2
  9. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  10. package/dist/elements/DocumentDrawer/Provider.d.ts +0 -5
  11. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  12. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  13. package/dist/elements/DocumentFields/index.scss +0 -1
  14. package/dist/elements/{QueryPresets/QueryPresetToggler → ListControls/ActiveQueryPreset}/index.d.ts +1 -1
  15. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +1 -0
  16. package/dist/elements/ListControls/ActiveQueryPreset/index.js +180 -0
  17. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +1 -0
  18. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +33 -0
  19. package/dist/elements/ListControls/index.d.ts.map +1 -1
  20. package/dist/elements/ListControls/index.js +127 -103
  21. package/dist/elements/ListControls/index.js.map +1 -1
  22. package/dist/elements/ListControls/index.scss +32 -44
  23. package/dist/elements/ListControls/useQueryPresets.d.ts +17 -0
  24. package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -0
  25. package/dist/elements/{QueryPresets/QueryPresetBar/index.js → ListControls/useQueryPresets.js} +60 -80
  26. package/dist/elements/ListControls/useQueryPresets.js.map +1 -0
  27. package/dist/elements/Pill/index.scss +1 -1
  28. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  29. package/dist/elements/Table/OrderableTable.js +1 -2
  30. package/dist/elements/Table/OrderableTable.js.map +1 -1
  31. package/dist/elements/Upload/index.d.ts.map +1 -1
  32. package/dist/elements/Upload/index.js +14 -14
  33. package/dist/elements/Upload/index.js.map +1 -1
  34. package/dist/exports/client/index.js +24 -24
  35. package/dist/exports/client/index.js.map +4 -4
  36. package/dist/fields/Select/index.js +1 -2
  37. package/dist/fields/Select/index.js.map +1 -1
  38. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  39. package/dist/forms/Form/fieldReducer.js +0 -2
  40. package/dist/forms/Form/fieldReducer.js.map +1 -1
  41. package/dist/forms/Form/index.d.ts.map +1 -1
  42. package/dist/forms/Form/index.js +14 -32
  43. package/dist/forms/Form/index.js.map +1 -1
  44. package/dist/forms/Form/mergeServerFormState.d.ts +2 -15
  45. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  46. package/dist/forms/Form/mergeServerFormState.js +1 -9
  47. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  48. package/dist/forms/Form/types.d.ts +3 -38
  49. package/dist/forms/Form/types.d.ts.map +1 -1
  50. package/dist/forms/Form/types.js.map +1 -1
  51. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  52. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +0 -1
  53. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  54. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  55. package/dist/providers/DocumentInfo/index.js +8 -7
  56. package/dist/providers/DocumentInfo/index.js.map +1 -1
  57. package/dist/providers/DocumentInfo/types.d.ts +5 -16
  58. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  59. package/dist/providers/DocumentInfo/types.js.map +1 -1
  60. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  61. package/dist/providers/DocumentTitle/index.js +4 -4
  62. package/dist/providers/DocumentTitle/index.js.map +1 -1
  63. package/dist/styles.css +1 -1
  64. package/dist/views/Edit/index.d.ts.map +1 -1
  65. package/dist/views/Edit/index.js +14 -21
  66. package/dist/views/Edit/index.js.map +1 -1
  67. package/package.json +4 -4
  68. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts +0 -9
  69. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +0 -1
  70. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +0 -1
  71. package/dist/elements/QueryPresets/QueryPresetBar/index.scss +0 -41
  72. package/dist/elements/QueryPresets/QueryPresetToggler/index.d.ts.map +0 -1
  73. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +0 -198
  74. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +0 -1
  75. package/dist/elements/QueryPresets/QueryPresetToggler/index.scss +0 -61
@@ -2,48 +2,19 @@
2
2
 
3
3
  @layer payload-default {
4
4
  .list-controls {
5
- display: flex;
6
- flex-direction: column;
7
- gap: 2px;
8
-
9
5
  &__wrap {
10
6
  display: flex;
11
7
  align-items: center;
12
- justify-content: space-between;
13
- gap: base(0.5);
14
8
  background-color: var(--theme-elevation-50);
15
9
  border-radius: var(--style-radius-m);
16
- }
17
-
18
- &__search {
19
- display: flex;
20
- background-color: var(--theme-elevation-50);
21
- border-radius: var(--style-radius-m);
22
- gap: base(0.4);
23
- flex-grow: 1;
24
- position: relative;
25
-
26
- .icon {
27
- flex-shrink: 0;
28
- }
29
- }
30
-
31
- .icon--search {
32
- position: absolute;
33
- left: 0;
34
- top: 50%;
35
- transform: translate3d(0, -50%, 0);
36
- inset-inline-start: base(0.4);
37
- z-index: 1;
38
- pointer-events: none;
10
+ padding: base(0.6);
11
+ gap: base(0.6);
39
12
  }
40
13
 
41
14
  .search-filter {
42
15
  flex-grow: 1;
43
16
 
44
17
  input {
45
- height: 46px;
46
- padding-left: 36px;
47
18
  margin: 0;
48
19
  }
49
20
  }
@@ -53,11 +24,14 @@
53
24
  border-radius: 0;
54
25
  }
55
26
 
56
- &__buttons {
27
+ &__modified {
28
+ color: var(--theme-elevation-500);
29
+ }
30
+
31
+ &__buttons-wrap {
57
32
  display: flex;
58
33
  align-items: center;
59
34
  gap: calc(var(--base) / 4);
60
- padding-right: 10px;
61
35
  }
62
36
 
63
37
  .pill-selector,
@@ -69,25 +43,34 @@
69
43
 
70
44
  @include small-break {
71
45
  &__wrap {
72
- flex-direction: column;
73
- align-items: stretch;
74
- background-color: transparent;
75
- border-radius: 0;
46
+ flex-wrap: wrap;
47
+ background-color: unset;
48
+ padding: 0;
49
+ position: relative;
50
+ }
51
+
52
+ .icon--search {
53
+ position: absolute;
54
+ top: base(0.4);
55
+ inset-inline-start: base(0.4);
56
+ z-index: 1;
76
57
  }
77
58
 
78
59
  .search-filter {
79
60
  width: 100%;
80
-
81
61
  input {
82
- height: 40px;
83
- padding: 0 base(1.5);
62
+ padding: base(0.4) base(2);
84
63
  }
85
64
  }
86
65
 
87
- &__buttons {
88
- padding-right: 0;
89
- margin: 0;
90
- width: 100%;
66
+ &__buttons-wrap {
67
+ [dir='ltr'] & {
68
+ margin-right: 0;
69
+ }
70
+
71
+ [dir='rtl'] & {
72
+ margin-left: 0;
73
+ }
91
74
 
92
75
  .pill {
93
76
  padding: base(0.2) base(0.2) base(0.2) base(0.4);
@@ -95,6 +78,11 @@
95
78
  }
96
79
  }
97
80
 
81
+ &__buttons {
82
+ margin: 0;
83
+ width: 100%;
84
+ }
85
+
98
86
  .pill-selector,
99
87
  .where-builder,
100
88
  .sort-complex {
@@ -0,0 +1,17 @@
1
+ import type { CollectionSlug, QueryPreset, SanitizedCollectionPermission } from 'payload';
2
+ import React from 'react';
3
+ export declare const useQueryPresets: ({ activePreset, collectionSlug, queryPresetPermissions, }: {
4
+ activePreset: QueryPreset;
5
+ collectionSlug: CollectionSlug;
6
+ queryPresetPermissions: SanitizedCollectionPermission;
7
+ }) => {
8
+ CreateNewPresetDrawer: React.ReactNode;
9
+ DeletePresetModal: React.ReactNode;
10
+ EditPresetDrawer: React.ReactNode;
11
+ hasModifiedPreset: boolean;
12
+ openPresetListDrawer: () => void;
13
+ PresetListDrawer: React.ReactNode;
14
+ queryPresetMenuItems: React.ReactNode[];
15
+ resetPreset: () => Promise<void>;
16
+ };
17
+ //# sourceMappingURL=useQueryPresets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useQueryPresets.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/useQueryPresets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA;AAKzF,OAAO,KAA+B,MAAM,OAAO,CAAA;AAiBnD,eAAO,MAAM,eAAe,8DAIzB;IACD,YAAY,EAAE,WAAW,CAAA;IACzB,cAAc,EAAE,cAAc,CAAA;IAC9B,sBAAsB,EAAE,6BAA6B,CAAA;CACtD,KAAG;IACF,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,oBAAoB,EAAE,MAAM,IAAI,CAAA;IAChC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,oBAAoB,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACvC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAqSjC,CAAA"}
@@ -1,25 +1,21 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useModal } from '@faceless-ui/modal';
3
3
  import { getTranslation } from '@payloadcms/translations';
4
4
  import { transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared';
5
- import React, { Fragment, useCallback, useMemo } from 'react';
5
+ import React, { useCallback, useMemo } from 'react';
6
6
  import { toast } from 'sonner';
7
- import { PlusIcon } from '../../../icons/Plus/index.js';
8
- import { useConfig } from '../../../providers/Config/index.js';
9
- import { useListQuery } from '../../../providers/ListQuery/context.js';
10
- import { useTranslation } from '../../../providers/Translation/index.js';
11
- import { ConfirmationModal } from '../../ConfirmationModal/index.js';
12
- import { useDocumentDrawer } from '../../DocumentDrawer/index.js';
13
- import { useListDrawer } from '../../ListDrawer/index.js';
14
- import { ListSelectionButton } from '../../ListSelection/index.js';
15
- import { Pill } from '../../Pill/index.js';
16
- import { Translation } from '../../Translation/index.js';
17
- import { QueryPresetToggler } from '../QueryPresetToggler/index.js';
18
- import './index.scss';
7
+ import { useConfig } from '../../providers/Config/index.js';
8
+ import { useListQuery } from '../../providers/ListQuery/context.js';
9
+ import { useTranslation } from '../../providers/Translation/index.js';
10
+ import { ConfirmationModal } from '../ConfirmationModal/index.js';
11
+ import { useDocumentDrawer } from '../DocumentDrawer/index.js';
12
+ import { useListDrawer } from '../ListDrawer/index.js';
13
+ import { PopupList } from '../Popup/index.js';
14
+ import { PopupListGroupLabel } from '../Popup/PopupGroupLabel/index.js';
15
+ import { Translation } from '../Translation/index.js';
19
16
  const confirmDeletePresetModalSlug = 'confirm-delete-preset';
20
17
  const queryPresetsSlug = 'payload-query-presets';
21
- const baseClass = 'query-preset-bar';
22
- export const QueryPresetBar = ({
18
+ export const useQueryPresets = ({
23
19
  activePreset,
24
20
  collectionSlug,
25
21
  queryPresetPermissions
@@ -161,68 +157,45 @@ export const QueryPresetBar = ({
161
157
  toast.error(t('error:unknown'));
162
158
  }
163
159
  }, [apiRoute, activePreset?.id, query.columns, query.where, t, presetConfig?.labels?.singular, i18n, setQueryModified]);
164
- const hasModifiedPreset = activePreset && modified;
165
- return /*#__PURE__*/_jsxs(Fragment, {
166
- children: [/*#__PURE__*/_jsxs("div", {
167
- className: baseClass,
168
- children: [/*#__PURE__*/_jsxs("div", {
169
- className: `${baseClass}__menu`,
170
- children: [/*#__PURE__*/_jsx(QueryPresetToggler, {
171
- activePreset: activePreset,
172
- openPresetListDrawer: openListDrawer,
173
- resetPreset: resetQueryPreset
174
- }), /*#__PURE__*/_jsx(Pill, {
175
- "aria-label": t('general:newLabel', {
176
- label: presetConfig?.labels?.singular
177
- }),
178
- className: `${baseClass}__create-new-preset`,
179
- icon: /*#__PURE__*/_jsx(PlusIcon, {}),
180
- id: "create-new-preset",
160
+ // Memoize so that components aren't re-rendered on query and column changes
161
+ const queryPresetMenuItems = useMemo(() => {
162
+ const hasModifiedPreset = activePreset && modified;
163
+ return [/*#__PURE__*/_jsx(PopupListGroupLabel, {
164
+ label: getTranslation(presetConfig?.labels?.plural, i18n)
165
+ }, "preset-group-label"), /*#__PURE__*/_jsxs(PopupList.ButtonGroup, {
166
+ children: [hasModifiedPreset && /*#__PURE__*/_jsx(PopupList.Button, {
167
+ onClick: async () => {
168
+ await refineListData({
169
+ columns: transformColumnsToSearchParams(activePreset.columns),
170
+ where: activePreset.where
171
+ }, false);
172
+ },
173
+ children: t('general:reset')
174
+ }), hasModifiedPreset && queryPresetPermissions.update && /*#__PURE__*/_jsx(PopupList.Button, {
175
+ onClick: async () => {
176
+ await saveCurrentChanges();
177
+ },
178
+ children: activePreset?.isShared ? t('general:updateForEveryone') : t('general:save')
179
+ }), /*#__PURE__*/_jsx(PopupList.Button, {
180
+ onClick: () => {
181
+ openCreateNewDrawer();
182
+ },
183
+ children: t('general:createNew')
184
+ }), activePreset && queryPresetPermissions?.delete && /*#__PURE__*/_jsxs(_Fragment, {
185
+ children: [/*#__PURE__*/_jsx(PopupList.Button, {
186
+ onClick: () => openModal(confirmDeletePresetModalSlug),
187
+ children: t('general:delete')
188
+ }), /*#__PURE__*/_jsx(PopupList.Button, {
181
189
  onClick: () => {
182
- openCreateNewDrawer();
190
+ openDocumentDrawer();
183
191
  },
184
- size: "small"
185
- })]
186
- }), /*#__PURE__*/_jsxs("div", {
187
- className: `${baseClass}__menu-items`,
188
- children: [hasModifiedPreset && /*#__PURE__*/_jsx(ListSelectionButton, {
189
- id: "reset-preset",
190
- onClick: async () => {
191
- await refineListData({
192
- columns: transformColumnsToSearchParams(activePreset.columns),
193
- where: activePreset.where
194
- }, false);
195
- },
196
- type: "button",
197
- children: t('general:reset')
198
- }, "reset"), hasModifiedPreset && queryPresetPermissions.update && /*#__PURE__*/_jsx(ListSelectionButton, {
199
- id: "save-preset",
200
- onClick: async () => {
201
- await saveCurrentChanges();
202
- },
203
- type: "button",
204
- children: activePreset?.isShared ? t('general:updateForEveryone') : t('fields:saveChanges')
205
- }, "save"), activePreset && queryPresetPermissions?.delete && /*#__PURE__*/_jsxs(Fragment, {
206
- children: [/*#__PURE__*/_jsx(ListSelectionButton, {
207
- id: "delete-preset",
208
- onClick: () => openModal(confirmDeletePresetModalSlug),
209
- type: "button",
210
- children: t('general:deleteLabel', {
211
- label: presetConfig?.labels?.singular
212
- })
213
- }), /*#__PURE__*/_jsx(ListSelectionButton, {
214
- id: "edit-preset",
215
- onClick: () => {
216
- openDocumentDrawer();
217
- },
218
- type: "button",
219
- children: t('general:editLabel', {
220
- label: presetConfig?.labels?.singular
221
- })
222
- })]
192
+ children: t('general:edit')
223
193
  })]
224
194
  })]
225
- }), /*#__PURE__*/_jsx(CreateNewPresetDrawer, {
195
+ }, "preset-group-buttons")];
196
+ }, [activePreset, queryPresetPermissions?.delete, queryPresetPermissions?.update, openCreateNewDrawer, openDocumentDrawer, openModal, saveCurrentChanges, t, refineListData, modified, presetConfig?.labels?.plural, i18n]);
197
+ return {
198
+ CreateNewPresetDrawer: /*#__PURE__*/_jsx(CreateNewPresetDrawer, {
226
199
  initialData: {
227
200
  columns: transformColumnsToPreferences(query.columns),
228
201
  relatedCollection: collectionSlug,
@@ -235,7 +208,8 @@ export const QueryPresetBar = ({
235
208
  await handlePresetChange(doc);
236
209
  },
237
210
  redirectAfterCreate: false
238
- }), /*#__PURE__*/_jsx(ConfirmationModal, {
211
+ }),
212
+ DeletePresetModal: /*#__PURE__*/_jsx(ConfirmationModal, {
239
213
  body: /*#__PURE__*/_jsx(Translation, {
240
214
  elements: {
241
215
  '1': ({
@@ -255,7 +229,8 @@ export const QueryPresetBar = ({
255
229
  heading: t('general:confirmDeletion'),
256
230
  modalSlug: confirmDeletePresetModalSlug,
257
231
  onConfirm: handleDeletePreset
258
- }), /*#__PURE__*/_jsx(PresetDocumentDrawer, {
232
+ }),
233
+ EditPresetDrawer: /*#__PURE__*/_jsx(PresetDocumentDrawer, {
259
234
  onDelete: () => {
260
235
  // setSelectedPreset(undefined)
261
236
  },
@@ -269,7 +244,10 @@ export const QueryPresetBar = ({
269
244
  }) => {
270
245
  await handlePresetChange(doc);
271
246
  }
272
- }), /*#__PURE__*/_jsx(ListDrawer, {
247
+ }),
248
+ hasModifiedPreset: modified,
249
+ openPresetListDrawer: openListDrawer,
250
+ PresetListDrawer: /*#__PURE__*/_jsx(ListDrawer, {
273
251
  allowCreate: false,
274
252
  disableQueryPresets: true,
275
253
  onSelect: async ({
@@ -278,7 +256,9 @@ export const QueryPresetBar = ({
278
256
  closeListDrawer();
279
257
  await handlePresetChange(doc);
280
258
  }
281
- })]
282
- });
259
+ }),
260
+ queryPresetMenuItems,
261
+ resetPreset: resetQueryPreset
262
+ };
283
263
  };
284
- //# sourceMappingURL=index.js.map
264
+ //# sourceMappingURL=useQueryPresets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useQueryPresets.js","names":["useModal","getTranslation","transformColumnsToPreferences","transformColumnsToSearchParams","React","useCallback","useMemo","toast","useConfig","useListQuery","useTranslation","ConfirmationModal","useDocumentDrawer","useListDrawer","PopupList","PopupListGroupLabel","Translation","confirmDeletePresetModalSlug","queryPresetsSlug","useQueryPresets","activePreset","collectionSlug","queryPresetPermissions","modified","query","refineListData","setModified","setQueryModified","i18n","t","openModal","config","routes","api","apiRoute","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","where","resetQueryPreset","handleDeletePreset","fetch","method","then","res","json","status","success","label","labels","singular","title","errors","forEach","error","message","_err","saveCurrentChanges","body","JSON","stringify","credentials","headers","queryPresetMenuItems","hasModifiedPreset","_jsx","plural","_jsxs","ButtonGroup","Button","onClick","update","isShared","delete","_Fragment","initialData","onSave","doc","redirectAfterCreate","DeletePresetModal","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm","EditPresetDrawer","onDelete","onDuplicate","openPresetListDrawer","PresetListDrawer","allowCreate","disableQueryPresets","onSelect","resetPreset"],"sources":["../../../src/elements/ListControls/useQueryPresets.tsx"],"sourcesContent":["import type { CollectionSlug, QueryPreset, SanitizedCollectionPermission } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\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 { PopupList } from '../Popup/index.js'\nimport { PopupListGroupLabel } from '../Popup/PopupGroupLabel/index.js'\nimport { Translation } from '../Translation/index.js'\n\nconst confirmDeletePresetModalSlug = 'confirm-delete-preset'\n\nconst queryPresetsSlug = 'payload-query-presets'\n\nexport const useQueryPresets = ({\n activePreset,\n collectionSlug,\n queryPresetPermissions,\n}: {\n activePreset: QueryPreset\n collectionSlug: CollectionSlug\n queryPresetPermissions: SanitizedCollectionPermission\n}): {\n CreateNewPresetDrawer: React.ReactNode\n DeletePresetModal: React.ReactNode\n EditPresetDrawer: React.ReactNode\n hasModifiedPreset: boolean\n openPresetListDrawer: () => void\n PresetListDrawer: React.ReactNode\n queryPresetMenuItems: React.ReactNode[]\n resetPreset: () => Promise<void>\n} => {\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 },\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 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 preset: '',\n where: {},\n },\n false,\n )\n }, [refineListData])\n\n const handleDeletePreset = useCallback(async () => {\n try {\n await fetch(`${apiRoute}/${queryPresetsSlug}/${activePreset.id}`, {\n method: 'DELETE',\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(`${apiRoute}/payload-query-presets/${activePreset.id}`, {\n body: JSON.stringify({\n columns: transformColumnsToPreferences(query.columns),\n where: query.where,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\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.where,\n t,\n presetConfig?.labels?.singular,\n i18n,\n setQueryModified,\n ])\n\n // Memoize so that components aren't re-rendered on query and column changes\n const queryPresetMenuItems = useMemo(() => {\n const hasModifiedPreset = activePreset && modified\n\n return [\n <PopupListGroupLabel\n key=\"preset-group-label\"\n label={getTranslation(presetConfig?.labels?.plural, i18n)}\n />,\n <PopupList.ButtonGroup key=\"preset-group-buttons\">\n {hasModifiedPreset && (\n <PopupList.Button\n onClick={async () => {\n await refineListData(\n {\n columns: transformColumnsToSearchParams(activePreset.columns),\n where: activePreset.where,\n },\n false,\n )\n }}\n >\n {t('general:reset')}\n </PopupList.Button>\n )}\n {hasModifiedPreset && queryPresetPermissions.update && (\n <PopupList.Button\n onClick={async () => {\n await saveCurrentChanges()\n }}\n >\n {activePreset?.isShared ? t('general:updateForEveryone') : t('general:save')}\n </PopupList.Button>\n )}\n <PopupList.Button\n onClick={() => {\n openCreateNewDrawer()\n }}\n >\n {t('general:createNew')}\n </PopupList.Button>\n {activePreset && queryPresetPermissions?.delete && (\n <>\n <PopupList.Button onClick={() => openModal(confirmDeletePresetModalSlug)}>\n {t('general:delete')}\n </PopupList.Button>\n <PopupList.Button\n onClick={() => {\n openDocumentDrawer()\n }}\n >\n {t('general:edit')}\n </PopupList.Button>\n </>\n )}\n </PopupList.ButtonGroup>,\n ]\n }, [\n activePreset,\n queryPresetPermissions?.delete,\n queryPresetPermissions?.update,\n openCreateNewDrawer,\n openDocumentDrawer,\n openModal,\n saveCurrentChanges,\n t,\n refineListData,\n modified,\n presetConfig?.labels?.plural,\n i18n,\n ])\n\n return {\n CreateNewPresetDrawer: (\n <CreateNewPresetDrawer\n initialData={{\n columns: transformColumnsToPreferences(query.columns),\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 ),\n DeletePresetModal: (\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 ),\n EditPresetDrawer: (\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 ),\n hasModifiedPreset: modified,\n openPresetListDrawer: openListDrawer,\n PresetListDrawer: (\n <ListDrawer\n allowCreate={false}\n disableQueryPresets\n onSelect={async ({ doc }) => {\n closeListDrawer()\n await handlePresetChange(doc as QueryPreset)\n }}\n />\n ),\n queryPresetMenuItems,\n resetPreset: resetQueryPreset,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -39,7 +39,7 @@
39
39
  outline-offset: var(--accessibility-outline-offset);
40
40
  }
41
41
 
42
- &__icon .icon {
42
+ .icon {
43
43
  flex-shrink: 0;
44
44
  width: var(--pill-icon-size);
45
45
  height: var(--pill-icon-size);
@@ -1 +1 @@
1
- {"version":3,"file":"OrderableTable.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAyB,MAAM,SAAS,CAAA;AAEpF,OAAO,cAAc,CAAA;AAGrB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAYlD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4L1C,CAAA"}
1
+ {"version":3,"file":"OrderableTable.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAyB,MAAM,SAAS,CAAA;AAEpF,OAAO,cAAc,CAAA;AAGrB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAYlD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2L1C,CAAA"}
@@ -88,9 +88,8 @@ export const OrderableTable = ({
88
88
  orderableFieldName,
89
89
  target
90
90
  };
91
- const response = await fetch(`${config.serverURL}${config.routes.api}/reorder`, {
91
+ const response = await fetch(`${config.routes.api}/reorder`, {
92
92
  body: JSON.stringify(jsonBody),
93
- credentials: 'include',
94
93
  headers: {
95
94
  'Content-Type': 'application/json'
96
95
  },
@@ -1 +1 @@
1
- {"version":3,"file":"OrderableTable.js","names":["DragOverlay","React","useEffect","useState","toast","useConfig","useListQuery","DraggableSortableItem","DraggableSortable","OrderableRow","OrderableRowDragPreview","baseClass","OrderableTable","appearance","BeforeTable","collection","columns","data","initialData","config","listQueryData","orderableFieldName","query","serverData","docs","localData","setLocalData","cellMap","setCellMap","dragActiveRowId","setDragActiveRowId","Object","fromEntries","map","item","index","String","id","_id","activeColumns","filter","col","active","includes","accessor","length","_jsx","handleDragEnd","moveFromIndex","moveToIndex","sort","warning","undefined","movedId","newBeforeRow","newAfterRow","previousData","currentData","newData","splice","target","key","newKeyWillBe","jsonBody","collectionSlug","slug","docsToMove","response","fetch","serverURL","routes","api","body","JSON","stringify","credentials","headers","method","status","Error","ok","json","err","error","message","handleDragStart","rowIds","row","_jsxs","className","Boolean","join","ids","onDragEnd","onDragStart","cellPadding","cellSpacing","i","Heading","rowIndex","children","attributes","isDragging","listeners","setNodeRef","transform","transition","dragAttributes","dragListeners","ref","rowId","style","opacity"],"sources":["../../../src/elements/Table/OrderableTable.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, Column, OrderableEndpointBody } from 'payload'\n\nimport './index.scss'\n\nimport { DragOverlay } from '@dnd-kit/core'\nimport React, { useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { DraggableSortableItem } from '../DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { OrderableRow } from './OrderableRow.js'\nimport { OrderableRowDragPreview } from './OrderableRowDragPreview.js'\n\nconst baseClass = 'table'\n\nexport type Props = {\n readonly appearance?: 'condensed' | 'default'\n readonly BeforeTable?: React.ReactNode\n readonly collection: ClientCollectionConfig\n readonly columns?: Column[]\n readonly data: Record<string, unknown>[]\n readonly heading?: React.ReactNode\n}\n\nexport const OrderableTable: React.FC<Props> = ({\n appearance = 'default',\n BeforeTable,\n collection,\n columns,\n data: initialData,\n}) => {\n const { config } = useConfig()\n const { data: listQueryData, orderableFieldName, query } = useListQuery()\n // Use the data from ListQueryProvider if available, otherwise use the props\n const serverData = listQueryData?.docs || initialData\n\n // Local state to track the current order of rows\n const [localData, setLocalData] = useState(serverData)\n\n // id -> index for each column\n const [cellMap, setCellMap] = useState<Record<string, number>>({})\n\n const [dragActiveRowId, setDragActiveRowId] = useState<number | string | undefined>()\n\n // Update local data when server data changes\n useEffect(() => {\n setLocalData(serverData)\n setCellMap(\n Object.fromEntries(serverData.map((item, index) => [String(item.id ?? item._id), index])),\n )\n }, [serverData])\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (\n !activeColumns ||\n activeColumns.filter((col) => !['_dragHandle', '_select'].includes(col.accessor)).length === 0\n ) {\n return <div>No columns selected</div>\n }\n\n const handleDragEnd = async ({ moveFromIndex, moveToIndex }) => {\n if (query.sort !== orderableFieldName && query.sort !== `-${orderableFieldName}`) {\n toast.warning('To reorder the rows you must first sort them by the \"Order\" column')\n setDragActiveRowId(undefined)\n return\n }\n\n if (moveFromIndex === moveToIndex) {\n setDragActiveRowId(undefined)\n return\n }\n\n const movedId = localData[moveFromIndex].id ?? localData[moveFromIndex]._id\n const newBeforeRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex] : localData[moveToIndex - 1]\n const newAfterRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex + 1] : localData[moveToIndex]\n\n // Store the original data for rollback\n const previousData = [...localData]\n\n // Optimisitc update of local state to reorder the rows\n setLocalData((currentData) => {\n const newData = [...currentData]\n // Update the rendered cell for the moved row to show \"pending\"\n newData[moveFromIndex][orderableFieldName] = `pending`\n // Move the item in the array\n newData.splice(moveToIndex, 0, newData.splice(moveFromIndex, 1)[0])\n return newData\n })\n\n try {\n const target: OrderableEndpointBody['target'] = newBeforeRow\n ? {\n id: newBeforeRow.id ?? newBeforeRow._id,\n key: newBeforeRow[orderableFieldName],\n }\n : {\n id: newAfterRow.id ?? newAfterRow._id,\n key: newAfterRow[orderableFieldName],\n }\n\n const newKeyWillBe =\n (newBeforeRow && query.sort === orderableFieldName) ||\n (!newBeforeRow && query.sort === `-${orderableFieldName}`)\n ? 'greater'\n : 'less'\n\n const jsonBody: OrderableEndpointBody = {\n collectionSlug: collection.slug,\n docsToMove: [movedId],\n newKeyWillBe,\n orderableFieldName,\n target,\n }\n\n const response = await fetch(`${config.serverURL}${config.routes.api}/reorder`, {\n body: JSON.stringify(jsonBody),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (response.status === 403) {\n throw new Error('You do not have permission to reorder these rows')\n }\n\n if (!response.ok) {\n throw new Error(\n 'Failed to reorder. This can happen if you reorder several rows too quickly. Please try again.',\n )\n }\n\n if (response.status === 200 && (await response.json())['message'] === 'initial migration') {\n throw new Error(\n 'You have enabled \"orderable\" on a collection with existing documents' +\n 'and this is the first time you have sorted documents. We have run an automatic migration ' +\n 'to add an initial order to the documents. Please refresh the page and try again.',\n )\n }\n } catch (err) {\n const error = err instanceof Error ? err.message : String(err)\n // Rollback to previous state if the request fails\n setLocalData(previousData)\n toast.error(error)\n } finally {\n setDragActiveRowId(undefined)\n }\n }\n\n const handleDragStart = ({ id }) => {\n setDragActiveRowId(id)\n }\n\n const rowIds = localData.map((row) => row.id ?? row._id)\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeTable}\n <DraggableSortable ids={rowIds} onDragEnd={handleDragEnd} onDragStart={handleDragStart}>\n <table cellPadding=\"0\" cellSpacing=\"0\">\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {localData.map((row, rowIndex) => (\n <DraggableSortableItem id={rowIds[rowIndex]} key={rowIds[rowIndex]}>\n {({ attributes, isDragging, listeners, setNodeRef, transform, transition }) => (\n <OrderableRow\n cellMap={cellMap}\n className={`row-${rowIndex + 1}`}\n columns={activeColumns}\n dragAttributes={attributes}\n dragListeners={listeners}\n ref={setNodeRef}\n rowId={row.id ?? row._id}\n style={{\n opacity: isDragging ? 0 : 1,\n transform,\n transition,\n }}\n />\n )}\n </DraggableSortableItem>\n ))}\n </tbody>\n </table>\n\n <DragOverlay>\n <OrderableRowDragPreview\n className={[baseClass, `${baseClass}--drag-preview`].join(' ')}\n rowId={dragActiveRowId}\n >\n <OrderableRow cellMap={cellMap} columns={activeColumns} rowId={dragActiveRowId} />\n </OrderableRowDragPreview>\n </DragOverlay>\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OrderableTable.js","names":["DragOverlay","React","useEffect","useState","toast","useConfig","useListQuery","DraggableSortableItem","DraggableSortable","OrderableRow","OrderableRowDragPreview","baseClass","OrderableTable","appearance","BeforeTable","collection","columns","data","initialData","config","listQueryData","orderableFieldName","query","serverData","docs","localData","setLocalData","cellMap","setCellMap","dragActiveRowId","setDragActiveRowId","Object","fromEntries","map","item","index","String","id","_id","activeColumns","filter","col","active","includes","accessor","length","_jsx","handleDragEnd","moveFromIndex","moveToIndex","sort","warning","undefined","movedId","newBeforeRow","newAfterRow","previousData","currentData","newData","splice","target","key","newKeyWillBe","jsonBody","collectionSlug","slug","docsToMove","response","fetch","routes","api","body","JSON","stringify","headers","method","status","Error","ok","json","err","error","message","handleDragStart","rowIds","row","_jsxs","className","Boolean","join","ids","onDragEnd","onDragStart","cellPadding","cellSpacing","i","Heading","rowIndex","children","attributes","isDragging","listeners","setNodeRef","transform","transition","dragAttributes","dragListeners","ref","rowId","style","opacity"],"sources":["../../../src/elements/Table/OrderableTable.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, Column, OrderableEndpointBody } from 'payload'\n\nimport './index.scss'\n\nimport { DragOverlay } from '@dnd-kit/core'\nimport React, { useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { DraggableSortableItem } from '../DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { OrderableRow } from './OrderableRow.js'\nimport { OrderableRowDragPreview } from './OrderableRowDragPreview.js'\n\nconst baseClass = 'table'\n\nexport type Props = {\n readonly appearance?: 'condensed' | 'default'\n readonly BeforeTable?: React.ReactNode\n readonly collection: ClientCollectionConfig\n readonly columns?: Column[]\n readonly data: Record<string, unknown>[]\n readonly heading?: React.ReactNode\n}\n\nexport const OrderableTable: React.FC<Props> = ({\n appearance = 'default',\n BeforeTable,\n collection,\n columns,\n data: initialData,\n}) => {\n const { config } = useConfig()\n const { data: listQueryData, orderableFieldName, query } = useListQuery()\n // Use the data from ListQueryProvider if available, otherwise use the props\n const serverData = listQueryData?.docs || initialData\n\n // Local state to track the current order of rows\n const [localData, setLocalData] = useState(serverData)\n\n // id -> index for each column\n const [cellMap, setCellMap] = useState<Record<string, number>>({})\n\n const [dragActiveRowId, setDragActiveRowId] = useState<number | string | undefined>()\n\n // Update local data when server data changes\n useEffect(() => {\n setLocalData(serverData)\n setCellMap(\n Object.fromEntries(serverData.map((item, index) => [String(item.id ?? item._id), index])),\n )\n }, [serverData])\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (\n !activeColumns ||\n activeColumns.filter((col) => !['_dragHandle', '_select'].includes(col.accessor)).length === 0\n ) {\n return <div>No columns selected</div>\n }\n\n const handleDragEnd = async ({ moveFromIndex, moveToIndex }) => {\n if (query.sort !== orderableFieldName && query.sort !== `-${orderableFieldName}`) {\n toast.warning('To reorder the rows you must first sort them by the \"Order\" column')\n setDragActiveRowId(undefined)\n return\n }\n\n if (moveFromIndex === moveToIndex) {\n setDragActiveRowId(undefined)\n return\n }\n\n const movedId = localData[moveFromIndex].id ?? localData[moveFromIndex]._id\n const newBeforeRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex] : localData[moveToIndex - 1]\n const newAfterRow =\n moveToIndex > moveFromIndex ? localData[moveToIndex + 1] : localData[moveToIndex]\n\n // Store the original data for rollback\n const previousData = [...localData]\n\n // Optimisitc update of local state to reorder the rows\n setLocalData((currentData) => {\n const newData = [...currentData]\n // Update the rendered cell for the moved row to show \"pending\"\n newData[moveFromIndex][orderableFieldName] = `pending`\n // Move the item in the array\n newData.splice(moveToIndex, 0, newData.splice(moveFromIndex, 1)[0])\n return newData\n })\n\n try {\n const target: OrderableEndpointBody['target'] = newBeforeRow\n ? {\n id: newBeforeRow.id ?? newBeforeRow._id,\n key: newBeforeRow[orderableFieldName],\n }\n : {\n id: newAfterRow.id ?? newAfterRow._id,\n key: newAfterRow[orderableFieldName],\n }\n\n const newKeyWillBe =\n (newBeforeRow && query.sort === orderableFieldName) ||\n (!newBeforeRow && query.sort === `-${orderableFieldName}`)\n ? 'greater'\n : 'less'\n\n const jsonBody: OrderableEndpointBody = {\n collectionSlug: collection.slug,\n docsToMove: [movedId],\n newKeyWillBe,\n orderableFieldName,\n target,\n }\n\n const response = await fetch(`${config.routes.api}/reorder`, {\n body: JSON.stringify(jsonBody),\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n })\n\n if (response.status === 403) {\n throw new Error('You do not have permission to reorder these rows')\n }\n\n if (!response.ok) {\n throw new Error(\n 'Failed to reorder. This can happen if you reorder several rows too quickly. Please try again.',\n )\n }\n\n if (response.status === 200 && (await response.json())['message'] === 'initial migration') {\n throw new Error(\n 'You have enabled \"orderable\" on a collection with existing documents' +\n 'and this is the first time you have sorted documents. We have run an automatic migration ' +\n 'to add an initial order to the documents. Please refresh the page and try again.',\n )\n }\n } catch (err) {\n const error = err instanceof Error ? err.message : String(err)\n // Rollback to previous state if the request fails\n setLocalData(previousData)\n toast.error(error)\n } finally {\n setDragActiveRowId(undefined)\n }\n }\n\n const handleDragStart = ({ id }) => {\n setDragActiveRowId(id)\n }\n\n const rowIds = localData.map((row) => row.id ?? row._id)\n\n return (\n <div\n className={[baseClass, appearance && `${baseClass}--appearance-${appearance}`]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeTable}\n <DraggableSortable ids={rowIds} onDragEnd={handleDragEnd} onDragStart={handleDragStart}>\n <table cellPadding=\"0\" cellSpacing=\"0\">\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {localData.map((row, rowIndex) => (\n <DraggableSortableItem id={rowIds[rowIndex]} key={rowIds[rowIndex]}>\n {({ attributes, isDragging, listeners, setNodeRef, transform, transition }) => (\n <OrderableRow\n cellMap={cellMap}\n className={`row-${rowIndex + 1}`}\n columns={activeColumns}\n dragAttributes={attributes}\n dragListeners={listeners}\n ref={setNodeRef}\n rowId={row.id ?? row._id}\n style={{\n opacity: isDragging ? 0 : 1,\n transform,\n transition,\n }}\n />\n )}\n </DraggableSortableItem>\n ))}\n </tbody>\n </table>\n\n <DragOverlay>\n <OrderableRowDragPreview\n className={[baseClass, `${baseClass}--drag-preview`].join(' ')}\n rowId={dragActiveRowId}\n >\n <OrderableRow cellMap={cellMap} columns={activeColumns} rowId={dragActiveRowId} />\n </OrderableRowDragPreview>\n </DragOverlay>\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIhF,OAAO,KAA6D,MAAM,OAAO,CAAA;AAiBjF,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAkDnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAYxC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwa9C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIhF,OAAO,KAA6D,MAAM,OAAO,CAAA;AAiBjF,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAkDnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAYxC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4a9C,CAAA"}
@@ -170,8 +170,8 @@ export const Upload_v4 = props => {
170
170
  } = useForm();
171
171
  const {
172
172
  id,
173
- data,
174
173
  docPermissions,
174
+ savedDocumentData,
175
175
  setUploadStatus
176
176
  } = useDocumentInfo();
177
177
  const isFormSubmitting = useFormProcessing();
@@ -312,7 +312,7 @@ export const Upload_v4 = props => {
312
312
  } = uploadConfig;
313
313
  const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled);
314
314
  const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ');
315
- const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt;
315
+ const imageCacheTag = uploadConfig?.cacheTags && savedDocumentData?.updatedAt;
316
316
  useEffect(() => {
317
317
  const handleControlFileUrl = async () => {
318
318
  if (uploadControlFileUrl) {
@@ -335,17 +335,17 @@ export const Upload_v4 = props => {
335
335
  children: [/*#__PURE__*/_jsx(FieldError, {
336
336
  message: errorMessage,
337
337
  showError: showError
338
- }), data && data.filename && !removedFile && /*#__PURE__*/_jsx(FileDetails, {
338
+ }), savedDocumentData && savedDocumentData.filename && !removedFile && /*#__PURE__*/_jsx(FileDetails, {
339
339
  collectionSlug: collectionSlug,
340
340
  customUploadActions: customActions,
341
- doc: data,
341
+ doc: savedDocumentData,
342
342
  enableAdjustments: showCrop || showFocalPoint,
343
343
  handleRemove: canRemoveUpload ? handleFileRemoval : undefined,
344
344
  hasImageSizes: hasImageSizes,
345
345
  hideRemoveFile: uploadConfig.hideRemoveFile,
346
346
  imageCacheTag: imageCacheTag,
347
347
  uploadConfig: uploadConfig
348
- }), (!uploadConfig.hideFileInputOnCreate && !data?.filename || removedFile) && /*#__PURE__*/_jsxs("div", {
348
+ }), (!uploadConfig.hideFileInputOnCreate && !savedDocumentData?.filename || removedFile) && /*#__PURE__*/_jsxs("div", {
349
349
  className: `${baseClass}__upload`,
350
350
  children: [!value && !showUrlInput && /*#__PURE__*/_jsx(Dropzone, {
351
351
  onChange: handleFileSelection,
@@ -450,7 +450,7 @@ export const Upload_v4 = props => {
450
450
  }), /*#__PURE__*/_jsx(UploadActions, {
451
451
  customActions: customActions,
452
452
  enableAdjustments: showCrop || showFocalPoint,
453
- enablePreviewSizes: hasImageSizes && data?.filename && !removedFile,
453
+ enablePreviewSizes: hasImageSizes && savedDocumentData?.filename && !removedFile,
454
454
  mimeType: value.type
455
455
  })]
456
456
  }), /*#__PURE__*/_jsx(Button, {
@@ -463,33 +463,33 @@ export const Upload_v4 = props => {
463
463
  tooltip: t('general:cancel')
464
464
  })]
465
465
  })]
466
- }), (value || data?.filename) && /*#__PURE__*/_jsx(EditDepthProvider, {
466
+ }), (value || savedDocumentData?.filename) && /*#__PURE__*/_jsx(EditDepthProvider, {
467
467
  children: /*#__PURE__*/_jsx(Drawer, {
468
468
  Header: null,
469
469
  slug: editDrawerSlug,
470
470
  children: /*#__PURE__*/_jsx(EditUpload, {
471
- fileName: value?.name || data?.filename,
472
- fileSrc: data?.url || fileSrc,
471
+ fileName: value?.name || savedDocumentData?.filename,
472
+ fileSrc: savedDocumentData?.url || fileSrc,
473
473
  imageCacheTag: imageCacheTag,
474
474
  initialCrop: uploadEdits?.crop ?? undefined,
475
475
  initialFocalPoint: {
476
- x: uploadEdits?.focalPoint?.x || data?.focalX || 50,
477
- y: uploadEdits?.focalPoint?.y || data?.focalY || 50
476
+ x: uploadEdits?.focalPoint?.x || savedDocumentData?.focalX || 50,
477
+ y: uploadEdits?.focalPoint?.y || savedDocumentData?.focalY || 50
478
478
  },
479
479
  onSave: onEditsSave,
480
480
  showCrop: showCrop,
481
481
  showFocalPoint: showFocalPoint
482
482
  })
483
483
  })
484
- }), data && hasImageSizes && /*#__PURE__*/_jsx(Drawer, {
484
+ }), savedDocumentData && hasImageSizes && /*#__PURE__*/_jsx(Drawer, {
485
485
  className: `${baseClass}__previewDrawer`,
486
486
  hoverTitle: true,
487
487
  slug: sizePreviewSlug,
488
488
  title: t('upload:sizesFor', {
489
- label: data.filename
489
+ label: savedDocumentData.filename
490
490
  }),
491
491
  children: /*#__PURE__*/_jsx(PreviewSizes, {
492
- doc: data,
492
+ doc: savedDocumentData,
493
493
  imageCacheTag: imageCacheTag,
494
494
  uploadConfig: uploadConfig
495
495
  })