@payloadcms/ui 3.0.0-canary.23fcb9e → 3.0.0-canary.294ea5c
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.
- package/dist/elements/AddNewRelation/index.d.ts.map +1 -0
- package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.js +98 -82
- package/dist/elements/AddNewRelation/index.js.map +1 -0
- package/dist/elements/AddNewRelation/index.scss +42 -0
- package/dist/elements/AddNewRelation/types.d.ts +11 -0
- package/dist/elements/AddNewRelation/types.d.ts.map +1 -0
- package/dist/elements/AddNewRelation/types.js.map +1 -0
- package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +1 -0
- package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.js +1 -1
- package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -0
- package/dist/elements/AppHeader/index.js +41 -80
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +148 -231
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Button/index.js +86 -218
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Collapsible/index.js +44 -62
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/index.scss +15 -28
- package/dist/elements/CopyToClipboard/index.js +20 -54
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +59 -119
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/EditMany/index.js +124 -230
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +133 -206
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +20 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +116 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.scss +33 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +17 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.js +71 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -0
- package/dist/elements/FileDetails/{index.scss → StaticFileDetails/index.scss} +1 -1
- package/dist/elements/FileDetails/index.d.ts +19 -4
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js +11 -62
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +91 -192
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +42 -31
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +4 -1
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/Nav/context.js +47 -83
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/SaveButton/index.js +30 -81
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +54 -116
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +21 -77
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectMany/index.d.ts +6 -0
- package/dist/elements/SelectMany/index.d.ts.map +1 -0
- package/dist/elements/SelectMany/index.js +29 -0
- package/dist/elements/SelectMany/index.js.map +1 -0
- package/dist/elements/Upload/index.js +130 -280
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-C4FLUUO7.js → CodeEditor-MTP455NO.js} +2 -2
- package/dist/exports/client/chunk-NJHSEGFB.js +14 -0
- package/dist/exports/client/{chunk-UGBVRIVY.js.map → chunk-NJHSEGFB.js.map} +2 -2
- package/dist/exports/client/index.d.ts +1 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +13 -13
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +319 -507
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.d.ts +4 -0
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -0
- package/dist/fields/Upload/HasMany/index.js +238 -0
- package/dist/fields/Upload/HasMany/index.js.map +1 -0
- package/dist/fields/Upload/HasMany/index.scss +71 -0
- package/dist/fields/Upload/{Input.d.ts → HasOne/Input.d.ts} +1 -1
- package/dist/fields/Upload/HasOne/Input.d.ts.map +1 -0
- package/dist/fields/Upload/{Input.js → HasOne/Input.js} +12 -12
- package/dist/fields/Upload/HasOne/Input.js.map +1 -0
- package/dist/fields/Upload/HasOne/index.d.ts +12 -0
- package/dist/fields/Upload/HasOne/index.d.ts.map +1 -0
- package/dist/fields/Upload/HasOne/index.js +131 -0
- package/dist/fields/Upload/HasOne/index.js.map +1 -0
- package/dist/fields/Upload/{index.scss → HasOne/index.scss} +1 -1
- package/dist/fields/Upload/index.d.ts +4 -4
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +84 -98
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/Submit/index.js +12 -28
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -27
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/hooks/useDelay.js +15 -48
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +32 -71
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useIntersect.js +14 -20
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.js +8 -6
- package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
- package/dist/providers/ListInfo/index.d.ts +6 -0
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +1 -3
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +5 -3
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +102 -190
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/scss/app.scss +6 -6
- package/dist/scss/type.scss +4 -4
- package/dist/styles.css +1 -1
- package/package.json +8 -8
- package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
- package/dist/fields/Relationship/AddNew/index.d.ts.map +0 -1
- package/dist/fields/Relationship/AddNew/index.js.map +0 -1
- package/dist/fields/Relationship/AddNew/index.scss +0 -28
- package/dist/fields/Relationship/AddNew/types.d.ts +0 -12
- package/dist/fields/Relationship/AddNew/types.d.ts.map +0 -1
- package/dist/fields/Relationship/AddNew/types.js.map +0 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +0 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +0 -1
- package/dist/fields/Upload/Input.d.ts.map +0 -1
- package/dist/fields/Upload/Input.js.map +0 -1
- /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.d.ts +0 -0
- /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/types.js +0 -0
- /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.d.ts +0 -0
- /package/dist/exports/client/{CodeEditor-C4FLUUO7.js.map → CodeEditor-MTP455NO.js.map} +0 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
4
|
import { useWindowInfo } from '@faceless-ui/window-info';
|
|
6
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
7
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
6
|
+
import React, { Fragment, useEffect, useRef, useState } from 'react';
|
|
8
7
|
import AnimateHeightImport from 'react-animate-height';
|
|
9
8
|
const AnimateHeight = AnimateHeightImport.default || AnimateHeightImport;
|
|
10
9
|
import { useUseTitleField } from '../../hooks/useUseAsTitle.js';
|
|
@@ -32,20 +31,20 @@ const baseClass = 'list-controls';
|
|
|
32
31
|
* the collection's documents.
|
|
33
32
|
*/
|
|
34
33
|
export const ListControls = props => {
|
|
35
|
-
const $ = _c(34);
|
|
36
34
|
const {
|
|
37
35
|
collectionConfig,
|
|
38
|
-
enableColumns
|
|
39
|
-
enableSort
|
|
36
|
+
enableColumns = true,
|
|
37
|
+
enableSort = false,
|
|
40
38
|
fields
|
|
41
39
|
} = props;
|
|
42
|
-
const enableColumns = t0 === undefined ? true : t0;
|
|
43
|
-
const enableSort = t1 === undefined ? false : t1;
|
|
44
40
|
const {
|
|
45
41
|
handleSearchChange
|
|
46
42
|
} = useListQuery();
|
|
47
43
|
const {
|
|
48
|
-
|
|
44
|
+
beforeActions,
|
|
45
|
+
collectionSlug,
|
|
46
|
+
disableBulkDelete,
|
|
47
|
+
disableBulkEdit
|
|
49
48
|
} = useListInfo();
|
|
50
49
|
const {
|
|
51
50
|
searchParams
|
|
@@ -56,228 +55,128 @@ export const ListControls = props => {
|
|
|
56
55
|
t
|
|
57
56
|
} = useTranslation();
|
|
58
57
|
const {
|
|
59
|
-
breakpoints:
|
|
58
|
+
breakpoints: {
|
|
59
|
+
s: smallBreak
|
|
60
|
+
}
|
|
60
61
|
} = useWindowInfo();
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
let t3;
|
|
66
|
-
if ($[0] !== titleField || $[1] !== i18n) {
|
|
67
|
-
t3 = (titleField && getTranslation("label" in titleField && typeof titleField.label === "string" ? titleField.label : "name" in titleField ? titleField.name : null, i18n)) ?? "ID";
|
|
68
|
-
$[0] = titleField;
|
|
69
|
-
$[1] = i18n;
|
|
70
|
-
$[2] = t3;
|
|
71
|
-
} else {
|
|
72
|
-
t3 = $[2];
|
|
73
|
-
}
|
|
74
|
-
const searchLabel = t3;
|
|
75
|
-
let t4;
|
|
76
|
-
if ($[3] !== collectionConfig.admin.listSearchableFields || $[4] !== fields) {
|
|
77
|
-
t4 = getTextFieldsToBeSearched(collectionConfig.admin.listSearchableFields, fields);
|
|
78
|
-
$[3] = collectionConfig.admin.listSearchableFields;
|
|
79
|
-
$[4] = fields;
|
|
80
|
-
$[5] = t4;
|
|
81
|
-
} else {
|
|
82
|
-
t4 = $[5];
|
|
83
|
-
}
|
|
84
|
-
const listSearchableFields = t4;
|
|
85
|
-
const searchLabelTranslated = useRef(t("general:searchBy", {
|
|
62
|
+
const [search, setSearch] = useState(typeof searchParams?.search === 'string' ? searchParams?.search : '');
|
|
63
|
+
const searchLabel = (titleField && getTranslation('label' in titleField && typeof titleField.label === 'string' ? titleField.label : 'name' in titleField ? titleField.name : null, i18n)) ?? 'ID';
|
|
64
|
+
const listSearchableFields = getTextFieldsToBeSearched(collectionConfig.admin.listSearchableFields, fields);
|
|
65
|
+
const searchLabelTranslated = useRef(t('general:searchBy', {
|
|
86
66
|
label: getTranslation(searchLabel, i18n)
|
|
87
67
|
}));
|
|
88
68
|
const hasWhereParam = useRef(Boolean(searchParams?.where));
|
|
89
69
|
const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where);
|
|
90
|
-
const [visibleDrawer, setVisibleDrawer] = useState(shouldInitializeWhereOpened ?
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
hasWhereParam.current = true;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
$[6] = searchParams;
|
|
104
|
-
$[7] = t5;
|
|
105
|
-
} else {
|
|
106
|
-
t5 = $[7];
|
|
107
|
-
}
|
|
108
|
-
const t6 = searchParams?.where;
|
|
109
|
-
let t7;
|
|
110
|
-
if ($[8] !== t6) {
|
|
111
|
-
t7 = [setVisibleDrawer, t6];
|
|
112
|
-
$[8] = t6;
|
|
113
|
-
$[9] = t7;
|
|
114
|
-
} else {
|
|
115
|
-
t7 = $[9];
|
|
116
|
-
}
|
|
117
|
-
useEffect(t5, t7);
|
|
118
|
-
let t8;
|
|
119
|
-
if ($[10] !== t || $[11] !== listSearchableFields || $[12] !== i18n || $[13] !== searchLabel) {
|
|
120
|
-
t8 = [t, listSearchableFields, i18n, searchLabel];
|
|
121
|
-
$[10] = t;
|
|
122
|
-
$[11] = listSearchableFields;
|
|
123
|
-
$[12] = i18n;
|
|
124
|
-
$[13] = searchLabel;
|
|
125
|
-
$[14] = t8;
|
|
126
|
-
} else {
|
|
127
|
-
t8 = $[14];
|
|
128
|
-
}
|
|
70
|
+
const [visibleDrawer, setVisibleDrawer] = useState(shouldInitializeWhereOpened ? 'where' : undefined);
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
if (hasWhereParam.current && !searchParams?.where) {
|
|
73
|
+
setVisibleDrawer(undefined);
|
|
74
|
+
hasWhereParam.current = false;
|
|
75
|
+
} else if (searchParams?.where) {
|
|
76
|
+
hasWhereParam.current = true;
|
|
77
|
+
}
|
|
78
|
+
}, [setVisibleDrawer, searchParams?.where]);
|
|
129
79
|
useEffect(() => {
|
|
130
80
|
if (listSearchableFields?.length > 0) {
|
|
131
81
|
searchLabelTranslated.current = listSearchableFields.reduce((placeholderText, field, i) => {
|
|
132
|
-
const label =
|
|
82
|
+
const label = 'label' in field && field.label ? field.label : 'name' in field ? field.name : null;
|
|
133
83
|
if (i === 0) {
|
|
134
|
-
return `${t(
|
|
84
|
+
return `${t('general:searchBy', {
|
|
135
85
|
label: getTranslation(label, i18n)
|
|
136
86
|
})}`;
|
|
137
87
|
}
|
|
138
88
|
if (i === listSearchableFields.length - 1) {
|
|
139
|
-
return `${placeholderText} ${t(
|
|
89
|
+
return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`;
|
|
140
90
|
}
|
|
141
91
|
return `${placeholderText}, ${getTranslation(label, i18n)}`;
|
|
142
|
-
},
|
|
92
|
+
}, '');
|
|
143
93
|
} else {
|
|
144
|
-
searchLabelTranslated.current = t(
|
|
94
|
+
searchLabelTranslated.current = t('general:searchBy', {
|
|
145
95
|
label: getTranslation(searchLabel, i18n)
|
|
146
96
|
});
|
|
147
97
|
}
|
|
148
|
-
},
|
|
149
|
-
|
|
150
|
-
if ($[15] !== handleSearchChange) {
|
|
151
|
-
t9 = search_0 => void handleSearchChange(search_0);
|
|
152
|
-
$[15] = handleSearchChange;
|
|
153
|
-
$[16] = t9;
|
|
154
|
-
} else {
|
|
155
|
-
t9 = $[16];
|
|
156
|
-
}
|
|
157
|
-
let t10;
|
|
158
|
-
if ($[17] !== enableColumns || $[18] !== visibleDrawer || $[19] !== t) {
|
|
159
|
-
t10 = enableColumns && _jsx(Pill, {
|
|
160
|
-
"aria-controls": `${baseClass}-columns`,
|
|
161
|
-
"aria-expanded": visibleDrawer === "columns",
|
|
162
|
-
className: `${baseClass}__toggle-columns ${visibleDrawer === "columns" ? `${baseClass}__buttons-active` : ""}`,
|
|
163
|
-
icon: _jsx(ChevronIcon, {}),
|
|
164
|
-
onClick: () => setVisibleDrawer(visibleDrawer !== "columns" ? "columns" : undefined),
|
|
165
|
-
pillStyle: "light",
|
|
166
|
-
children: t("general:columns")
|
|
167
|
-
});
|
|
168
|
-
$[17] = enableColumns;
|
|
169
|
-
$[18] = visibleDrawer;
|
|
170
|
-
$[19] = t;
|
|
171
|
-
$[20] = t10;
|
|
172
|
-
} else {
|
|
173
|
-
t10 = $[20];
|
|
174
|
-
}
|
|
175
|
-
let t11;
|
|
176
|
-
if ($[21] !== visibleDrawer) {
|
|
177
|
-
t11 = () => setVisibleDrawer(visibleDrawer !== "where" ? "where" : undefined);
|
|
178
|
-
$[21] = visibleDrawer;
|
|
179
|
-
$[22] = t11;
|
|
180
|
-
} else {
|
|
181
|
-
t11 = $[22];
|
|
182
|
-
}
|
|
183
|
-
let t12;
|
|
184
|
-
if ($[23] !== enableSort || $[24] !== visibleDrawer || $[25] !== t) {
|
|
185
|
-
t12 = enableSort && _jsx(Pill, {
|
|
186
|
-
"aria-controls": `${baseClass}-sort`,
|
|
187
|
-
"aria-expanded": visibleDrawer === "sort",
|
|
188
|
-
className: `${baseClass}__toggle-sort`,
|
|
189
|
-
icon: _jsx(ChevronIcon, {}),
|
|
190
|
-
onClick: () => setVisibleDrawer(visibleDrawer !== "sort" ? "sort" : undefined),
|
|
191
|
-
pillStyle: "light",
|
|
192
|
-
children: t("general:sort")
|
|
193
|
-
});
|
|
194
|
-
$[23] = enableSort;
|
|
195
|
-
$[24] = visibleDrawer;
|
|
196
|
-
$[25] = t;
|
|
197
|
-
$[26] = t12;
|
|
198
|
-
} else {
|
|
199
|
-
t12 = $[26];
|
|
200
|
-
}
|
|
201
|
-
let t13;
|
|
202
|
-
if ($[27] !== enableColumns || $[28] !== visibleDrawer || $[29] !== collectionConfig) {
|
|
203
|
-
t13 = enableColumns && _jsx(AnimateHeight, {
|
|
204
|
-
className: `${baseClass}__columns`,
|
|
205
|
-
height: visibleDrawer === "columns" ? "auto" : 0,
|
|
206
|
-
id: `${baseClass}-columns`,
|
|
207
|
-
children: _jsx(ColumnSelector, {
|
|
208
|
-
collectionSlug: collectionConfig.slug
|
|
209
|
-
})
|
|
210
|
-
});
|
|
211
|
-
$[27] = enableColumns;
|
|
212
|
-
$[28] = visibleDrawer;
|
|
213
|
-
$[29] = collectionConfig;
|
|
214
|
-
$[30] = t13;
|
|
215
|
-
} else {
|
|
216
|
-
t13 = $[30];
|
|
217
|
-
}
|
|
218
|
-
let t14;
|
|
219
|
-
if ($[31] !== enableSort || $[32] !== visibleDrawer) {
|
|
220
|
-
t14 = enableSort && _jsx(AnimateHeight, {
|
|
221
|
-
className: `${baseClass}__sort`,
|
|
222
|
-
height: visibleDrawer === "sort" ? "auto" : 0,
|
|
223
|
-
id: `${baseClass}-sort`,
|
|
224
|
-
children: _jsx("p", {
|
|
225
|
-
children: "Sort Complex"
|
|
226
|
-
})
|
|
227
|
-
});
|
|
228
|
-
$[31] = enableSort;
|
|
229
|
-
$[32] = visibleDrawer;
|
|
230
|
-
$[33] = t14;
|
|
231
|
-
} else {
|
|
232
|
-
t14 = $[33];
|
|
233
|
-
}
|
|
234
|
-
return _jsxs("div", {
|
|
98
|
+
}, [t, listSearchableFields, i18n, searchLabel]);
|
|
99
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
235
100
|
className: baseClass,
|
|
236
|
-
children: [_jsxs("div", {
|
|
101
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
237
102
|
className: `${baseClass}__wrap`,
|
|
238
|
-
children: [_jsx(SearchIcon, {}), _jsx(SearchFilter, {
|
|
239
|
-
fieldName:
|
|
240
|
-
handleChange:
|
|
103
|
+
children: [/*#__PURE__*/_jsx(SearchIcon, {}), /*#__PURE__*/_jsx(SearchFilter, {
|
|
104
|
+
fieldName: 'name' in titleField ? titleField?.name : null,
|
|
105
|
+
handleChange: search_0 => {
|
|
106
|
+
return void handleSearchChange(search_0);
|
|
107
|
+
},
|
|
241
108
|
initialParams: searchParams,
|
|
242
109
|
label: searchLabelTranslated.current,
|
|
243
110
|
setValue: setSearch,
|
|
244
111
|
value: search
|
|
245
|
-
}, collectionSlug), _jsx("div", {
|
|
112
|
+
}, collectionSlug), /*#__PURE__*/_jsx("div", {
|
|
246
113
|
className: `${baseClass}__buttons`,
|
|
247
|
-
children: _jsxs("div", {
|
|
114
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
248
115
|
className: `${baseClass}__buttons-wrap`,
|
|
249
|
-
children: [!smallBreak && _jsxs(React.Fragment, {
|
|
250
|
-
children: [
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
116
|
+
children: [!smallBreak && /*#__PURE__*/_jsxs(React.Fragment, {
|
|
117
|
+
children: [beforeActions && beforeActions, !disableBulkEdit && /*#__PURE__*/_jsxs(Fragment, {
|
|
118
|
+
children: [/*#__PURE__*/_jsx(EditMany, {
|
|
119
|
+
collection: collectionConfig,
|
|
120
|
+
fields: fields
|
|
121
|
+
}), /*#__PURE__*/_jsx(PublishMany, {
|
|
122
|
+
collection: collectionConfig
|
|
123
|
+
}), /*#__PURE__*/_jsx(UnpublishMany, {
|
|
124
|
+
collection: collectionConfig
|
|
125
|
+
})]
|
|
126
|
+
}), !disableBulkDelete && /*#__PURE__*/_jsx(DeleteMany, {
|
|
258
127
|
collection: collectionConfig
|
|
259
128
|
})]
|
|
260
|
-
}),
|
|
129
|
+
}), enableColumns && /*#__PURE__*/_jsx(Pill, {
|
|
130
|
+
"aria-controls": `${baseClass}-columns`,
|
|
131
|
+
"aria-expanded": visibleDrawer === 'columns',
|
|
132
|
+
className: `${baseClass}__toggle-columns ${visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''}`,
|
|
133
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
|
|
134
|
+
onClick: () => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined),
|
|
135
|
+
pillStyle: "light",
|
|
136
|
+
children: t('general:columns')
|
|
137
|
+
}), /*#__PURE__*/_jsx(Pill, {
|
|
261
138
|
"aria-controls": `${baseClass}-where`,
|
|
262
|
-
"aria-expanded": visibleDrawer ===
|
|
263
|
-
className: `${baseClass}__toggle-where ${visibleDrawer ===
|
|
264
|
-
icon: _jsx(ChevronIcon, {}),
|
|
265
|
-
onClick:
|
|
139
|
+
"aria-expanded": visibleDrawer === 'where',
|
|
140
|
+
className: `${baseClass}__toggle-where ${visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''}`,
|
|
141
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
|
|
142
|
+
onClick: () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined),
|
|
266
143
|
pillStyle: "light",
|
|
267
|
-
children: t(
|
|
268
|
-
}),
|
|
144
|
+
children: t('general:filters')
|
|
145
|
+
}), enableSort && /*#__PURE__*/_jsx(Pill, {
|
|
146
|
+
"aria-controls": `${baseClass}-sort`,
|
|
147
|
+
"aria-expanded": visibleDrawer === 'sort',
|
|
148
|
+
className: `${baseClass}__toggle-sort`,
|
|
149
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
|
|
150
|
+
onClick: () => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined),
|
|
151
|
+
pillStyle: "light",
|
|
152
|
+
children: t('general:sort')
|
|
153
|
+
})]
|
|
269
154
|
})
|
|
270
155
|
})]
|
|
271
|
-
}),
|
|
156
|
+
}), enableColumns && /*#__PURE__*/_jsx(AnimateHeight, {
|
|
157
|
+
className: `${baseClass}__columns`,
|
|
158
|
+
height: visibleDrawer === 'columns' ? 'auto' : 0,
|
|
159
|
+
id: `${baseClass}-columns`,
|
|
160
|
+
children: /*#__PURE__*/_jsx(ColumnSelector, {
|
|
161
|
+
collectionSlug: collectionConfig.slug
|
|
162
|
+
})
|
|
163
|
+
}), /*#__PURE__*/_jsx(AnimateHeight, {
|
|
272
164
|
className: `${baseClass}__where`,
|
|
273
|
-
height: visibleDrawer ===
|
|
165
|
+
height: visibleDrawer === 'where' ? 'auto' : 0,
|
|
274
166
|
id: `${baseClass}-where`,
|
|
275
|
-
children: _jsx(WhereBuilder, {
|
|
167
|
+
children: /*#__PURE__*/_jsx(WhereBuilder, {
|
|
276
168
|
collectionPluralLabel: collectionConfig?.labels?.plural,
|
|
277
169
|
collectionSlug: collectionConfig.slug,
|
|
278
|
-
fields
|
|
170
|
+
fields: fields
|
|
279
171
|
}, String(hasWhereParam.current && !searchParams?.where))
|
|
280
|
-
}),
|
|
172
|
+
}), enableSort && /*#__PURE__*/_jsx(AnimateHeight, {
|
|
173
|
+
className: `${baseClass}__sort`,
|
|
174
|
+
height: visibleDrawer === 'sort' ? 'auto' : 0,
|
|
175
|
+
id: `${baseClass}-sort`,
|
|
176
|
+
children: /*#__PURE__*/_jsx("p", {
|
|
177
|
+
children: "Sort Complex"
|
|
178
|
+
})
|
|
179
|
+
})]
|
|
281
180
|
});
|
|
282
181
|
};
|
|
283
182
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useWindowInfo","getTranslation","React","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","SearchIcon","useListInfo","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","$","collectionConfig","enableColumns","t0","enableSort","t1","fields","undefined","handleSearchChange","collectionSlug","searchParams","titleField","i18n","t","breakpoints","t2","s","smallBreak","search","setSearch","t3","label","name","searchLabel","t4","admin","listSearchableFields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","t5","current","t6","t7","t8","length","reduce","placeholderText","field","i","t9","search_0","t10","_jsx","className","icon","onClick","pillStyle","children","t11","t12","t13","height","id","slug","t14","_jsxs","fieldName","handleChange","initialParams","setValue","value","Fragment","collection","collectionPluralLabel","labels","plural","String"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListInfo } from '../../providers/ListInfo/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly fields: ClientField[]\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fields } = props\n\n const { handleSearchChange } = useListQuery()\n const { collectionSlug } = useListInfo()\n const { searchParams } = useSearchParams()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const [search, setSearch] = useState(\n typeof searchParams?.search === 'string' ? searchParams?.search : '',\n )\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(searchParams?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !searchParams?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (searchParams?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, searchParams?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n initialParams={searchParams}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n setValue={setSearch}\n value={search}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={fields}\n key={String(hasWhereParam.current && !searchParams?.where)}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AACnD,OAAOC,mBAAA,MAAyB;AAEhC,MAAMC,aAAA,GAAiBD,mBAAA,CAAoBE,OAAO,IAChDF,mBAAA;AAEF,SAASG,gBAAgB,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAC5B,SAASC,UAAU,QAAQ;AAC3B,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,IAAI,QAAQ;AACrB,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,OAAOC,kBAAA,MAAwB;AAC/B,SAASC,yBAAyB,QAAQ;AAC1C,OAAO;AAEP,MAAMC,SAAA,GAAY;AAYlB;;;;;AAKA,OAAO,MAAMC,YAAA,GAA4CC,KAAA;EAAA,MAAAC,CAAA,GAAA9B,EAAA;EACvD;IAAA+B,gBAAA;IAAAC,aAAA,EAAAC,EAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC;EAAA,IAA+EP,KAAA;EAArD,MAAAG,aAAA,GAAAC,EAAoB,KAAAI,SAAA,UAApBJ,EAAoB;EAAE,MAAAC,UAAA,GAAAC,EAAkB,KAAAE,SAAA,WAAlBF,EAAkB;EAElE;IAAAG;EAAA,IAA+BxB,YAAA;EAC/B;IAAAyB;EAAA,IAA2B1B,WAAA;EAC3B;IAAA2B;EAAA,IAAyBzB,eAAA;EACzB,MAAA0B,UAAA,GAAmB/B,gBAAA,CAAiBqB,gBAAA,EAAkBK,MAAA;EACtD;IAAAM,IAAA;IAAAC;EAAA,IAAoB3B,cAAA;EACpB;IAAA4B,WAAA,EAAAC;EAAA,IAEI5C,aAAA;EADW;IAAA6C,CAAA,EAAAC;EAAA,IAAAF,EAAiB;EAEhC,OAAAG,MAAA,EAAAC,SAAA,IAA4B3C,QAAA,CAC1B,OAAOkC,YAAA,EAAAQ,MAAA,KAAyB,WAAWR,YAAA,EAAAQ,MAAA,GAAuB;EAAA,IAAAE,EAAA;EAAA,IAAApB,CAAA,QAAAW,UAAA,IAAAX,CAAA,QAAAY,IAAA;IAIlEQ,EAAA,IAACT,UAAA,IACCvC,cAAA,CACE,WAAWuC,UAAA,IAAc,OAAOA,UAAA,CAAAU,KAAA,KAAqB,WACjDV,UAAA,CAAAU,KAAA,GACA,UAAUV,UAAA,GACRA,UAAA,CAAAW,IAAA,OACA,EACNV,IAAA,CACF,KACF;IAAAZ,CAAA,MAAAW,UAAA;IAAAX,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAoB,EAAA;EAAA;IAAAA,EAAA,GAAApB,CAAA;EAAA;EAVF,MAAAuB,WAAA,GACEH,EASA;EAAA,IAAAI,EAAA;EAAA,IAAAxB,CAAA,QAAAC,gBAAA,CAAAwB,KAAA,CAAAC,oBAAA,IAAA1B,CAAA,QAAAM,MAAA;IAE2BkB,EAAA,GAAA5B,yBAAA,CAC3BK,gBAAA,CAAAwB,KAAA,CAAAC,oBAAA,EACApB,MAAA;IAAAN,CAAA,MAAAC,gBAAA,CAAAwB,KAAA,CAAAC,oBAAA;IAAA1B,CAAA,MAAAM,MAAA;IAAAN,CAAA,MAAAwB,EAAA;EAAA;IAAAA,EAAA,GAAAxB,CAAA;EAAA;EAFF,MAAA0B,oBAAA,GAA6BF,EAE3B;EAGF,MAAAG,qBAAA,GAA8BpD,MAAA,CAC5BsC,CAAA,CAAE;IAAAQ,KAAA,EAA6BjD,cAAA,CAAemD,WAAA,EAAaX,IAAA;EAAA,CAAM;EAGnE,MAAAgB,aAAA,GAAsBrD,MAAA,CAAOsD,OAAA,CAAQnB,YAAA,EAAAoB,KAAc;EAEnD,MAAAC,2BAAA,GAAoCpC,kBAAA,CAAmBe,YAAA,EAAAoB,KAAc;EACrE,OAAAE,aAAA,EAAAC,gBAAA,IAA0CzD,QAAA,CACxCuD,2BAAA,GAA8B,UAAAxB,SAAU;EAAA,IAAA2B,EAAA;EAAA,IAAAlC,CAAA,QAAAU,YAAA;IAGhCwB,EAAA,GAAAA,CAAA;MAAA,IACJN,aAAA,CAAAO,OAAA,KAA0BzB,YAAA,EAAAoB,KAAc;QAC1CG,gBAAA,CAAA1B,SAAiB;QACjBqB,aAAA,CAAAO,OAAA;MAAA;QAAA,IACSzB,YAAA,EAAAoB,KAAA;UACTF,aAAA,CAAAO,OAAA;QAAA;MAAA;IAAA;IAEJnC,CAAA,MAAAU,YAAA;IAAAV,CAAA,MAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EAAsB,MAAAoC,EAAA,GAAA1B,YAAA,EAAAoB,KAAA;EAAc,IAAAO,EAAA;EAAA,IAAArC,CAAA,QAAAoC,EAAA;IAAjCC,EAAA,IAACJ,gBAAA,EAAkBG,EAAc;IAAMpC,CAAA,MAAAoC,EAAA;IAAApC,CAAA,MAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAP1C1B,SAAA,CAAU4D,EAOV,EAAGG,EAAuC;EAAA,IAAAC,EAAA;EAAA,IAAAtC,CAAA,SAAAa,CAAA,IAAAb,CAAA,SAAA0B,oBAAA,IAAA1B,CAAA,SAAAY,IAAA,IAAAZ,CAAA,SAAAuB,WAAA;IA4BvCe,EAAA,IAACzB,CAAA,EAAGa,oBAAA,EAAsBd,IAAA,EAAMW,WAAA;IAAYvB,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAA0B,oBAAA;IAAA1B,CAAA,OAAAY,IAAA;IAAAZ,CAAA,OAAAuB,WAAA;IAAAvB,CAAA,OAAAsC,EAAA;EAAA;IAAAA,EAAA,GAAAtC,CAAA;EAAA;EA1B/C1B,SAAA;IAAA,IACMoD,oBAAA,EAAAa,MAAA,IAA+B;MACjCZ,qBAAA,CAAAQ,OAAA,GAAgCT,oBAAA,CAAAc,MAAA,EAAAC,eAAA,EAAAC,KAAA,EAAAC,CAAA;QAE5B,MAAAtB,KAAA,GACE,WAAWqB,KAAA,IAASA,KAAA,CAAArB,KAAW,GAAGqB,KAAA,CAAArB,KAAA,GAAc,UAAUqB,KAAA,GAAQA,KAAA,CAAApB,IAAA,OAAa;QAAA,IAE7EqB,CAAA,MAAM;UAAA,OACD,GAAG9B,CAAA,CAAE;YAAAQ,KAAA,EACHjD,cAAA,CAAeiD,KAAA,EAAOT,IAAA;UAAA,CAC/B,GAAI;QAAA;QAAA,IAGF+B,CAAA,KAAMjB,oBAAA,CAAAa,MAAA,IAA8B;UAAA,OAC/B,GAAGE,eAAA,IAAmB5B,CAAA,CAAE,iBAAiBzC,cAAA,CAAeiD,KAAA,EAAOT,IAAA,GAAO;QAAA;QAAA,OAGxE,GAAG6B,eAAA,KAAoBrE,cAAA,CAAeiD,KAAA,EAAOT,IAAA,GAAO;MAAA,GAE7D;IAAA;MAGFe,qBAAA,CAAAQ,OAAA,GAAgCtB,CAAA,CAAE;QAAAQ,KAAA,EACzBjD,cAAA,CAAemD,WAAA,EAAaX,IAAA;MAAA,CACrC;IAAA;EAAA,GAED0B,EAA4C;EAAA,IAAAM,EAAA;EAAA,IAAA5C,CAAA,SAAAQ,kBAAA;IAQzBoC,EAAA,GAAAC,QAAA,SACArC,kBAAA,CAAmBU,QAAA;IACjClB,CAAA,OAAAQ,kBAAA;IAAAR,CAAA,OAAA4C,EAAA;EAAA;IAAAA,EAAA,GAAA5C,CAAA;EAAA;EAAA,IAAA8C,GAAA;EAAA,IAAA9C,CAAA,SAAAE,aAAA,IAAAF,CAAA,SAAAgC,aAAA,IAAAhC,CAAA,SAAAa,CAAA;IAiBGiC,GAAA,GAAA5C,aAAA,IACC6C,IAAA,CAAAzD,IAAA;MAAA,iBACiB,GAAAO,SAAA,UAAsB;MAAA,iBACtBmC,aAAA,KAAkB;MAAAgB,SAAA,EACtB,GAAAnD,SAAA,oBACTmC,aAAA,KAAkB,YAAY,GAAAnC,SAAA,kBAA8B,GAAG,IAC/D;MAAAoD,IAAA,EACIF,IAAA,CAAAlE,WAAA,IAAC;MAAAqE,OAAA,EAAAA,CAAA,KAELjB,gBAAA,CAAiBD,aAAA,KAAkB,YAAY,YAAAzB,SAAY;MAAA4C,SAAA,EAEnD;MAAAC,QAAA,EAETvC,CAAA,CAAE;IAAA,C;;;;;;;;;;IAUIwC,GAAA,GAAAA,CAAA,KAAMpB,gBAAA,CAAiBD,aAAA,KAAkB,UAAU,UAAAzB,SAAU;IAAAP,CAAA,OAAAgC,aAAA;IAAAhC,CAAA,OAAAqD,GAAA;EAAA;IAAAA,GAAA,GAAArD,CAAA;EAAA;EAAA,IAAAsD,GAAA;EAAA,IAAAtD,CAAA,SAAAI,UAAA,IAAAJ,CAAA,SAAAgC,aAAA,IAAAhC,CAAA,SAAAa,CAAA;IAKvEyC,GAAA,GAAAlD,UAAA,IACC2C,IAAA,CAAAzD,IAAA;MAAA,iBACiB,GAAAO,SAAA,OAAmB;MAAA,iBACnBmC,aAAA,KAAkB;MAAAgB,SAAA,EACtB,GAAAnD,SAAA,eAA2B;MAAAoD,IAAA,EAChCF,IAAA,CAAAlE,WAAA,IAAC;MAAAqE,OAAA,EAAAA,CAAA,KACQjB,gBAAA,CAAiBD,aAAA,KAAkB,SAAS,SAAAzB,SAAS;MAAA4C,SAAA,EAC1D;MAAAC,QAAA,EAETvC,CAAA,CAAE;IAAA,C;;;;;;;;;;IAMZ0C,GAAA,GAAArD,aAAA,IACC6C,IAAA,CAAArE,aAAA;MAAAsE,SAAA,EACa,GAAAnD,SAAA,WAAuB;MAAA2D,MAAA,EAC1BxB,aAAA,KAAkB,YAAY,UAAS;MAAAyB,EAAA,EAC3C,GAAA5D,SAAA,UAAsB;MAAAuD,QAAA,EAE1BL,IAAA,CAAA5D,cAAA;QAAAsB,cAAA,EAAgCR,gBAAA,CAAAyD;MAAA,C;;;;;;;;;;;IAenCC,GAAA,GAAAvD,UAAA,IACC2C,IAAA,CAAArE,aAAA;MAAAsE,SAAA,EACa,GAAAnD,SAAA,QAAoB;MAAA2D,MAAA,EACvBxB,aAAA,KAAkB,SAAS,UAAS;MAAAyB,EAAA,EACxC,GAAA5D,SAAA,OAAmB;MAAAuD,QAAA,EAEvBL,IAAA,CAAC;QAAAK,QAAA,EAAE;MAAA,C;;;;;;;;SA9FTQ,KAAA,CAAC;IAAAZ,SAAA,EAAAnD,SAAA;IAAAuD,QAAA,GACCQ,KAAA,CAAC;MAAAZ,SAAA,EAAe,GAAAnD,SAAA,QAAoB;MAAAuD,QAAA,GAClCL,IAAA,CAAAjE,UAAA,IAAC,GACDiE,IAAA,CAAAvD,YAAA;QAAAqE,SAAA,EACa,UAAUlD,UAAA,GAAaA,UAAA,EAAAW,IAAA,OAAmB;QAAAwC,YAAA,EACvClB,EAEd;QAAAmB,aAAA,EACerD,YAAA;QAAAW,KAAA,EAERM,qBAAA,CAAAQ,OAAA;QAAA6B,QAAA,EACG7C,SAAA;QAAA8C,KAAA,EACH/C;MAAA,GAHFT,cAAA,GAKPsC,IAAA,CAAC;QAAAC,SAAA,EAAe,GAAAnD,SAAA,WAAuB;QAAAuD,QAAA,EACrCQ,KAAA,CAAC;UAAAZ,SAAA,EAAe,GAAAnD,SAAA,gBAA4B;UAAAuD,QAAA,GACzC,CAACnC,UAAA,IACA2C,KAAA,CAAAvF,KAAA,CAAA6F,QAAA;YAAAd,QAAA,GACEL,IAAA,CAAA1D,QAAA;cAAA8E,UAAA,EAAsBlE,gBAAA;cAAAK;YAAA,C,GACtByC,IAAA,CAAAxD,WAAA;cAAA4E,UAAA,EAAyBlE;YAAA,C,GACzB8C,IAAA,CAAAtD,aAAA;cAAA0E,UAAA,EAA2BlE;YAAA,C,GAC3B8C,IAAA,CAAA3D,UAAA;cAAA+E,UAAA,EAAwBlE;YAAA,C;cAG3B6C,G,EAgBDC,IAAA,CAAAzD,IAAA;YAAA,iBACiB,GAAAO,SAAA,QAAoB;YAAA,iBACpBmC,aAAA,KAAkB;YAAAgB,SAAA,EACtB,GAAAnD,SAAA,kBACTmC,aAAA,KAAkB,UAAU,GAAAnC,SAAA,kBAA8B,GAAG,IAC7D;YAAAoD,IAAA,EACIF,IAAA,CAAAlE,WAAA,IAAC;YAAAqE,OAAA,EACEG,GAA6D;YAAAF,SAAA,EAC5D;YAAAC,QAAA,EAETvC,CAAA,CAAE;UAAA,C,GAEJyC,G;;;QAeNC,G,EASDR,IAAA,CAAArE,aAAA;MAAAsE,SAAA,EACa,GAAAnD,SAAA,SAAqB;MAAA2D,MAAA,EACxBxB,aAAA,KAAkB,UAAU,UAAS;MAAAyB,EAAA,EACzC,GAAA5D,SAAA,QAAoB;MAAAuD,QAAA,EAExBL,IAAA,CAAArD,YAAA;QAAA0E,qBAAA,EACyBnE,gBAAA,EAAAoE,MAAA,EAAAC,MAAA;QAAA7D,cAAA,EACPR,gBAAA,CAAAyD,IAAA;QAAApD;MAAA,GAEXiE,MAAA,CAAO3C,aAAA,CAAAO,OAAA,KAA0BzB,YAAA,EAAAoB,KAAc;IAAA,C,GAGvD6B,G;;CAgBP","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","Fragment","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","SearchIcon","useListInfo","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fields","handleSearchChange","beforeActions","collectionSlug","disableBulkDelete","disableBulkEdit","searchParams","titleField","i18n","t","breakpoints","s","smallBreak","search","setSearch","searchLabel","label","name","listSearchableFields","admin","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","initialParams","setValue","value","collection","icon","onClick","pillStyle","height","id","slug","collectionPluralLabel","labels","plural","String"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListInfo } from '../../providers/ListInfo/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly fields: ClientField[]\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fields } = props\n\n const { handleSearchChange } = useListQuery()\n const { beforeActions, collectionSlug, disableBulkDelete, disableBulkEdit } = useListInfo()\n const { searchParams } = useSearchParams()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const [search, setSearch] = useState(\n typeof searchParams?.search === 'string' ? searchParams?.search : '',\n )\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(searchParams?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !searchParams?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (searchParams?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, searchParams?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n initialParams={searchParams}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n setValue={setSearch}\n value={search}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n {beforeActions && beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={fields}\n key={String(hasWhereParam.current && !searchParams?.where)}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\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":"AAKA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAqCjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4RvD,CAAA"}
|
|
@@ -5,6 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
import { useModal } from '@faceless-ui/modal';
|
|
6
6
|
import { getTranslation } from '@payloadcms/translations';
|
|
7
7
|
import React, { useCallback, useEffect, useReducer, useState } from 'react';
|
|
8
|
+
import { SelectMany } from '../../elements/SelectMany/index.js';
|
|
8
9
|
import { FieldLabel } from '../../fields/FieldLabel/index.js';
|
|
9
10
|
import { usePayloadAPI } from '../../hooks/usePayloadAPI.js';
|
|
10
11
|
import { XIcon } from '../../icons/X/index.js';
|
|
@@ -37,12 +38,14 @@ const hoistQueryParamsToAnd = (where, queryParams) => {
|
|
|
37
38
|
return where;
|
|
38
39
|
};
|
|
39
40
|
export const ListDrawerContent = t0 => {
|
|
40
|
-
const $ = _c(
|
|
41
|
+
const $ = _c(97);
|
|
41
42
|
const {
|
|
42
43
|
collectionSlugs,
|
|
43
44
|
customHeader,
|
|
44
45
|
drawerSlug,
|
|
46
|
+
enableRowSelections,
|
|
45
47
|
filterOptions,
|
|
48
|
+
onBulkSelect,
|
|
46
49
|
onSelect,
|
|
47
50
|
selectedCollection
|
|
48
51
|
} = t0;
|
|
@@ -385,35 +388,35 @@ export const ListDrawerContent = t0 => {
|
|
|
385
388
|
t21 = $[63];
|
|
386
389
|
}
|
|
387
390
|
let t22;
|
|
388
|
-
if ($[64] !== t21 || $[65] !== hasCreatePermission || $[66] !== t || $[67] !== DocumentDrawerToggler || $[68] !== closeModal || $[69] !== drawerSlug || $[70] !== selectedCollectionConfig || $[71] !== moreThanOneAvailableCollection || $[72] !== i18n || $[73] !== enabledCollectionConfigs || $[74] !== selectedOption || $[75] !==
|
|
391
|
+
if ($[64] !== t21 || $[65] !== hasCreatePermission || $[66] !== t || $[67] !== DocumentDrawerToggler || $[68] !== closeModal || $[69] !== drawerSlug || $[70] !== selectedCollectionConfig || $[71] !== moreThanOneAvailableCollection || $[72] !== i18n || $[73] !== enabledCollectionConfigs || $[74] !== selectedOption || $[75] !== enableRowSelections || $[76] !== onBulkSelect || $[77] !== limit || $[78] !== onSelect || $[79] !== List || $[80] !== onCreateNew || $[81] !== DocumentDrawer || $[82] !== preferenceKey || $[83] !== data || $[84] !== sort) {
|
|
389
392
|
let t23;
|
|
390
|
-
if ($[
|
|
393
|
+
if ($[86] !== hasCreatePermission || $[87] !== t || $[88] !== DocumentDrawerToggler) {
|
|
391
394
|
t23 = hasCreatePermission && _jsx(DocumentDrawerToggler, {
|
|
392
395
|
className: `${baseClass}__create-new-button`,
|
|
393
396
|
children: _jsx(Pill, {
|
|
394
397
|
children: t("general:createNew")
|
|
395
398
|
})
|
|
396
399
|
});
|
|
397
|
-
$[
|
|
398
|
-
$[
|
|
399
|
-
$[
|
|
400
|
-
$[
|
|
400
|
+
$[86] = hasCreatePermission;
|
|
401
|
+
$[87] = t;
|
|
402
|
+
$[88] = DocumentDrawerToggler;
|
|
403
|
+
$[89] = t23;
|
|
401
404
|
} else {
|
|
402
|
-
t23 = $[
|
|
405
|
+
t23 = $[89];
|
|
403
406
|
}
|
|
404
407
|
let t24;
|
|
405
|
-
if ($[
|
|
408
|
+
if ($[90] !== closeModal || $[91] !== drawerSlug) {
|
|
406
409
|
t24 = () => {
|
|
407
410
|
closeModal(drawerSlug);
|
|
408
411
|
};
|
|
409
|
-
$[
|
|
410
|
-
$[
|
|
411
|
-
$[
|
|
412
|
+
$[90] = closeModal;
|
|
413
|
+
$[91] = drawerSlug;
|
|
414
|
+
$[92] = t24;
|
|
412
415
|
} else {
|
|
413
|
-
t24 = $[
|
|
416
|
+
t24 = $[92];
|
|
414
417
|
}
|
|
415
418
|
let t25;
|
|
416
|
-
if ($[
|
|
419
|
+
if ($[93] !== selectedCollectionConfig) {
|
|
417
420
|
t25 = (selectedCollectionConfig?.admin?.description || selectedCollectionConfig?.admin?.components?.Description) && _jsx("div", {
|
|
418
421
|
className: `${baseClass}__sub-header`,
|
|
419
422
|
children: _jsx(ViewDescription, {
|
|
@@ -421,13 +424,13 @@ export const ListDrawerContent = t0 => {
|
|
|
421
424
|
description: selectedCollectionConfig.admin?.description
|
|
422
425
|
})
|
|
423
426
|
});
|
|
424
|
-
$[
|
|
425
|
-
$[
|
|
427
|
+
$[93] = selectedCollectionConfig;
|
|
428
|
+
$[94] = t25;
|
|
426
429
|
} else {
|
|
427
|
-
t25 = $[
|
|
430
|
+
t25 = $[94];
|
|
428
431
|
}
|
|
429
432
|
let t26;
|
|
430
|
-
if ($[
|
|
433
|
+
if ($[95] !== onSelect) {
|
|
431
434
|
t26 = t27 => {
|
|
432
435
|
const {
|
|
433
436
|
collectionSlug: rowColl,
|
|
@@ -440,10 +443,10 @@ export const ListDrawerContent = t0 => {
|
|
|
440
443
|
});
|
|
441
444
|
}
|
|
442
445
|
};
|
|
443
|
-
$[
|
|
444
|
-
$[
|
|
446
|
+
$[95] = onSelect;
|
|
447
|
+
$[96] = t26;
|
|
445
448
|
} else {
|
|
446
|
-
t26 = $[
|
|
449
|
+
t26 = $[96];
|
|
447
450
|
}
|
|
448
451
|
t22 = _jsx(ListInfoProvider, {
|
|
449
452
|
Header: _jsxs("header", {
|
|
@@ -479,8 +482,13 @@ export const ListDrawerContent = t0 => {
|
|
|
479
482
|
})]
|
|
480
483
|
})]
|
|
481
484
|
}),
|
|
485
|
+
beforeActions: enableRowSelections ? [_jsx(SelectMany, {
|
|
486
|
+
onClick: onBulkSelect
|
|
487
|
+
}, "select-many")] : undefined,
|
|
482
488
|
collectionConfig: selectedCollectionConfig,
|
|
483
489
|
collectionSlug: selectedCollectionConfig.slug,
|
|
490
|
+
disableBulkDelete: true,
|
|
491
|
+
disableBulkEdit: true,
|
|
484
492
|
hasCreatePermission,
|
|
485
493
|
newDocumentURL: null,
|
|
486
494
|
children: _jsx(ListQueryProvider, {
|
|
@@ -501,6 +509,7 @@ export const ListDrawerContent = t0 => {
|
|
|
501
509
|
onClick: t26
|
|
502
510
|
}],
|
|
503
511
|
collectionSlug: selectedCollectionConfig.slug,
|
|
512
|
+
enableRowSelections,
|
|
504
513
|
preferenceKey,
|
|
505
514
|
children: [_jsx(RenderComponent, {
|
|
506
515
|
mappedComponent: List
|
|
@@ -521,17 +530,19 @@ export const ListDrawerContent = t0 => {
|
|
|
521
530
|
$[72] = i18n;
|
|
522
531
|
$[73] = enabledCollectionConfigs;
|
|
523
532
|
$[74] = selectedOption;
|
|
524
|
-
$[75] =
|
|
525
|
-
$[76] =
|
|
526
|
-
$[77] =
|
|
527
|
-
$[78] =
|
|
528
|
-
$[79] =
|
|
529
|
-
$[80] =
|
|
530
|
-
$[81] =
|
|
531
|
-
$[82] =
|
|
532
|
-
$[83] =
|
|
533
|
+
$[75] = enableRowSelections;
|
|
534
|
+
$[76] = onBulkSelect;
|
|
535
|
+
$[77] = limit;
|
|
536
|
+
$[78] = onSelect;
|
|
537
|
+
$[79] = List;
|
|
538
|
+
$[80] = onCreateNew;
|
|
539
|
+
$[81] = DocumentDrawer;
|
|
540
|
+
$[82] = preferenceKey;
|
|
541
|
+
$[83] = data;
|
|
542
|
+
$[84] = sort;
|
|
543
|
+
$[85] = t22;
|
|
533
544
|
} else {
|
|
534
|
-
t22 = $[
|
|
545
|
+
t22 = $[85];
|
|
535
546
|
}
|
|
536
547
|
return t22;
|
|
537
548
|
};
|