@payloadcms/ui 3.26.0 → 3.27.0-canary.7edf702

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 (234) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +1 -1
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  6. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  7. package/dist/elements/ColumnSelector/index.js +1 -1
  8. package/dist/elements/ColumnSelector/index.js.map +1 -1
  9. package/dist/elements/ColumnSelector/index.scss +2 -3
  10. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  11. package/dist/elements/DeleteDocument/index.js +2 -3
  12. package/dist/elements/DeleteDocument/index.js.map +1 -1
  13. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  14. package/dist/elements/DeleteMany/index.js +1 -1
  15. package/dist/elements/DeleteMany/index.js.map +1 -1
  16. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  17. package/dist/elements/DocumentControls/index.js +1 -1
  18. package/dist/elements/DocumentControls/index.js.map +1 -1
  19. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  20. package/dist/elements/DocumentDrawer/DrawerContent.js +2 -1
  21. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  22. package/dist/elements/DocumentDrawer/types.d.ts +4 -0
  23. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  24. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  25. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  26. package/dist/elements/DuplicateDocument/index.js +1 -1
  27. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  28. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  29. package/dist/elements/EditMany/DrawerContent.js +1 -1
  30. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  31. package/dist/elements/ListControls/ActiveListPreset/index.d.ts +8 -0
  32. package/dist/elements/ListControls/ActiveListPreset/index.d.ts.map +1 -0
  33. package/dist/elements/ListControls/ActiveListPreset/index.js +102 -0
  34. package/dist/elements/ListControls/ActiveListPreset/index.js.map +1 -0
  35. package/dist/elements/ListControls/ActiveListPreset/index.scss +21 -0
  36. package/dist/elements/ListControls/index.d.ts +1 -24
  37. package/dist/elements/ListControls/index.d.ts.map +1 -1
  38. package/dist/elements/ListControls/index.js +112 -86
  39. package/dist/elements/ListControls/index.js.map +1 -1
  40. package/dist/elements/ListControls/index.scss +5 -9
  41. package/dist/elements/ListControls/types.d.ts +28 -0
  42. package/dist/elements/ListControls/types.d.ts.map +1 -0
  43. package/dist/elements/ListControls/types.js.map +1 -0
  44. package/dist/elements/ListControls/useListPresets.d.ts +16 -0
  45. package/dist/elements/ListControls/useListPresets.d.ts.map +1 -0
  46. package/dist/elements/ListControls/useListPresets.js +253 -0
  47. package/dist/elements/ListControls/useListPresets.js.map +1 -0
  48. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  49. package/dist/elements/ListDrawer/DrawerContent.js +4 -2
  50. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  51. package/dist/elements/ListDrawer/types.d.ts +3 -2
  52. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  53. package/dist/elements/ListDrawer/types.js.map +1 -1
  54. package/dist/elements/ListPresets/cells/AccessCell/index.d.ts +4 -0
  55. package/dist/elements/ListPresets/cells/AccessCell/index.d.ts.map +1 -0
  56. package/dist/elements/ListPresets/cells/AccessCell/index.js +25 -0
  57. package/dist/elements/ListPresets/cells/AccessCell/index.js.map +1 -0
  58. package/dist/elements/ListPresets/cells/ColumnsCell/index.d.ts +4 -0
  59. package/dist/elements/ListPresets/cells/ColumnsCell/index.d.ts.map +1 -0
  60. package/dist/elements/ListPresets/cells/ColumnsCell/index.js +11 -0
  61. package/dist/elements/ListPresets/cells/ColumnsCell/index.js.map +1 -0
  62. package/dist/elements/ListPresets/cells/WhereCell/index.d.ts +4 -0
  63. package/dist/elements/ListPresets/cells/WhereCell/index.d.ts.map +1 -0
  64. package/dist/elements/ListPresets/cells/WhereCell/index.js +23 -0
  65. package/dist/elements/ListPresets/cells/WhereCell/index.js.map +1 -0
  66. package/dist/elements/ListPresets/fields/AccessLabel/index.d.ts +3 -0
  67. package/dist/elements/ListPresets/fields/AccessLabel/index.d.ts.map +1 -0
  68. package/dist/elements/ListPresets/fields/AccessLabel/index.js +19 -0
  69. package/dist/elements/ListPresets/fields/AccessLabel/index.js.map +1 -0
  70. package/dist/elements/ListPresets/fields/ColumnsField/index.d.ts +4 -0
  71. package/dist/elements/ListPresets/fields/ColumnsField/index.d.ts.map +1 -0
  72. package/dist/elements/ListPresets/fields/ColumnsField/index.js +64 -0
  73. package/dist/elements/ListPresets/fields/ColumnsField/index.js.map +1 -0
  74. package/dist/elements/ListPresets/fields/ColumnsField/index.scss +28 -0
  75. package/dist/elements/ListPresets/fields/WhereField/index.d.ts +4 -0
  76. package/dist/elements/ListPresets/fields/WhereField/index.d.ts.map +1 -0
  77. package/dist/elements/ListPresets/fields/WhereField/index.js +118 -0
  78. package/dist/elements/ListPresets/fields/WhereField/index.js.map +1 -0
  79. package/dist/elements/ListPresets/fields/WhereField/index.scss +23 -0
  80. package/dist/elements/Logout/index.d.ts.map +1 -1
  81. package/dist/elements/Logout/index.js +1 -1
  82. package/dist/elements/Logout/index.js.map +1 -1
  83. package/dist/elements/Pill/index.d.ts +1 -1
  84. package/dist/elements/Pill/index.d.ts.map +1 -1
  85. package/dist/elements/Pill/index.js +2 -0
  86. package/dist/elements/Pill/index.js.map +1 -1
  87. package/dist/elements/Pill/index.scss +29 -6
  88. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  89. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  90. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  91. package/dist/elements/RelationshipTable/index.js +3 -4
  92. package/dist/elements/RelationshipTable/index.js.map +1 -1
  93. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  94. package/dist/elements/StayLoggedIn/index.js +1 -1
  95. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  96. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  97. package/dist/elements/Table/DefaultCell/index.js +1 -2
  98. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  99. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  100. package/dist/elements/WhereBuilder/index.js +1 -2
  101. package/dist/elements/WhereBuilder/index.js.map +1 -1
  102. package/dist/exports/client/index.d.ts +8 -2
  103. package/dist/exports/client/index.d.ts.map +1 -1
  104. package/dist/exports/client/index.js +11 -11
  105. package/dist/exports/client/index.js.map +4 -4
  106. package/dist/exports/shared/index.d.ts +8 -3
  107. package/dist/exports/shared/index.d.ts.map +1 -1
  108. package/dist/exports/shared/index.js +2 -2
  109. package/dist/exports/shared/index.js.map +4 -4
  110. package/dist/graphics/Account/index.d.ts.map +1 -1
  111. package/dist/graphics/Account/index.js +1 -1
  112. package/dist/graphics/Account/index.js.map +1 -1
  113. package/dist/icons/Chevron/index.d.ts +1 -0
  114. package/dist/icons/Chevron/index.d.ts.map +1 -1
  115. package/dist/icons/Chevron/index.js +2 -0
  116. package/dist/icons/Chevron/index.js.map +1 -1
  117. package/dist/icons/Dots/index.d.ts +2 -0
  118. package/dist/icons/Dots/index.d.ts.map +1 -1
  119. package/dist/icons/Dots/index.js +5 -2
  120. package/dist/icons/Dots/index.js.map +1 -1
  121. package/dist/icons/Dots/index.scss +14 -0
  122. package/dist/icons/People/index.d.ts +6 -0
  123. package/dist/icons/People/index.d.ts.map +1 -0
  124. package/dist/icons/People/index.js +18 -0
  125. package/dist/icons/People/index.js.map +1 -0
  126. package/dist/icons/People/index.scss +11 -0
  127. package/dist/providers/Auth/index.d.ts.map +1 -1
  128. package/dist/providers/Auth/index.js +1 -1
  129. package/dist/providers/Auth/index.js.map +1 -1
  130. package/dist/providers/DocumentInfo/types.d.ts +1 -0
  131. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  132. package/dist/providers/DocumentInfo/types.js.map +1 -1
  133. package/dist/providers/ListQuery/context.d.ts +2 -0
  134. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  135. package/dist/providers/ListQuery/context.js +2 -0
  136. package/dist/providers/ListQuery/context.js.map +1 -1
  137. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  138. package/dist/providers/ListQuery/index.js +25 -13
  139. package/dist/providers/ListQuery/index.js.map +1 -1
  140. package/dist/providers/ListQuery/types.d.ts +5 -2
  141. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  142. package/dist/providers/ListQuery/types.js.map +1 -1
  143. package/dist/providers/Preferences/index.d.ts.map +1 -1
  144. package/dist/providers/Preferences/index.js.map +1 -1
  145. package/dist/providers/ServerFunctions/index.d.ts +1 -0
  146. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  147. package/dist/providers/ServerFunctions/index.js.map +1 -1
  148. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  149. package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.js +2 -2
  150. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -0
  151. package/dist/{elements → providers}/TableColumns/buildColumnState.d.ts +1 -1
  152. package/dist/providers/TableColumns/buildColumnState.d.ts.map +1 -0
  153. package/dist/{elements → providers}/TableColumns/buildColumnState.js +1 -1
  154. package/dist/providers/TableColumns/buildColumnState.js.map +1 -0
  155. package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.d.ts +1 -1
  156. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
  157. package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.js +1 -1
  158. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +1 -0
  159. package/dist/{elements → providers}/TableColumns/context.d.ts +2 -0
  160. package/dist/providers/TableColumns/context.d.ts.map +1 -0
  161. package/dist/providers/TableColumns/context.js +6 -0
  162. package/dist/providers/TableColumns/context.js.map +1 -0
  163. package/dist/providers/TableColumns/filterFields.d.ts.map +1 -0
  164. package/dist/providers/TableColumns/filterFields.js.map +1 -0
  165. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -0
  166. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -0
  167. package/dist/providers/TableColumns/index.d.ts.map +1 -0
  168. package/dist/{elements → providers}/TableColumns/index.js +20 -6
  169. package/dist/providers/TableColumns/index.js.map +1 -0
  170. package/dist/{elements → providers}/TableColumns/types.d.ts +3 -1
  171. package/dist/providers/TableColumns/types.d.ts.map +1 -0
  172. package/dist/providers/TableColumns/types.js +2 -0
  173. package/dist/providers/TableColumns/types.js.map +1 -0
  174. package/dist/styles.css +1 -1
  175. package/dist/utilities/formatAdminURL.d.ts +1 -7
  176. package/dist/utilities/formatAdminURL.d.ts.map +1 -1
  177. package/dist/utilities/formatAdminURL.js +1 -18
  178. package/dist/utilities/formatAdminURL.js.map +1 -1
  179. package/dist/utilities/handleBackToDashboard.js +1 -1
  180. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  181. package/dist/utilities/handleGoBack.js +1 -1
  182. package/dist/utilities/handleGoBack.js.map +1 -1
  183. package/dist/utilities/renderTable.js +4 -4
  184. package/dist/utilities/renderTable.js.map +1 -1
  185. package/dist/utilities/upsertPreferences.d.ts +7 -2
  186. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  187. package/dist/utilities/upsertPreferences.js +11 -5
  188. package/dist/utilities/upsertPreferences.js.map +1 -1
  189. package/dist/views/Edit/SetDocumentStepNav/index.js +1 -1
  190. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  191. package/dist/views/Edit/index.d.ts.map +1 -1
  192. package/dist/views/Edit/index.js +4 -3
  193. package/dist/views/Edit/index.js.map +1 -1
  194. package/dist/views/List/index.d.ts.map +1 -1
  195. package/dist/views/List/index.js +7 -1
  196. package/dist/views/List/index.js.map +1 -1
  197. package/package.json +5 -5
  198. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +0 -1
  199. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +0 -1
  200. package/dist/elements/TableColumns/buildColumnState.d.ts.map +0 -1
  201. package/dist/elements/TableColumns/buildColumnState.js.map +0 -1
  202. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
  203. package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +0 -1
  204. package/dist/elements/TableColumns/context.d.ts.map +0 -1
  205. package/dist/elements/TableColumns/context.js +0 -4
  206. package/dist/elements/TableColumns/context.js.map +0 -1
  207. package/dist/elements/TableColumns/filterFields.d.ts.map +0 -1
  208. package/dist/elements/TableColumns/filterFields.js.map +0 -1
  209. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +0 -1
  210. package/dist/elements/TableColumns/getInitialColumns.js.map +0 -1
  211. package/dist/elements/TableColumns/index.d.ts.map +0 -1
  212. package/dist/elements/TableColumns/index.js.map +0 -1
  213. package/dist/elements/TableColumns/types.d.ts.map +0 -1
  214. package/dist/elements/TableColumns/types.js.map +0 -1
  215. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +0 -8
  216. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +0 -1
  217. package/dist/elements/WhereBuilder/transformWhereQuery.js +0 -45
  218. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +0 -1
  219. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +0 -4
  220. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +0 -1
  221. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -36
  222. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +0 -1
  223. package/dist/utilities/mergeListSearchAndWhere.d.ts +0 -10
  224. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +0 -1
  225. package/dist/utilities/mergeListSearchAndWhere.js +0 -47
  226. package/dist/utilities/mergeListSearchAndWhere.js.map +0 -1
  227. /package/dist/elements/{TableColumns → ListControls}/types.js +0 -0
  228. /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.d.ts +0 -0
  229. /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.scss +0 -0
  230. /package/dist/{elements → providers}/TableColumns/filterFields.d.ts +0 -0
  231. /package/dist/{elements → providers}/TableColumns/filterFields.js +0 -0
  232. /package/dist/{elements → providers}/TableColumns/getInitialColumns.d.ts +0 -0
  233. /package/dist/{elements → providers}/TableColumns/getInitialColumns.js +0 -0
  234. /package/dist/{elements → providers}/TableColumns/index.d.ts +0 -0
