@payloadcms/ui 3.42.0 → 3.43.0-internal.c5bbc84

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 (71) hide show
  1. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  2. package/dist/elements/CopyLocaleData/index.js +6 -1
  3. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  4. package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +1 -1
  5. package/dist/elements/FolderView/CollectionTypePill/index.js +13 -10
  6. package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -1
  7. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -1
  8. package/dist/elements/FolderView/CurrentFolderActions/index.js +17 -11
  9. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  10. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +1 -3
  11. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -1
  12. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +7 -4
  13. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  14. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +1 -0
  15. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -1
  16. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +230 -201
  17. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  18. package/dist/elements/FolderView/FolderFileCard/index.d.ts +8 -0
  19. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -1
  20. package/dist/elements/FolderView/FolderFileCard/index.js +82 -0
  21. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  22. package/dist/elements/FolderView/FolderFileTable/index.d.ts +1 -22
  23. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -1
  24. package/dist/elements/FolderView/FolderFileTable/index.js +245 -163
  25. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  26. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +2 -8
  27. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -1
  28. package/dist/elements/FolderView/ItemCardGrid/index.js +24 -90
  29. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  30. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -1
  31. package/dist/elements/FolderView/SortByPill/index.js +17 -15
  32. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  33. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -1
  34. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +8 -10
  35. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  36. package/dist/exports/client/index.js +22 -22
  37. package/dist/exports/client/index.js.map +4 -4
  38. package/dist/exports/rsc/index.d.ts +1 -0
  39. package/dist/exports/rsc/index.d.ts.map +1 -1
  40. package/dist/exports/rsc/index.js +1 -0
  41. package/dist/exports/rsc/index.js.map +1 -1
  42. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  43. package/dist/fields/Relationship/Input.js +1 -0
  44. package/dist/fields/Relationship/Input.js.map +1 -1
  45. package/dist/providers/Folders/index.d.ts +59 -46
  46. package/dist/providers/Folders/index.d.ts.map +1 -1
  47. package/dist/providers/Folders/index.js +163 -572
  48. package/dist/providers/Folders/index.js.map +1 -1
  49. package/dist/providers/ServerFunctions/index.d.ts +6 -1
  50. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  51. package/dist/providers/ServerFunctions/index.js +19 -0
  52. package/dist/providers/ServerFunctions/index.js.map +1 -1
  53. package/dist/providers/TableColumns/index.js +1 -0
  54. package/dist/providers/TableColumns/index.js.map +1 -1
  55. package/dist/styles.css +1 -1
  56. package/dist/utilities/getFolderResultsComponentAndData.d.ts +29 -0
  57. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  58. package/dist/utilities/getFolderResultsComponentAndData.js +128 -0
  59. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  60. package/dist/views/BrowseByFolder/index.d.ts +1 -4
  61. package/dist/views/BrowseByFolder/index.d.ts.map +1 -1
  62. package/dist/views/BrowseByFolder/index.js +219 -158
  63. package/dist/views/BrowseByFolder/index.js.map +1 -1
  64. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
  65. package/dist/views/CollectionFolder/ListSelection/index.js +25 -50
  66. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  67. package/dist/views/CollectionFolder/index.d.ts +1 -1
  68. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  69. package/dist/views/CollectionFolder/index.js +186 -153
  70. package/dist/views/CollectionFolder/index.js.map +1 -1
  71. package/package.json +5 -5
@@ -4,7 +4,7 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
5
  import { useDndMonitor } from '@dnd-kit/core';
6
6
  import { getTranslation } from '@payloadcms/translations';
7
- import { formatFolderOrDocumentItem } from 'payload/shared';
7
+ import { useRouter } from 'next/navigation.js';
8
8
  import React, { Fragment } from 'react';