@@ -0,0 +1,253 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useModal } from '@faceless-ui/modal';
3
+ import { getTranslation } from '@payloadcms/translations';
4
+ import { transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared';
5
+ import { Fragment, useCallback } from 'react';
6
+ import { toast } from 'sonner';
7
+ import { useConfig } from '../../providers/Config/index.js';
8
+ import { useListQuery } from '../../providers/ListQuery/context.js';
9
+ import { useTableColumns } from '../../providers/TableColumns/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 { PopupList } from '../Popup/index.js';
15
+ import { Translation } from '../Translation/index.js';
16
+ const confirmDeletePresetModalSlug = 'confirm-delete-preset';
17
+ const listPresetsSlug = 'payload-list-presets';
18
+ export const useListPresets = ({
19
+ activePreset,
20
+ collectionSlug,
21
+ listPresetPermissions
22
+ }) => {
23
+ const {
24
+ modified: listQueryModified,
25
+ query,
26
+ refineListData,
27
+ setModified: setQueryModified
28
+ } = useListQuery();
29
+ const {
30
+ i18n,
31
+ t
32
+ } = useTranslation();
33
+ const {
34
+ openModal
35
+ } = useModal();
36
+ const {
37
+ modified: columnsModified,
38
+ setModified: setColumnsModified
39
+ } = useTableColumns();
40
+ const hasModified = listQueryModified || columnsModified;
41
+ const {
42
+ config: {
43
+ routes: {
44
+ api: apiRoute
45
+ }
46
+ },
47
+ getEntityConfig
48
+ } = useConfig();
49
+ const presetConfig = getEntityConfig({
50
+ collectionSlug: listPresetsSlug
51
+ });
52
+ const [PresetDocumentDrawer,, {
53
+ openDrawer: openDocumentDrawer
54
+ }] = useDocumentDrawer({
55
+ id: activePreset?.id,
56
+ collectionSlug: listPresetsSlug
57
+ });
58
+ const [CreateNewPresetDrawer,, {
59
+ closeDrawer: closeCreateNewDrawer,
60
+ openDrawer: openCreateNewDrawer
61
+ }] = useDocumentDrawer({
62
+ collectionSlug: listPresetsSlug
63
+ });
64
+ const [ListDrawer,, {
65
+ closeDrawer: closeListDrawer,
66
+ openDrawer: openListDrawer
67
+ }] = useListDrawer({
68
+ collectionSlugs: [listPresetsSlug]
69
+ });
70
+ const handlePresetChange = useCallback(async preset => {
71
+ await refineListData({
72
+ columns: preset.columns ? transformColumnsToSearchParams(preset.columns) : undefined,
73
+ preset: preset.id,
74
+ where: preset.where
75
+ });
76
+ }, [refineListData]);
77
+ const resetListPreset = useCallback(async () => {
78
+ await refineListData({
79
+ columns: undefined,
80
+ preset: undefined,
81
+ where: undefined
82
+ });
83
+ }, [refineListData]);
84
+ const handleDeletePreset = useCallback(async () => {
85
+ try {
86
+ await fetch(`${apiRoute}/${listPresetsSlug}/${activePreset.id}`, {
87
+ method: 'DELETE'
88
+ }).then(async res => {
89
+ try {
90
+ const json = await res.json();
91
+ if (res.status < 400) {
92
+ toast.success(t('general:titleDeleted', {
93
+ label: getTranslation(presetConfig.labels.singular, i18n),
94
+ title: activePreset.title
95
+ }));
96
+ await resetListPreset();
97
+ } else {
98
+ if (json.errors) {
99
+ json.errors.forEach(error => toast.error(error.message));
100
+ } else {
101
+ toast.error(t('error:deletingTitle', {
102
+ title: activePreset.title
103
+ }));
104
+ }
105
+ }
106
+ } catch (_err) {
107
+ toast.error(t('error:deletingTitle', {
108
+ title: activePreset.title
109
+ }));
110
+ }
111
+ });
112
+ } catch (_err) {
113
+ toast.error(t('error:deletingTitle', {
114
+ title: activePreset.title
115
+ }));
116
+ }
117
+ }, [apiRoute, activePreset?.id, activePreset?.title, t, presetConfig, i18n, resetListPreset]);
118
+ const saveCurrentChanges = useCallback(async () => {
119
+ try {
120
+ await fetch(`${apiRoute}/payload-list-presets/${activePreset.id}`, {
121
+ body: JSON.stringify({
122
+ columns: transformColumnsToPreferences(query.columns),
123
+ where: query.where
124
+ }),
125
+ credentials: 'include',
126
+ headers: {
127
+ 'Content-Type': 'application/json'
128
+ },
129
+ method: 'PATCH'
130
+ }).then(async res => {
131
+ try {
132
+ const json = await res.json();
133
+ if (res.status < 400) {
134
+ toast.success(t('general:updatedLabelSuccessfully', {
135
+ label: getTranslation(presetConfig?.labels?.singular, i18n)
136
+ }));
137
+ setQueryModified(false);
138
+ setColumnsModified(false);
139
+ } else {
140
+ if (json.errors) {
141
+ json.errors.forEach(error => toast.error(error.message));
142
+ } else {
143
+ toast.error(t('error:unknown'));
144
+ }
145
+ }
146
+ } catch (_err) {
147
+ toast.error(t('error:unknown'));
148
+ }
149
+ });
150
+ } catch (_err) {
151
+ toast.error(t('error:unknown'));
152
+ }
153
+ }, [apiRoute, activePreset?.id, query.columns, query.where, t, presetConfig?.labels?.singular, i18n, setQueryModified, setColumnsModified]);
154
+ return {
155
+ CreateNewPresetDrawer: /*#__PURE__*/_jsx(CreateNewPresetDrawer, {
156
+ initialData: {
157
+ columns: transformColumnsToPreferences(query.columns),
158
+ relatedCollection: collectionSlug,
159
+ where: query.where
160
+ },
161
+ onSave: async ({
162
+ doc
163
+ }) => {
164
+ closeCreateNewDrawer();
165
+ await handlePresetChange(doc);
166
+ },
167
+ redirectAfterCreate: false
168
+ }),
169
+ DeletePresetModal: /*#__PURE__*/_jsx(ConfirmationModal, {
170
+ body: /*#__PURE__*/_jsx(Translation, {
171
+ elements: {
172
+ '1': ({
173
+ children
174
+ }) => /*#__PURE__*/_jsx("strong", {
175
+ children: children
176
+ })
177
+ },
178
+ i18nKey: "general:aboutToDelete",
179
+ t: t,
180
+ variables: {
181
+ label: getTranslation(t('general:preset'), i18n),
182
+ title: activePreset?.title
183
+ }
184
+ }),
185
+ confirmingLabel: t('general:deleting'),
186
+ heading: t('general:confirmDeletion'),
187
+ modalSlug: confirmDeletePresetModalSlug,
188
+ onConfirm: handleDeletePreset
189
+ }),
190
+ EditPresetDrawer: /*#__PURE__*/_jsx(PresetDocumentDrawer, {
191
+ onDelete: () => {
192
+ // setSelectedPreset(undefined)
193
+ },
194
+ onDuplicate: async ({
195
+ doc
196
+ }) => {
197
+ await handlePresetChange(doc);
198
+ },
199
+ onSave: async ({
200
+ doc
201
+ }) => {
202
+ await handlePresetChange(doc);
203
+ }
204
+ }),
205
+ hasModifiedPreset: hasModified,
206
+ listPresetMenuItems: /*#__PURE__*/_jsxs(Fragment, {
207
+ children: [activePreset && hasModified ? /*#__PURE__*/_jsxs(Fragment, {
208
+ children: [/*#__PURE__*/_jsx(PopupList.Button, {
209
+ onClick: () => {
210
+ // TODO: reset query and columns
211
+ setQueryModified(false);
212
+ setColumnsModified(false);
213
+ },
214
+ children: t('general:reset')
215
+ }), listPresetPermissions.update ? /*#__PURE__*/_jsx(PopupList.Button, {
216
+ onClick: async () => {
217
+ await saveCurrentChanges();
218
+ },
219
+ children: activePreset.isShared ? t('general:updateForEveryone') : t('general:save')
220
+ }) : null]
221
+ }) : null, /*#__PURE__*/_jsx(PopupList.Button, {
222
+ onClick: () => {
223
+ openCreateNewDrawer();
224
+ },
225
+ children: t('general:createNewLabel', {
226
+ label: t('general:preset')
227
+ })
228
+ }), activePreset && listPresetPermissions.delete ? /*#__PURE__*/_jsxs(Fragment, {
229
+ children: [/*#__PURE__*/_jsx(PopupList.Button, {
230
+ onClick: () => openModal(confirmDeletePresetModalSlug),
231
+ children: t('general:delete')
232
+ }), /*#__PURE__*/_jsx(PopupList.Button, {
233
+ onClick: () => {
234
+ openDocumentDrawer();
235
+ },
236
+ children: t('general:edit')
237
+ })]
238
+ }) : null]
239
+ }, "preset-menu-items"),
240
+ openPresetListDrawer: openListDrawer,
241
+ PresetListDrawer: /*#__PURE__*/_jsx(ListDrawer, {
242
+ disableListPresets: true,
243
+ onSelect: async ({
244
+ doc
245
+ }) => {
246
+ closeListDrawer();
247
+ await handlePresetChange(doc);
248
+ }
249
+ }),
250
+ resetPreset: resetListPreset
251
+ };
252
+ };
253
+ //# sourceMappingURL=useListPresets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useListPresets.js","names":["useModal","getTranslation","transformColumnsToPreferences","transformColumnsToSearchParams","Fragment","useCallback","toast","useConfig","useListQuery","useTableColumns","useTranslation","ConfirmationModal","useDocumentDrawer","useListDrawer","PopupList","Translation","confirmDeletePresetModalSlug","listPresetsSlug","useListPresets","activePreset","collectionSlug","listPresetPermissions","modified","listQueryModified","query","refineListData","setModified","setQueryModified","i18n","t","openModal","columnsModified","setColumnsModified","hasModified","config","routes","api","apiRoute","getEntityConfig","presetConfig","PresetDocumentDrawer","openDrawer","openDocumentDrawer","id","CreateNewPresetDrawer","closeDrawer","closeCreateNewDrawer","openCreateNewDrawer","ListDrawer","closeListDrawer","openListDrawer","collectionSlugs","handlePresetChange","preset","columns","undefined","where","resetListPreset","handleDeletePreset","fetch","method","then","res","json","status","success","label","labels","singular","title","errors","forEach","error","message","_err","saveCurrentChanges","body","JSON","stringify","credentials","headers","_jsx","initialData","relatedCollection","onSave","doc","redirectAfterCreate","DeletePresetModal","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm","EditPresetDrawer","onDelete","onDuplicate","hasModifiedPreset","listPresetMenuItems","_jsxs","Button","onClick","update","isShared","delete","openPresetListDrawer","PresetListDrawer","disableListPresets","onSelect","resetPreset"],"sources":["../../../src/elements/ListControls/useListPresets.tsx"],"sourcesContent":["import type { CollectionSlug, ListPreset, SanitizedCollectionPermission } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared'\nimport { Fragment, useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/context.js'\nimport { useTableColumns } from '../../providers/TableColumns/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 { Translation } from '../Translation/index.js'\n\nconst confirmDeletePresetModalSlug = 'confirm-delete-preset'\n\nconst listPresetsSlug = 'payload-list-presets'\n\nexport const useListPresets = ({\n activePreset,\n collectionSlug,\n listPresetPermissions,\n}: {\n activePreset: ListPreset\n collectionSlug: CollectionSlug\n listPresetPermissions: SanitizedCollectionPermission\n}): {\n CreateNewPresetDrawer: React.ReactNode\n DeletePresetModal: React.ReactNode\n EditPresetDrawer: React.ReactNode\n hasModifiedPreset: boolean\n listPresetMenuItems: React.ReactNode\n openPresetListDrawer: () => void\n PresetListDrawer: React.ReactNode\n resetPreset: () => Promise<void>\n} => {\n const {\n modified: listQueryModified,\n query,\n refineListData,\n setModified: setQueryModified,\n } = useListQuery()\n\n const { i18n, t } = useTranslation()\n const { openModal } = useModal()\n\n const { modified: columnsModified, setModified: setColumnsModified } = useTableColumns()\n\n const hasModified = listQueryModified || columnsModified\n\n const {\n config: {\n routes: { api: apiRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const presetConfig = getEntityConfig({ collectionSlug: listPresetsSlug })\n\n const [PresetDocumentDrawer, , { openDrawer: openDocumentDrawer }] = useDocumentDrawer({\n id: activePreset?.id,\n collectionSlug: listPresetsSlug,\n })\n\n const [\n CreateNewPresetDrawer,\n ,\n { closeDrawer: closeCreateNewDrawer, openDrawer: openCreateNewDrawer },\n ] = useDocumentDrawer({\n collectionSlug: listPresetsSlug,\n })\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: [listPresetsSlug],\n })\n\n const handlePresetChange = useCallback(\n async (preset: ListPreset) => {\n await refineListData({\n columns: preset.columns ? transformColumnsToSearchParams(preset.columns) : undefined,\n preset: preset.id,\n where: preset.where,\n })\n },\n [refineListData],\n )\n\n const resetListPreset = useCallback(async () => {\n await refineListData({\n columns: undefined,\n preset: undefined,\n where: undefined,\n })\n }, [refineListData])\n\n const handleDeletePreset = useCallback(async () => {\n try {\n await fetch(`${apiRoute}/${listPresetsSlug}/${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 resetListPreset()\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, resetListPreset])\n\n const saveCurrentChanges = useCallback(async () => {\n try {\n await fetch(`${apiRoute}/payload-list-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 setColumnsModified(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 setColumnsModified,\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 ListPreset)\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: getTranslation(t('general:preset'), i18n),\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 ListPreset)\n }}\n onSave={async ({ doc }) => {\n await handlePresetChange(doc as ListPreset)\n }}\n />\n ),\n hasModifiedPreset: hasModified,\n listPresetMenuItems: (\n <Fragment key=\"preset-menu-items\">\n {activePreset && hasModified ? (\n <Fragment>\n <PopupList.Button\n onClick={() => {\n // TODO: reset query and columns\n setQueryModified(false)\n setColumnsModified(false)\n }}\n >\n {t('general:reset')}\n </PopupList.Button>\n {listPresetPermissions.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 ) : null}\n </Fragment>\n ) : null}\n <PopupList.Button\n onClick={() => {\n openCreateNewDrawer()\n }}\n >\n {t('general:createNewLabel', {\n label: t('general:preset'),\n })}\n </PopupList.Button>\n {activePreset && listPresetPermissions.delete ? (\n <Fragment>\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 </Fragment>\n ) : null}\n </Fragment>\n ),\n openPresetListDrawer: openListDrawer,\n PresetListDrawer: (\n <ListDrawer\n disableListPresets\n onSelect={async ({ doc }) => {\n closeListDrawer()\n await handlePresetChange(doc as ListPreset)\n }}\n />\n ),\n resetPreset: resetListPreset,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAWjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmKvD,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAUjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsKvD,CAAA"}
@@ -2,17 +2,18 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useModal } from '@faceless-ui/modal';
5
+ import { hoistQueryParamsToAnd } from 'payload/shared';
5
6
  import React, { useCallback, useEffect, useState } from 'react';
6
7
  import { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js';
7
8
  import { useEffectEvent } from '../../hooks/useEffectEvent.js';
8
9
  import { useConfig } from '../../providers/Config/index.js';
9
10
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
10
- import { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js';
11
11
  import { ListDrawerContextProvider } from '../ListDrawer/Provider.js';
12
12
  import { LoadingOverlay } from '../Loading/index.js';
13
13
  export const ListDrawerContent = ({
14
14
  allowCreate = true,
15
15
  collectionSlugs,
16
+ disableListPresets,
16
17
  drawerSlug,
17
18
  enableRowSelections,
18
19
  filterOptions,
@@ -91,6 +92,7 @@ export const ListDrawerContent = ({
91
92
  collectionSlug: slug_0,
92
93
  disableBulkDelete: true,
93
94
  disableBulkEdit: true,
95
+ disableListPresets,
94
96
  drawerSlug,
95
97
  enableRowSelections,
96
98
  overrideEntityVisibility,
@@ -106,7 +108,7 @@ export const ListDrawerContent = ({
106
108
  closeModal(drawerSlug);
107
109
  }
108
110
  }
109
- }, [serverFunction, closeModal, allowCreate, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility]);
111
+ }, [serverFunction, closeModal, allowCreate, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility, disableListPresets]);
110
112
  useEffect(() => {
111
113
  if (!ListView) {
112
114
  void renderList(selectedOption.value);
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","hoistQueryParamsToAnd","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n allowCreate,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","hoistQueryParamsToAnd","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","disableListPresets","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hoistQueryParamsToAnd } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n disableListPresets,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n disableListPresets,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n allowCreate,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n disableListPresets,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import type { ListDrawerContextProps } from './Provider.js';
5
5
  export type ListDrawerProps = {
6
6
  readonly allowCreate?: boolean;
7
7
  readonly collectionSlugs: SanitizedCollectionConfig['slug'][];
8
+ readonly disableListPresets?: boolean;
8
9
  readonly drawerSlug?: string;
9
10
  readonly enableRowSelections?: boolean;
10
11
  readonly filterOptions?: FilterOptionsResult;
@@ -24,8 +25,8 @@ export type UseListDrawer = (args: {
24
25
  selectedCollection?: SanitizedCollectionConfig['slug'];
25
26
  uploads?: boolean;
26
27
  }) => [
27
- React.FC<Pick<ListDrawerProps, 'allowCreate' | 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>>,
28
- React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled' | 'onClick'>>,
28
+ React.FC<Omit<ListDrawerProps, 'collectionSlugs'>>,
29
+ React.FC<Omit<ListTogglerProps, 'drawerSlug'>>,
29
30
  {
30
31
  closeDrawer: () => void;
31
32
  collectionSlugs: SanitizedCollectionConfig['slug'][];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,GAAG,sBAAsB,CAAA;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IACrD,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CACN,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,qBAAqB,GAAG,cAAc,GAAG,UAAU,CAAC,CAC3F;IACD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;IACnF;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;QACpD,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7F,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,GAAG,sBAAsB,CAAA;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IACrD,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC9C;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;QACpD,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7F,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { ListDrawerContextProps } from './Provider.js'\n\nexport type ListDrawerProps = {\n readonly allowCreate?: boolean\n readonly collectionSlugs: SanitizedCollectionConfig['slug'][]\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly overrideEntityVisibility?: boolean\n readonly selectedCollection?: string\n} & ListDrawerContextProps\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: SanitizedCollectionConfig['slug'][]\n filterOptions?: FilterOptionsResult\n overrideEntityVisibility?: boolean\n selectedCollection?: SanitizedCollectionConfig['slug']\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<\n Pick<ListDrawerProps, 'allowCreate' | 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>\n >, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled' | 'onClick'>>, // toggler\n {\n closeDrawer: () => void\n collectionSlugs: SanitizedCollectionConfig['slug'][]\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n setCollectionSlugs: React.Dispatch<React.SetStateAction<SanitizedCollectionConfig['slug'][]>>\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AAuBA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { ListDrawerContextProps } from './Provider.js'\n\nexport type ListDrawerProps = {\n readonly allowCreate?: boolean\n readonly collectionSlugs: SanitizedCollectionConfig['slug'][]\n readonly disableListPresets?: boolean\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly overrideEntityVisibility?: boolean\n readonly selectedCollection?: string\n} & ListDrawerContextProps\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: SanitizedCollectionConfig['slug'][]\n filterOptions?: FilterOptionsResult\n overrideEntityVisibility?: boolean\n selectedCollection?: SanitizedCollectionConfig['slug']\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Omit<ListDrawerProps, 'collectionSlugs'>>,\n React.FC<Omit<ListTogglerProps, 'drawerSlug'>>,\n {\n closeDrawer: () => void\n collectionSlugs: SanitizedCollectionConfig['slug'][]\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n setCollectionSlugs: React.Dispatch<React.SetStateAction<SanitizedCollectionConfig['slug'][]>>\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AAwBA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { DefaultCellComponentProps } from 'payload';
2
+ import React from 'react';
3
+ export declare const ListPresetsAccessCell: React.FC<DefaultCellComponentProps>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ListPresets/cells/AccessCell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAIxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAuBrE,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { toWords } from 'payload/shared';
3
+ import React, { Fragment } from 'react';
4
+ export const ListPresetsAccessCell = ({
5
+ cellData
6
+ }) => {
7
+ // first sort the operations in the order they should be displayed
8
+ const operations = ['read', 'update', 'delete'];
9
+ return /*#__PURE__*/_jsx("p", {
10
+ children: operations.reduce((acc, operation, index) => {
11
+ const operationData = cellData?.[operation];
12
+ if (operationData && operationData.constraint) {
13
+ acc.push(/*#__PURE__*/_jsxs(Fragment, {
14
+ children: [/*#__PURE__*/_jsxs("span", {
15
+ children: [/*#__PURE__*/_jsx("strong", {
16
+ children: toWords(operation)
17
+ }), ": ", toWords(operationData.constraint)]
18
+ }), index !== operations.length - 1 && ', ']
19
+ }, operation));
20
+ }
21
+ return acc;
22
+ }, [])
23
+ });
24
+ };
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["toWords","React","Fragment","ListPresetsAccessCell","cellData","operations","_jsx","reduce","acc","operation","index","operationData","constraint","push","_jsxs","length"],"sources":["../../../../../src/elements/ListPresets/cells/AccessCell/index.tsx"],"sourcesContent":["import type { DefaultCellComponentProps } from 'payload'\nimport type { JSX } from 'react'\n\nimport { toWords } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nexport const ListPresetsAccessCell: React.FC<DefaultCellComponentProps> = ({ cellData }) => {\n // first sort the operations in the order they should be displayed\n const operations = ['read', 'update', 'delete']\n\n return (\n <p>\n {operations.reduce((acc, operation, index) => {\n const operationData = (cellData as JSON)?.[operation]\n\n if (operationData && operationData.constraint) {\n acc.push(\n <Fragment key={operation}>\n <span>\n <strong>{toWords(operation)}</strong>: {toWords(operationData.constraint)}\n </span>\n {index !== operations.length - 1 && ', '}\n </Fragment>,\n )\n }\n return acc\n }, [] as JSX.Element[])}\n </p>\n )\n}\n"],"mappings":";AAGA,SAASA,OAAO,QAAQ;AACxB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,OAAO,MAAMC,qBAAA,GAA6DA,CAAC;EAAEC;AAAQ,CAAE;EACrF;EACA,MAAMC,UAAA,GAAa,CAAC,QAAQ,UAAU,SAAS;EAE/C,oBACEC,IAAA,CAAC;cACED,UAAA,CAAWE,MAAM,CAAC,CAACC,GAAA,EAAKC,SAAA,EAAWC,KAAA;MAClC,MAAMC,aAAA,GAAiBP,QAAA,GAAoBK,SAAA,CAAU;MAErD,IAAIE,aAAA,IAAiBA,aAAA,CAAcC,UAAU,EAAE;QAC7CJ,GAAA,CAAIK,IAAI,cACNC,KAAA,CAACZ,QAAA;kCACCY,KAAA,CAAC;oCACCR,IAAA,CAAC;wBAAQN,OAAA,CAAQS,SAAA;gBAAoB,MAAGT,OAAA,CAAQW,aAAA,CAAcC,UAAU;cAEzEF,KAAA,KAAUL,UAAA,CAAWU,MAAM,GAAG,KAAK;WAJvBN,SAAA;MAOnB;MACA,OAAOD,GAAA;IACT,GAAG,EAAE;;AAGX","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { DefaultCellComponentProps } from 'payload';
2
+ import React from 'react';
3
+ export declare const ListPresetsColumnsCell: React.FC<DefaultCellComponentProps>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ListPresets/cells/ColumnsCell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGxD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAUtE,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { toWords, transformColumnsToSearchParams } from 'payload/shared';
3
+ import React from 'react';
4
+ export const ListPresetsColumnsCell = ({
5
+ cellData
6
+ }) => {
7
+ return /*#__PURE__*/_jsx("div", {
8
+ children: cellData ? transformColumnsToSearchParams(cellData).map(column => toWords(column)).join(', ') : 'No columns selected'
9
+ });
10
+ };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["toWords","transformColumnsToSearchParams","React","ListPresetsColumnsCell","cellData","_jsx","map","column","join"],"sources":["../../../../../src/elements/ListPresets/cells/ColumnsCell/index.tsx"],"sourcesContent":["import type { DefaultCellComponentProps } from 'payload'\n\nimport { toWords, transformColumnsToSearchParams } from 'payload/shared'\nimport React from 'react'\n\nexport const ListPresetsColumnsCell: React.FC<DefaultCellComponentProps> = ({ cellData }) => {\n return (\n <div>\n {cellData\n ? transformColumnsToSearchParams(cellData)\n .map((column) => toWords(column))\n .join(', ')\n : 'No columns selected'}\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,OAAO,EAAEC,8BAA8B,QAAQ;AACxD,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,sBAAA,GAA8DA,CAAC;EAAEC;AAAQ,CAAE;EACtF,oBACEC,IAAA,CAAC;cACED,QAAA,GACGH,8BAAA,CAA+BG,QAAA,EAC5BE,GAAG,CAAEC,MAAA,IAAWP,OAAA,CAAQO,MAAA,GACxBC,IAAI,CAAC,QACR;;AAGV","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { DefaultCellComponentProps } from 'payload';
2
+ import React from 'react';
3
+ export declare const ListPresetsWhereCell: React.FC<DefaultCellComponentProps>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ListPresets/cells/WhereCell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAS,MAAM,SAAS,CAAA;AAG/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAiBzB,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAEpE,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { toWords } from 'payload/shared';
3
+ import React from 'react';
4
+ /** @todo: improve this */
5
+ const transformWhereToNaturalLanguage = where => {
6
+ if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {
7
+ const orQuery = where.or[0];
8
+ const andQuery = orQuery.and[0];
9
+ const key = Object.keys(andQuery)[0];
10
+ const operator = Object.keys(andQuery[key])[0];
11
+ const value = andQuery[key][operator];
12
+ return `${toWords(key)} ${operator} ${toWords(value)}`;
13
+ }
14
+ return '';
15
+ };
16
+ export const ListPresetsWhereCell = ({
17
+ cellData
18
+ }) => {
19
+ return /*#__PURE__*/_jsx("div", {
20
+ children: cellData ? transformWhereToNaturalLanguage(cellData) : 'No where query'
21
+ });
22
+ };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["toWords","React","transformWhereToNaturalLanguage","where","or","length","and","orQuery","andQuery","key","Object","keys","operator","value","ListPresetsWhereCell","cellData","_jsx"],"sources":["../../../../../src/elements/ListPresets/cells/WhereCell/index.tsx"],"sourcesContent":["import type { DefaultCellComponentProps, Where } from 'payload'\n\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (where: Where): string => {\n if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {\n const orQuery = where.or[0]\n const andQuery = orQuery.and[0]\n const key = Object.keys(andQuery)[0]\n const operator = Object.keys(andQuery[key])[0]\n const value = andQuery[key][operator]\n\n return `${toWords(key)} ${operator} ${toWords(value)}`\n }\n\n return ''\n}\n\nexport const ListPresetsWhereCell: React.FC<DefaultCellComponentProps> = ({ cellData }) => {\n return <div>{cellData ? transformWhereToNaturalLanguage(cellData) : 'No where query'}</div>\n}\n"],"mappings":";AAEA,SAASA,OAAO,QAAQ;AACxB,OAAOC,KAAA,MAAW;AAElB;AACA,MAAMC,+BAAA,GAAmCC,KAAA;EACvC,IAAIA,KAAA,CAAMC,EAAE,IAAID,KAAA,CAAMC,EAAE,CAACC,MAAM,GAAG,KAAKF,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,IAAIH,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,CAACD,MAAM,GAAG,GAAG;IACpF,MAAME,OAAA,GAAUJ,KAAA,CAAMC,EAAE,CAAC,EAAE;IAC3B,MAAMI,QAAA,GAAWD,OAAA,CAAQD,GAAG,CAAC,EAAE;IAC/B,MAAMG,GAAA,GAAMC,MAAA,CAAOC,IAAI,CAACH,QAAA,CAAS,CAAC,EAAE;IACpC,MAAMI,QAAA,GAAWF,MAAA,CAAOC,IAAI,CAACH,QAAQ,CAACC,GAAA,CAAI,CAAC,CAAC,EAAE;IAC9C,MAAMI,KAAA,GAAQL,QAAQ,CAACC,GAAA,CAAI,CAACG,QAAA,CAAS;IAErC,OAAO,GAAGZ,OAAA,CAAQS,GAAA,KAAQG,QAAA,IAAYZ,OAAA,CAAQa,KAAA,GAAQ;EACxD;EAEA,OAAO;AACT;AAEA,OAAO,MAAMC,oBAAA,GAA4DA,CAAC;EAAEC;AAAQ,CAAE;EACpF,oBAAOC,IAAA,CAAC;cAAKD,QAAA,GAAWb,+BAAA,CAAgCa,QAAA,IAAY;;AACtE","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { GroupFieldLabelServerComponent } from 'payload';
2
+ export declare const ListPresetsAccessLabel: GroupFieldLabelServerComponent;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ListPresets/fields/AccessLabel/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAA;AAK7D,eAAO,MAAM,sBAAsB,EAAE,8BASpC,CAAA"}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { getTranslation } from '@payloadcms/translations';
5
+ import React from 'react';
6
+ export const ListPresetsAccessLabel = ({
7
+ field: {
8
+ label
9
+ },
10
+ i18n
11
+ }) => {
12
+ if (!label) {
13
+ return null;
14
+ }
15
+ return /*#__PURE__*/_jsx("p", {
16
+ children: getTranslation(label, i18n)
17
+ });
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","ListPresetsAccessLabel","field","label","i18n","_jsx"],"sources":["../../../../../src/elements/ListPresets/fields/AccessLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { GroupFieldLabelServerComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nexport const ListPresetsAccessLabel: GroupFieldLabelServerComponent = ({\n field: { label },\n i18n,\n}) => {\n if (!label) {\n return null\n }\n\n return <p>{getTranslation(label, i18n)}</p>\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,sBAAA,GAAyDA,CAAC;EACrEC,KAAA,EAAO;IAAEC;EAAK,CAAE;EAChBC;AAAI,CACL;EACC,IAAI,CAACD,KAAA,EAAO;IACV,OAAO;EACT;EAEA,oBAAOE,IAAA,CAAC;cAAGN,cAAA,CAAeI,KAAA,EAAOC,IAAA;;AACnC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { JSONFieldClientComponent } from 'payload';
2
+ import './index.scss';
3
+ export declare const ListPresetsColumnsField: JSONFieldClientComponent;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ListPresets/fields/ColumnsField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAQzE,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,uBAAuB,EAAE,wBAoBrC,CAAA"}