9
9
  import { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js';
10
10
  import { CollectionTypePill } from '../../elements/FolderView/CollectionTypePill/index.js';
@@ -23,15 +23,48 @@ import { SearchBar } from '../../elements/SearchBar/index.js';
23
23
  import { useStepNav } from '../../elements/StepNav/index.js';
24
24
  import { useConfig } from '../../providers/Config/index.js';
25
25
  import { useEditDepth } from '../../providers/EditDepth/index.js';
26
- import { useFolder } from '../../providers/Folders/index.js';
26
+ import { FolderProvider, useFolder } from '../../providers/Folders/index.js';
27
27
  import { usePreferences } from '../../providers/Preferences/index.js';
28
28
  import { useRouteCache } from '../../providers/RouteCache/index.js';
29
+ import { useRouteTransition } from '../../providers/RouteTransition/index.js';
29
30
  import { useTranslation } from '../../providers/Translation/index.js';
30
31
  import { useWindowInfo } from '../../providers/WindowInfo/index.js';
31
32
  import { ListSelection } from '../CollectionFolder/ListSelection/index.js';
32
33
  import './index.scss';
33
34
  const baseClass = 'folder-list';
34
- export function DefaultBrowseByFolderView(props) {
35
+ export function DefaultBrowseByFolderView({
36
+ activeCollectionFolderSlugs,
37
+ allCollectionFolderSlugs,
38
+ allowCreateCollectionSlugs,
39
+ baseFolderPath,
40
+ breadcrumbs,
41
+ documents,
42
+ folderFieldName,
43
+ folderID,
44
+ FolderResultsComponent,
45
+ search,
46
+ subfolders,
47
+ ...restOfProps
48
+ }) {
49
+ return /*#__PURE__*/_jsx(FolderProvider, {
50
+ activeCollectionFolderSlugs: activeCollectionFolderSlugs,
51
+ allCollectionFolderSlugs: allCollectionFolderSlugs,
52
+ allowCreateCollectionSlugs: allowCreateCollectionSlugs,
53
+ baseFolderPath: baseFolderPath,
54
+ breadcrumbs: breadcrumbs,
55
+ documents: documents,
56
+ folderFieldName: folderFieldName,
57
+ folderID: folderID,
58
+ FolderResultsComponent: FolderResultsComponent,
59
+ search: search,
60
+ subfolders: subfolders,
61
+ children: /*#__PURE__*/_jsx(BrowseByFolderViewInContext, {
62
+ ...restOfProps
63
+ })
64
+ });
65
+ }
66
+ function BrowseByFolderViewInContext(props) {
67
+ const $ = _c(27);
35
68
  const {
36
69
  AfterFolderList,
37
70
  AfterFolderListTable,
@@ -40,11 +73,10 @@ export function DefaultBrowseByFolderView(props) {
40
73
  Description,
41
74
  disableBulkDelete,
42
75
  disableBulkEdit,
43
- hasCreatePermissionCollectionSlugs,
44
76
  viewPreference
45
77
  } = props;
78
+ const router = useRouter();
46
79
  const {
47
- config,
48
80
  getEntityConfig
49
81
  } = useConfig();
50
82
  const {
@@ -55,220 +87,249 @@ export function DefaultBrowseByFolderView(props) {
55
87
  const {
56
88
  setStepNav
57
89
  } = useStepNav();
90
+ const {
91
+ startRouteTransition
92
+ } = useRouteTransition();
58
93
  const {
59
94
  clearRouteCache
60
95
  } = useRouteCache();
61
96
  const {
62
- breakpoints: {
63
- s: smallBreak
64
- }
97
+ breakpoints: t0
65
98
  } = useWindowInfo();
99
+ const {
100
+ s: smallBreak
101
+ } = t0;
66
102
  const {
67
103
  setPreference
68
104
  } = usePreferences();
69
105
  const {
70
- addItems,
106
+ activeCollectionFolderSlugs: visibleCollectionSlugs,
107
+ allowCreateCollectionSlugs,
71
108
  breadcrumbs,
72
109
  documents,
73
- filterItems,
74
- focusedRowIndex,
75
110
  folderCollectionConfig,
76
- folderFieldName,
77
111
  folderID,
112
+ getFolderRoute,
78
113
  getSelectedItems,
79
- isDragging,
80
114
  lastSelectedIndex,
81
115
  moveToFolder,
82
- onItemClick,
83
- onItemKeyPress,
116
+ refineFolderData,
84
117
  search,
85
- selectedIndexes,
86
- setFolderID,
118
+ selectedItemKeys,
87
119
  setIsDragging,
88
- subfolders,
89
- visibleCollectionSlugs
120
+ subfolders
90
121
  } = useFolder();
91
- const [activeView, setActiveView] = React.useState(viewPreference || 'grid');
92
- const [searchPlaceholder] = React.useState(() => {
93
- const locationLabel = breadcrumbs.length === 0 ? getTranslation(folderCollectionConfig.labels?.plural, i18n) : breadcrumbs[breadcrumbs.length - 1].name;
94
- return t('folder:searchByNameInFolder', {
95
- folderName: locationLabel
96
- });
97
- });
98
- const onDragEnd = React.useCallback(async event => {
99
- if (!event.over) {
100
- return;
101
- }
102
- if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {
103
- await moveToFolder({
104
- itemsToMove: getSelectedItems(),
105
- toFolderID: event.over.data.current.id || null
122
+ const [activeView, setActiveView] = React.useState(viewPreference || "grid");
123
+ let t1;
124
+ if ($[0] !== breadcrumbs || $[1] !== folderCollectionConfig || $[2] !== i18n || $[3] !== t) {
125
+ t1 = () => {
126
+ const locationLabel = breadcrumbs.length === 0 ? getTranslation(folderCollectionConfig.labels?.plural, i18n) : breadcrumbs[breadcrumbs.length - 1].name;
127
+ return t("folder:searchByNameInFolder", {
128
+ folderName: locationLabel
106
129
  });
107
- clearRouteCache();
108
- }
109
- }, [moveToFolder, getSelectedItems, clearRouteCache]);
130
+ };
131
+ $[0] = breadcrumbs;
132
+ $[1] = folderCollectionConfig;
133
+ $[2] = i18n;
134
+ $[3] = t;
135
+ $[4] = t1;
136
+ } else {
137
+ t1 = $[4];
138
+ }
139
+ const [searchPlaceholder] = React.useState(t1);
140
+ let t2;
141
+ if ($[5] !== clearRouteCache || $[6] !== getSelectedItems || $[7] !== moveToFolder) {
142
+ t2 = async event => {
143
+ if (!event.over) {
144
+ return;
145
+ }
146
+ if (event.over.data.current.type === "folder" && "id" in event.over.data.current) {
147
+ await moveToFolder({
148
+ itemsToMove: getSelectedItems(),
149
+ toFolderID: event.over.data.current.id || null
150
+ });
151
+ clearRouteCache();
152
+ }
153
+ };
154
+ $[5] = clearRouteCache;
155
+ $[6] = getSelectedItems;
156
+ $[7] = moveToFolder;
157
+ $[8] = t2;
158
+ } else {
159
+ t2 = $[8];
160
+ }
161
+ const onDragEnd = t2;
110
162
  const totalDocsAndSubfolders = documents.length + subfolders.length;
111
- const listHeaderTitle = !breadcrumbs.length ? t('folder:browseByFolder') : breadcrumbs[breadcrumbs.length - 1].name;
112
- const noResultsLabel = visibleCollectionSlugs.reduce((acc, slug, index, array) => {
113
- const collectionConfig = getEntityConfig({
114
- collectionSlug: slug
115
- });
116
- if (index === 0) {
117
- return getTranslation(collectionConfig.labels?.plural, i18n);
118
- }
119
- if (index === array.length - 1) {
120
- return `${acc} ${t('general:or').toLowerCase()} ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
121
- }
122
- return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
123
- }, '');
124
- const onCreateSuccess = React.useCallback(({
125
- collectionSlug,
126
- doc
127
- }) => {
128
- const collectionConfig_0 = getEntityConfig({
129
- collectionSlug
130
- });
131
- void addItems([formatFolderOrDocumentItem({
132
- folderFieldName,
133
- isUpload: Boolean(collectionConfig_0?.upload),
134
- relationTo: collectionSlug,
135
- useAsTitle: collectionConfig_0.admin.useAsTitle,
136
- value: doc
137
- })]);
138
- }, [getEntityConfig, addItems, folderFieldName]);
139
- const selectedItemKeys = React.useMemo(() => {
140
- return new Set(getSelectedItems().reduce((acc_0, item) => {
141
- if (item) {
142
- if (item.relationTo && item.value) {
143
- acc_0.push(`${item.relationTo}-${item.value.id}`);
144
- }
163
+ let t3;
164
+ if ($[9] !== breadcrumbs || $[10] !== t) {
165
+ t3 = !breadcrumbs.length ? t("folder:browseByFolder") : breadcrumbs[breadcrumbs.length - 1].name;
166
+ $[9] = breadcrumbs;
167
+ $[10] = t;
168
+ $[11] = t3;
169
+ } else {
170
+ t3 = $[11];
171
+ }
172
+ const listHeaderTitle = t3;
173
+ let t4;
174
+ if ($[12] !== getEntityConfig || $[13] !== i18n || $[14] !== t) {
175
+ t4 = (acc, slug, index, array) => {
176
+ const collectionConfig = getEntityConfig({
177
+ collectionSlug: slug
178
+ });
179
+ if (index === 0) {
180
+ return getTranslation(collectionConfig.labels?.plural, i18n);
181
+ }
182
+ if (index === array.length - 1) {
183
+ return `${acc} ${t("general:or").toLowerCase()} ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
145
184
  }
146
- return acc_0;
147
- }, []));
148
- }, [getSelectedItems]);
149
- const handleSetViewType = React.useCallback(view => {
150
- void setPreference('browse-by-folder', {
185
+ return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
186
+ };
187
+ $[12] = getEntityConfig;
188
+ $[13] = i18n;
189
+ $[14] = t;
190
+ $[15] = t4;
191
+ } else {
192
+ t4 = $[15];
193
+ }
194
+ const noResultsLabel = visibleCollectionSlugs.reduce(t4, "");
195
+ const handleSetViewType = view => {
196
+ setPreference("browse-by-folder", {
151
197
  viewPreference: view
152
198
  });
153
199
  setActiveView(view);
154
- }, [setPreference]);
155
- React.useEffect(() => {
156
- if (!drawerDepth) {
157
- setStepNav([!breadcrumbs.length ? {
158
- label: /*#__PURE__*/_jsxs("div", {
159
- className: `${baseClass}__step-nav-icon-label`,
160
- children: [/*#__PURE__*/_jsx(ColoredFolderIcon, {}), t('folder:browseByFolder')]
161
- }, "root")
162
- } : {
163
- label: /*#__PURE__*/_jsxs(DroppableBreadcrumb, {
164
- className: [`${baseClass}__step-nav-droppable`, `${baseClass}__step-nav-icon-label`].filter(Boolean).join(' '),
165
- id: null,
166
- onClick: () => {
167
- void setFolderID({
168
- folderID: null
169
- });
170
- },
171
- children: [/*#__PURE__*/_jsx(ColoredFolderIcon, {}), t('folder:browseByFolder')]
172
- }, "root")
173
- }, ...breadcrumbs.map((crumb, crumbIndex) => {
174
- return {
175
- label: crumbIndex === breadcrumbs.length - 1 ? crumb.name : /*#__PURE__*/_jsx(DroppableBreadcrumb, {
200
+ };
201
+ let t5;
202
+ let t6;
203
+ if ($[16] !== breadcrumbs || $[17] !== drawerDepth || $[18] !== getFolderRoute || $[19] !== router || $[20] !== setStepNav || $[21] !== startRouteTransition || $[22] !== t) {
204
+ t5 = () => {
205
+ if (!drawerDepth) {
206
+ setStepNav([!breadcrumbs.length ? {
207
+ label: _jsxs("div", {
208
+ className: `${baseClass}__step-nav-icon-label`,
209
+ children: [_jsx(ColoredFolderIcon, {}), t("folder:browseByFolder")]
210
+ }, "root")
211
+ } : {
212
+ label: _jsxs(DroppableBreadcrumb, {
213
+ className: [`${baseClass}__step-nav-droppable`, `${baseClass}__step-nav-icon-label`].filter(Boolean).join(" "),
214
+ id: null,
215
+ onClick: () => {
216
+ startRouteTransition(() => {
217
+ router.push(getFolderRoute(null));
218
+ });
219
+ },
220
+ children: [_jsx(ColoredFolderIcon, {}), t("folder:browseByFolder")]
221
+ }, "root")
222
+ }, ...breadcrumbs.map((crumb, crumbIndex) => ({
223
+ label: crumbIndex === breadcrumbs.length - 1 ? crumb.name : _jsx(DroppableBreadcrumb, {
176
224
  className: `${baseClass}__step-nav-droppable`,
177
225
  id: crumb.id,
178
226
  onClick: () => {
179
- void setFolderID({
180
- folderID: crumb.id
227
+ startRouteTransition(() => {
228
+ router.push(getFolderRoute(crumb.id));
181
229
  });
182
230
  },
183
231
  children: crumb.name
184
232
  }, crumb.id)
185
- };
186
- })]);
187
- }
188
- }, [setStepNav, drawerDepth, i18n, breadcrumbs, setFolderID, t]);
189
- return /*#__PURE__*/_jsxs(Fragment, {
190
- children: [/*#__PURE__*/_jsx(DndEventListener, {
191
- onDragEnd: onDragEnd,
192
- setIsDragging: setIsDragging
193
- }), /*#__PURE__*/_jsxs("div", {
233
+ }))]);
234
+ }
235
+ };
236
+ t6 = [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t];
237
+ $[16] = breadcrumbs;
238
+ $[17] = drawerDepth;
239
+ $[18] = getFolderRoute;
240
+ $[19] = router;
241
+ $[20] = setStepNav;
242
+ $[21] = startRouteTransition;
243
+ $[22] = t;
244
+ $[23] = t5;
245
+ $[24] = t6;
246
+ } else {
247
+ t5 = $[23];
248
+ t6 = $[24];
249
+ }
250
+ React.useEffect(t5, t6);
251
+ let t7;
252
+ if ($[25] !== refineFolderData) {
253
+ t7 = search_0 => refineFolderData({
254
+ query: {
255
+ search: search_0
256
+ },
257
+ updateURL: true
258
+ });
259
+ $[25] = refineFolderData;
260
+ $[26] = t7;
261
+ } else {
262
+ t7 = $[26];
263
+ }
264
+ return _jsxs(Fragment, {
265
+ children: [_jsx(DndEventListener, {
266
+ onDragEnd,
267
+ setIsDragging
268
+ }), _jsxs("div", {
194
269
  className: `${baseClass} ${baseClass}--folders`,
195
- children: [BeforeFolderList, /*#__PURE__*/_jsxs(Gutter, {
270
+ children: [BeforeFolderList, _jsxs(Gutter, {
196
271
  className: `${baseClass}__wrap`,
197
- children: [/*#__PURE__*/_jsx(ListHeader, {
198
- Actions: [!smallBreak && /*#__PURE__*/_jsx(ListSelection, {
199
- disableBulkDelete: disableBulkDelete,
200
- disableBulkEdit: disableBulkEdit
272
+ children: [_jsx(ListHeader, {
273
+ Actions: [!smallBreak && _jsx(ListSelection, {
274
+ disableBulkDelete,
275
+ disableBulkEdit
201
276
  }, "list-selection")].filter(Boolean),
202
277
  AfterListHeaderContent: Description,
203
278
  title: listHeaderTitle,
204
- TitleActions: [/*#__PURE__*/_jsx(ListCreateNewDocInFolderButton, {
205
- buttonLabel: t('general:createNew'),
206
- collectionSlugs: hasCreatePermissionCollectionSlugs,
207
- onCreateSuccess: onCreateSuccess,
279
+ TitleActions: [allowCreateCollectionSlugs.length && _jsx(ListCreateNewDocInFolderButton, {
280
+ buttonLabel: t("general:createNew"),
281
+ collectionSlugs: allowCreateCollectionSlugs,
282
+ onCreateSuccess: clearRouteCache,
208
283
  slugPrefix: "create-document--header-pill"
209
284
  }, "create-new-button")].filter(Boolean)
210
- }), /*#__PURE__*/_jsx(SearchBar, {
211
- Actions: [/*#__PURE__*/_jsx(SortByPill, {}, "sort-by-pill"), folderID && /*#__PURE__*/_jsx(CollectionTypePill, {}, "collection-type"), /*#__PURE__*/_jsx(ToggleViewButtons, {
212
- activeView: activeView,
285
+ }), _jsx(SearchBar, {
286
+ Actions: [_jsx(SortByPill, {}, "sort-by-pill"), folderID && _jsx(CollectionTypePill, {}, "collection-type"), _jsx(ToggleViewButtons, {
287
+ activeView,
213
288
  setActiveView: handleSetViewType
214
- }, "toggle-view-buttons"), /*#__PURE__*/_jsx(CurrentFolderActions, {}, "current-folder-actions")].filter(Boolean),
289
+ }, "toggle-view-buttons"), _jsx(CurrentFolderActions, {}, "current-folder-actions")].filter(Boolean),
215
290
  label: searchPlaceholder,
216
- onSearchChange: search_0 => filterItems({
217
- search: search_0
218
- }),
291
+ onSearchChange: t7,
219
292
  searchQueryParam: search
220
- }), BeforeFolderListTable, totalDocsAndSubfolders > 0 && /*#__PURE__*/_jsx(_Fragment, {
221
- children: activeView === 'grid' ? /*#__PURE__*/_jsxs("div", {
222
- children: [subfolders.length ? /*#__PURE__*/_jsx(_Fragment, {
223
- children: /*#__PURE__*/_jsx(ItemCardGrid, {
293
+ }), BeforeFolderListTable, totalDocsAndSubfolders > 0 && _jsx(_Fragment, {
294
+ children: activeView === "grid" ? _jsxs("div", {
295
+ children: [subfolders.length ? _jsx(_Fragment, {
296
+ children: _jsx(ItemCardGrid, {
224
297
  items: subfolders,
225
- selectedItemKeys: selectedItemKeys,
226
- title: 'Folders',
298
+ title: "Folders",
227
299
  type: "folder"
228
300
  })
229
- }) : null, documents.length ? /*#__PURE__*/_jsx(_Fragment, {
230
- children: /*#__PURE__*/_jsx(ItemCardGrid, {
301
+ }) : null, documents.length ? _jsx(_Fragment, {
302
+ children: _jsx(ItemCardGrid, {
231
303
  items: documents,
232
- selectedItemKeys: selectedItemKeys,
233
304
  subfolderCount: subfolders.length,
234
- title: 'Documents',
305
+ title: "Documents",
235
306
  type: "file"
236
307
  })
237
308
  }) : null]
238
- }) : /*#__PURE__*/_jsx(FolderFileTable, {
239
- dateFormat: config.admin.dateFormat,
240
- documents: documents,
241
- focusedRowIndex: focusedRowIndex,
242
- i18n: i18n,
243
- isMovingItems: isDragging,
244
- onRowClick: onItemClick,
245
- onRowPress: onItemKeyPress,
246
- selectedItems: selectedItemKeys,
247
- subfolders: subfolders
248
- })
249
- }), totalDocsAndSubfolders === 0 && /*#__PURE__*/_jsx(NoListResults, {
250
- Actions: [/*#__PURE__*/_jsx(ListCreateNewDocInFolderButton, {
251
- buttonLabel: `${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`,
309
+ }) : _jsx(FolderFileTable, {})
310
+ }), totalDocsAndSubfolders === 0 && _jsx(NoListResults, {
311
+ Actions: [allowCreateCollectionSlugs.includes(folderCollectionConfig.slug) && _jsx(ListCreateNewDocInFolderButton, {
312
+ buttonLabel: `${t("general:create")} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`,
252
313
  collectionSlugs: [folderCollectionConfig.slug],
253
- onCreateSuccess: onCreateSuccess,
314
+ onCreateSuccess: clearRouteCache,
254
315
  slugPrefix: "create-folder--no-results"
255
- }, "create-folder"), folderID && /*#__PURE__*/_jsx(ListCreateNewDocInFolderButton, {
256
- buttonLabel: `${t('general:create')} ${t('general:document').toLowerCase()}`,
257
- collectionSlugs: hasCreatePermissionCollectionSlugs.filter(slug_0 => slug_0 !== folderCollectionConfig.slug),
258
- onCreateSuccess: onCreateSuccess,
316
+ }, "create-folder"), folderID && allowCreateCollectionSlugs.filter(slug_1 => slug_1 !== folderCollectionConfig.slug).length > 0 && _jsx(ListCreateNewDocInFolderButton, {
317
+ buttonLabel: `${t("general:create")} ${t("general:document").toLowerCase()}`,
318
+ collectionSlugs: allowCreateCollectionSlugs.filter(slug_0 => slug_0 !== folderCollectionConfig.slug),
319
+ onCreateSuccess: clearRouteCache,
259
320
  slugPrefix: "create-document--no-results"
260
321
  }, "create-document")].filter(Boolean),
261
- Message: /*#__PURE__*/_jsx("p", {
262
- children: i18n.t('general:noResults', {
322
+ Message: _jsx("p", {
323
+ children: i18n.t("general:noResults", {
263
324
  label: noResultsLabel
264
325
  })
265
326
  })
266
327
  }), AfterFolderListTable]
267
328
  }), AfterFolderList]
268
- }), /*#__PURE__*/_jsx(DragOverlaySelection, {
329
+ }), _jsx(DragOverlaySelection, {
269
330
  allItems: [...subfolders, ...documents],
270
331
  lastSelected: lastSelectedIndex,
271
- selectedCount: selectedIndexes.size
332
+ selectedCount: selectedItemKeys.size
272
333
  })]
273
334
  });
274
335
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","formatFolderOrDocumentItem","React","Fragment","DroppableBreadcrumb","CollectionTypePill","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","FolderFileTable","ItemCardGrid","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListCreateNewDocInFolderButton","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","useFolder","usePreferences","useRouteCache","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultBrowseByFolderView","props","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","Description","disableBulkDelete","disableBulkEdit","hasCreatePermissionCollectionSlugs","viewPreference","config","getEntityConfig","i18n","t","drawerDepth","setStepNav","clearRouteCache","breakpoints","s","smallBreak","setPreference","addItems","breadcrumbs","documents","filterItems","focusedRowIndex","folderCollectionConfig","folderFieldName","folderID","getSelectedItems","isDragging","lastSelectedIndex","moveToFolder","onItemClick","onItemKeyPress","search","selectedIndexes","setFolderID","setIsDragging","subfolders","visibleCollectionSlugs","activeView","setActiveView","useState","searchPlaceholder","locationLabel","length","labels","plural","name","folderName","onDragEnd","useCallback","event","over","data","current","type","itemsToMove","toFolderID","id","totalDocsAndSubfolders","listHeaderTitle","noResultsLabel","reduce","acc","slug","index","array","collectionConfig","collectionSlug","toLowerCase","onCreateSuccess","doc","isUpload","Boolean","upload","relationTo","useAsTitle","admin","value","selectedItemKeys","useMemo","Set","item","push","handleSetViewType","view","useEffect","label","_jsxs","className","_jsx","filter","join","onClick","map","crumb","crumbIndex","DndEventListener","Actions","AfterListHeaderContent","title","TitleActions","buttonLabel","collectionSlugs","slugPrefix","onSearchChange","searchQueryParam","_Fragment","items","subfolderCount","dateFormat","isMovingItems","onRowClick","onRowPress","selectedItems","singular","Message","allItems","lastSelected","selectedCount","size","t0","$","t1","onDragCancel","onDragStart"],"sources":["../../../src/views/BrowseByFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { CollectionSlug, Document, FolderListViewClientProps } from 'payload'\nimport type { FolderDocumentItemKey } from 'payload/shared'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatFolderOrDocumentItem } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { CollectionTypePill } from '../../elements/FolderView/CollectionTypePill/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { FolderFileTable } from '../../elements/FolderView/FolderFileTable/index.js'\nimport { ItemCardGrid } from '../../elements/FolderView/ItemCardGrid/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport { ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleActions/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../CollectionFolder/ListSelection/index.js'\nimport './index.scss'\n\nconst baseClass = 'folder-list'\n\nexport function DefaultBrowseByFolderView(\n props: {\n hasCreatePermissionCollectionSlugs?: string[]\n selectedCollectionSlugs?: string[]\n } & FolderListViewClientProps,\n) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermissionCollectionSlugs,\n viewPreference,\n } = props\n\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { clearRouteCache } = useRouteCache()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const { setPreference } = usePreferences()\n const {\n addItems,\n breadcrumbs,\n documents,\n filterItems,\n focusedRowIndex,\n folderCollectionConfig,\n folderFieldName,\n folderID,\n getSelectedItems,\n isDragging,\n lastSelectedIndex,\n moveToFolder,\n onItemClick,\n onItemKeyPress,\n search,\n selectedIndexes,\n setFolderID,\n setIsDragging,\n subfolders,\n visibleCollectionSlugs,\n } = useFolder()\n\n const [activeView, setActiveView] = React.useState<'grid' | 'list'>(viewPreference || 'grid')\n const [searchPlaceholder] = React.useState(() => {\n const locationLabel =\n breadcrumbs.length === 0\n ? getTranslation(folderCollectionConfig.labels?.plural, i18n)\n : breadcrumbs[breadcrumbs.length - 1].name\n return t('folder:searchByNameInFolder', {\n folderName: locationLabel,\n })\n })\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id || null,\n })\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n const listHeaderTitle = !breadcrumbs.length\n ? t('folder:browseByFolder')\n : breadcrumbs[breadcrumbs.length - 1].name\n const noResultsLabel = visibleCollectionSlugs.reduce((acc, slug, index, array) => {\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n if (index === 0) {\n return getTranslation(collectionConfig.labels?.plural, i18n)\n }\n if (index === array.length - 1) {\n return `${acc} ${t('general:or').toLowerCase()} ${getTranslation(collectionConfig.labels?.plural, i18n)}`\n }\n return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`\n }, '')\n\n const onCreateSuccess = React.useCallback(\n ({ collectionSlug, doc }: { collectionSlug: CollectionSlug; doc: Document }) => {\n const collectionConfig = getEntityConfig({ collectionSlug })\n void addItems([\n formatFolderOrDocumentItem({\n folderFieldName,\n isUpload: Boolean(collectionConfig?.upload),\n relationTo: collectionSlug,\n useAsTitle: collectionConfig.admin.useAsTitle,\n value: doc,\n }),\n ])\n },\n [getEntityConfig, addItems, folderFieldName],\n )\n\n const selectedItemKeys = React.useMemo(() => {\n return new Set(\n getSelectedItems().reduce<FolderDocumentItemKey[]>((acc, item) => {\n if (item) {\n if (item.relationTo && item.value) {\n acc.push(`${item.relationTo}-${item.value.id}`)\n }\n }\n return acc\n }, []),\n )\n }, [getSelectedItems])\n\n const handleSetViewType = React.useCallback(\n (view: 'grid' | 'list') => {\n void setPreference('browse-by-folder', {\n viewPreference: view,\n })\n setActiveView(view)\n },\n [setPreference],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n void setFolderID({ folderID: null })\n }}\n >\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n void setFolderID({ folderID: crumb.id })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [setStepNav, drawerDepth, i18n, breadcrumbs, setFolderID, t])\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n <div className={`${baseClass} ${baseClass}--folders`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n key=\"list-selection\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={listHeaderTitle}\n TitleActions={[\n <ListCreateNewDocInFolderButton\n buttonLabel={t('general:createNew')}\n collectionSlugs={hasCreatePermissionCollectionSlugs}\n key=\"create-new-button\"\n onCreateSuccess={onCreateSuccess}\n slugPrefix=\"create-document--header-pill\"\n />,\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n folderID && <CollectionTypePill key=\"collection-type\" />,\n <ToggleViewButtons\n activeView={activeView}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={searchPlaceholder}\n onSearchChange={(search) => filterItems({ search })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && (\n <>\n {activeView === 'grid' ? (\n <div>\n {subfolders.length ? (\n <>\n <ItemCardGrid\n items={subfolders}\n selectedItemKeys={selectedItemKeys}\n title={'Folders'}\n type=\"folder\"\n />\n </>\n ) : null}\n\n {documents.length ? (\n <>\n <ItemCardGrid\n items={documents}\n selectedItemKeys={selectedItemKeys}\n subfolderCount={subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n ) : (\n <FolderFileTable\n dateFormat={config.admin.dateFormat}\n documents={documents}\n focusedRowIndex={focusedRowIndex}\n i18n={i18n}\n isMovingItems={isDragging}\n onRowClick={onItemClick}\n onRowPress={onItemKeyPress}\n selectedItems={selectedItemKeys}\n subfolders={subfolders}\n />\n )}\n </>\n )}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionConfig.slug]}\n key=\"create-folder\"\n onCreateSuccess={onCreateSuccess}\n slugPrefix=\"create-folder--no-results\"\n />,\n folderID && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n collectionSlugs={hasCreatePermissionCollectionSlugs.filter(\n (slug) => slug !== folderCollectionConfig.slug,\n )}\n key=\"create-document\"\n onCreateSuccess={onCreateSuccess}\n slugPrefix=\"create-document--no-results\"\n />\n ),\n ].filter(Boolean)}\n Message={\n <p>\n {i18n.t('general:noResults', {\n label: noResultsLabel,\n })}\n </p>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n <DragOverlaySelection\n allItems={[...subfolders, ...documents]}\n lastSelected={lastSelectedIndex}\n selectedCount={selectedIndexes.size}\n />\n </Fragment>\n )\n}\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","React","Fragment","DroppableBreadcrumb","CollectionTypePill","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","FolderFileTable","ItemCardGrid","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListCreateNewDocInFolderButton","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultBrowseByFolderView","activeCollectionFolderSlugs","allCollectionFolderSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","subfolders","restOfProps","_jsx","BrowseByFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","Description","disableBulkDelete","disableBulkEdit","viewPreference","router","getEntityConfig","i18n","t","drawerDepth","setStepNav","startRouteTransition","clearRouteCache","breakpoints","t0","s","smallBreak","setPreference","visibleCollectionSlugs","folderCollectionConfig","getFolderRoute","getSelectedItems","lastSelectedIndex","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","activeView","setActiveView","useState","t1","locationLabel","length","labels","plural","name","folderName","searchPlaceholder","t2","event","over","data","current","type","itemsToMove","toFolderID","id","onDragEnd","totalDocsAndSubfolders","t3","listHeaderTitle","t4","acc","slug","index","array","collectionConfig","collectionSlug","toLowerCase","noResultsLabel","reduce","handleSetViewType","view","t5","t6","label","_jsxs","className","children","filter","Boolean","join","onClick","push","map","crumb","crumbIndex","useEffect","t7","search_0","query","updateURL","DndEventListener","Actions","AfterListHeaderContent","title","TitleActions","buttonLabel","collectionSlugs","onCreateSuccess","slugPrefix","onSearchChange","searchQueryParam","_Fragment","items","subfolderCount","includes","singular","slug_1","slug_0","Message","allItems","lastSelected","selectedCount","size","onDragCancel","onDragStart"],"sources":["../../../src/views/BrowseByFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { FolderListViewClientProps } from 'payload'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { CollectionTypePill } from '../../elements/FolderView/CollectionTypePill/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { FolderFileTable } from '../../elements/FolderView/FolderFileTable/index.js'\nimport { ItemCardGrid } from '../../elements/FolderView/ItemCardGrid/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport { ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleActions/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { FolderProvider, useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../CollectionFolder/ListSelection/index.js'\nimport './index.scss'\n\nconst baseClass = 'folder-list'\n\nexport function DefaultBrowseByFolderView({\n activeCollectionFolderSlugs,\n allCollectionFolderSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n activeCollectionFolderSlugs={activeCollectionFolderSlugs}\n allCollectionFolderSlugs={allCollectionFolderSlugs}\n allowCreateCollectionSlugs={allowCreateCollectionSlugs}\n baseFolderPath={baseFolderPath}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n search={search}\n subfolders={subfolders}\n >\n <BrowseByFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype BrowseByFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'activeCollectionFolderSlugs'\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction BrowseByFolderViewInContext(props: BrowseByFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n viewPreference,\n } = props\n\n const router = useRouter()\n const { getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const { setPreference } = usePreferences()\n const {\n activeCollectionFolderSlugs: visibleCollectionSlugs,\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n folderCollectionConfig,\n folderID,\n getFolderRoute,\n getSelectedItems,\n lastSelectedIndex,\n moveToFolder,\n refineFolderData,\n search,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n\n const [activeView, setActiveView] = React.useState<'grid' | 'list'>(viewPreference || 'grid')\n const [searchPlaceholder] = React.useState(() => {\n const locationLabel =\n breadcrumbs.length === 0\n ? getTranslation(folderCollectionConfig.labels?.plural, i18n)\n : breadcrumbs[breadcrumbs.length - 1].name\n return t('folder:searchByNameInFolder', {\n folderName: locationLabel,\n })\n })\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id || null,\n })\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n const listHeaderTitle = !breadcrumbs.length\n ? t('folder:browseByFolder')\n : breadcrumbs[breadcrumbs.length - 1].name\n const noResultsLabel = visibleCollectionSlugs.reduce((acc, slug, index, array) => {\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n if (index === 0) {\n return getTranslation(collectionConfig.labels?.plural, i18n)\n }\n if (index === array.length - 1) {\n return `${acc} ${t('general:or').toLowerCase()} ${getTranslation(collectionConfig.labels?.plural, i18n)}`\n }\n return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`\n }, '')\n\n const handleSetViewType = React.useCallback(\n (view: 'grid' | 'list') => {\n void setPreference('browse-by-folder', {\n viewPreference: view,\n })\n setActiveView(view)\n },\n [setPreference],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(null))\n })\n }}\n >\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(crumb.id))\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t])\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n <div className={`${baseClass} ${baseClass}--folders`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n key=\"list-selection\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={listHeaderTitle}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={t('general:createNew')}\n collectionSlugs={allowCreateCollectionSlugs}\n key=\"create-new-button\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--header-pill\"\n />\n ),\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n folderID && <CollectionTypePill key=\"collection-type\" />,\n <ToggleViewButtons\n activeView={activeView}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={searchPlaceholder}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && (\n <>\n {activeView === 'grid' ? (\n <div>\n {subfolders.length ? (\n <>\n <ItemCardGrid items={subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {documents.length ? (\n <>\n <ItemCardGrid\n items={documents}\n subfolderCount={subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n ) : (\n <FolderFileTable />\n )}\n </>\n )}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionConfig.slug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionConfig.slug]}\n key=\"create-folder\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-folder--no-results\"\n />\n ),\n folderID &&\n allowCreateCollectionSlugs.filter((slug) => slug !== folderCollectionConfig.slug)\n .length > 0 && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n collectionSlugs={allowCreateCollectionSlugs.filter(\n (slug) => slug !== folderCollectionConfig.slug,\n )}\n key=\"create-document\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--no-results\"\n />\n ),\n ].filter(Boolean)}\n Message={\n <p>\n {i18n.t('general:noResults', {\n label: noResultsLabel,\n })}\n </p>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n <DragOverlaySelection\n allItems={[...subfolders, ...documents]}\n lastSelected={lastSelectedIndex}\n selectedCount={selectedItemKeys.size}\n />\n </Fragment>\n )\n}\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/CollectionFolder/ListSelection/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAwBvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4KtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/CollectionFolder/ListSelection/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAyBvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqJtD,CAAA"}