@payloadcms/ui 3.4.1-canary.b6681a9 → 3.5.1-canary.85da7f2
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/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +1 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +39 -32
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/types.d.ts +4 -0
- package/dist/elements/CodeEditor/types.d.ts.map +1 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.scss +4 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +145 -280
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/TableColumns/index.js +1 -2
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-RZ32B2QF.js → CodeEditor-W7RSWONH.js} +2 -2
- package/dist/exports/client/{DatePicker-QW5V4BQV.js → DatePicker-IHDOZXIJ.js} +2 -2
- package/dist/exports/client/{chunk-CKHKQPOO.js → chunk-3MXUY6XL.js} +6 -6
- package/dist/exports/client/chunk-3MXUY6XL.js.map +8 -0
- package/dist/exports/client/{chunk-KZPVHMBR.js → chunk-JPWZT3ZI.js} +1 -1
- package/dist/exports/client/{chunk-KZPVHMBR.js.map → chunk-JPWZT3ZI.js.map} +1 -1
- package/dist/exports/client/index.js +10 -10
- package/dist/exports/client/index.js.map +4 -4
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +16 -2
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +3 -3
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +2 -2
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +8 -12
- package/dist/exports/client/chunk-CKHKQPOO.js.map +0 -8
- /package/dist/exports/client/{CodeEditor-RZ32B2QF.js.map → CodeEditor-W7RSWONH.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-QW5V4BQV.js.map → DatePicker-IHDOZXIJ.js.map} +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
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 { getTranslation } from '@payloadcms/translations';
|
|
6
5
|
import React, { Fragment, useCallback, useState } from 'react';
|
|
@@ -24,20 +23,18 @@ import { DrawerLink } from './cells/DrawerLink/index.js';
|
|
|
24
23
|
import { RelationshipTablePagination } from './Pagination.js';
|
|
25
24
|
const baseClass = 'relationship-table';
|
|
26
25
|
export const RelationshipTable = props => {
|
|
27
|
-
const $ = _c(58);
|
|
28
26
|
const {
|
|
29
27
|
AfterInput,
|
|
30
|
-
allowCreate
|
|
28
|
+
allowCreate = true,
|
|
31
29
|
BeforeInput,
|
|
32
|
-
disableTable
|
|
30
|
+
disableTable = false,
|
|
31
|
+
field,
|
|
33
32
|
filterOptions,
|
|
34
33
|
initialData: initialDataFromProps,
|
|
35
34
|
initialDrawerData,
|
|
36
35
|
Label,
|
|
37
36
|
relationTo
|
|
38
37
|
} = props;
|
|
39
|
-
const allowCreate = t0 === undefined ? true : t0;
|
|
40
|
-
const disableTable = t1 === undefined ? false : t1;
|
|
41
38
|
const [Table, setTable] = useState(null);
|
|
42
39
|
const {
|
|
43
40
|
getEntityConfig
|
|
@@ -45,302 +42,170 @@ export const RelationshipTable = props => {
|
|
|
45
42
|
const {
|
|
46
43
|
permissions
|
|
47
44
|
} = useAuth();
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
const [initialData] = useState(t2);
|
|
45
|
+
const [initialData] = useState(() => {
|
|
46
|
+
if (initialDataFromProps) {
|
|
47
|
+
return {
|
|
48
|
+
...initialDataFromProps,
|
|
49
|
+
docs: Array.isArray(initialDataFromProps.docs) ? initialDataFromProps.docs.reduce((acc, doc) => {
|
|
50
|
+
if (typeof doc === 'string') {
|
|
51
|
+
return [...acc, {
|
|
52
|
+
id: doc
|
|
53
|
+
}];
|
|
54
|
+
}
|
|
55
|
+
return [...acc, doc];
|
|
56
|
+
}, []) : []
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
});
|
|
64
60
|
const {
|
|
65
61
|
i18n,
|
|
66
62
|
t
|
|
67
63
|
} = useTranslation();
|
|
68
64
|
const [query, setQuery] = useState();
|
|
69
65
|
const [openColumnSelector, setOpenColumnSelector] = useState(false);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
collectionSlug: relationTo
|
|
74
|
-
});
|
|
75
|
-
$[2] = getEntityConfig;
|
|
76
|
-
$[3] = relationTo;
|
|
77
|
-
$[4] = t3;
|
|
78
|
-
} else {
|
|
79
|
-
t3 = $[4];
|
|
80
|
-
}
|
|
81
|
-
const [collectionConfig] = useState(t3);
|
|
66
|
+
const [collectionConfig] = useState(() => getEntityConfig({
|
|
67
|
+
collectionSlug: relationTo
|
|
68
|
+
}));
|
|
82
69
|
const [isLoadingTable, setIsLoadingTable] = useState(!disableTable);
|
|
83
70
|
const [data, setData] = useState(initialData);
|
|
84
71
|
const [columnState, setColumnState] = useState();
|
|
85
72
|
const {
|
|
86
73
|
getTableState
|
|
87
74
|
} = useServerFunctions();
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
if (filterOptions) {
|
|
98
|
-
newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions);
|
|
99
|
-
}
|
|
100
|
-
const {
|
|
101
|
-
data: newData,
|
|
102
|
-
state: newColumnState,
|
|
103
|
-
Table: NewTable
|
|
104
|
-
} = await getTableState({
|
|
105
|
-
collectionSlug: relationTo,
|
|
106
|
-
docs,
|
|
107
|
-
enableRowSelections: false,
|
|
108
|
-
query: newQuery,
|
|
109
|
-
renderRowTypes: true,
|
|
110
|
-
tableAppearance: "condensed"
|
|
111
|
-
});
|
|
112
|
-
setData(newData);
|
|
113
|
-
setTable(NewTable);
|
|
114
|
-
setColumnState(newColumnState);
|
|
115
|
-
setIsLoadingTable(false);
|
|
116
|
-
};
|
|
117
|
-
$[5] = filterOptions;
|
|
118
|
-
$[6] = getTableState;
|
|
119
|
-
$[7] = query;
|
|
120
|
-
$[8] = relationTo;
|
|
121
|
-
$[9] = t4;
|
|
122
|
-
} else {
|
|
123
|
-
t4 = $[9];
|
|
124
|
-
}
|
|
125
|
-
const renderTable = t4;
|
|
126
|
-
let t5;
|
|
127
|
-
if ($[10] !== Table || $[11] !== disableTable || $[12] !== query || $[13] !== renderTable) {
|
|
128
|
-
t5 = () => {
|
|
129
|
-
if (!disableTable && (!Table || query)) {
|
|
130
|
-
renderTable();
|
|
75
|
+
const renderTable = useCallback(async docs => {
|
|
76
|
+
const newQuery = {
|
|
77
|
+
limit: String(field.defaultLimit || collectionConfig.admin.pagination.defaultLimit),
|
|
78
|
+
sort: field.defaultSort || collectionConfig.defaultSort,
|
|
79
|
+
...(query || {}),
|
|
80
|
+
where: {
|
|
81
|
+
...(query?.where || {})
|
|
131
82
|
}
|
|
132
83
|
};
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
useIgnoredEffect(t5, t6, t7);
|
|
160
|
-
let t8;
|
|
161
|
-
if ($[21] !== relationTo) {
|
|
162
|
-
t8 = {
|
|
163
|
-
collectionSlug: relationTo
|
|
164
|
-
};
|
|
165
|
-
$[21] = relationTo;
|
|
166
|
-
$[22] = t8;
|
|
167
|
-
} else {
|
|
168
|
-
t8 = $[22];
|
|
169
|
-
}
|
|
170
|
-
const [DocumentDrawer, DocumentDrawerToggler, t9] = useDocumentDrawer(t8);
|
|
171
|
-
const {
|
|
84
|
+
if (filterOptions) {
|
|
85
|
+
newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions);
|
|
86
|
+
}
|
|
87
|
+
const {
|
|
88
|
+
data: newData,
|
|
89
|
+
state: newColumnState,
|
|
90
|
+
Table: NewTable
|
|
91
|
+
} = await getTableState({
|
|
92
|
+
collectionSlug: relationTo,
|
|
93
|
+
docs,
|
|
94
|
+
enableRowSelections: false,
|
|
95
|
+
query: newQuery,
|
|
96
|
+
renderRowTypes: true,
|
|
97
|
+
tableAppearance: 'condensed'
|
|
98
|
+
});
|
|
99
|
+
setData(newData);
|
|
100
|
+
setTable(NewTable);
|
|
101
|
+
setColumnState(newColumnState);
|
|
102
|
+
setIsLoadingTable(false);
|
|
103
|
+
}, [query, field.defaultLimit, field.defaultSort, collectionConfig.admin.pagination.defaultLimit, collectionConfig.defaultSort, filterOptions, getTableState, relationTo]);
|
|
104
|
+
useIgnoredEffect(() => {
|
|
105
|
+
if (!disableTable && (!Table || query)) {
|
|
106
|
+
void renderTable();
|
|
107
|
+
}
|
|
108
|
+
}, [query, disableTable], [Table, renderTable]);
|
|
109
|
+
const [DocumentDrawer, DocumentDrawerToggler, {
|
|
172
110
|
closeDrawer,
|
|
173
111
|
openDrawer
|
|
174
|
-
} =
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
} else {
|
|
185
|
-
withNewOrUpdatedDoc = [args.doc, ...data.docs];
|
|
186
|
-
}
|
|
187
|
-
renderTable(withNewOrUpdatedDoc);
|
|
188
|
-
};
|
|
189
|
-
$[23] = data.docs;
|
|
190
|
-
$[24] = renderTable;
|
|
191
|
-
$[25] = t10;
|
|
192
|
-
} else {
|
|
193
|
-
t10 = $[25];
|
|
194
|
-
}
|
|
195
|
-
const onDrawerSave = t10;
|
|
196
|
-
let t11;
|
|
197
|
-
if ($[26] !== closeDrawer || $[27] !== onDrawerSave) {
|
|
198
|
-
t11 = args_0 => {
|
|
199
|
-
closeDrawer();
|
|
200
|
-
onDrawerSave(args_0);
|
|
201
|
-
};
|
|
202
|
-
$[26] = closeDrawer;
|
|
203
|
-
$[27] = onDrawerSave;
|
|
204
|
-
$[28] = t11;
|
|
205
|
-
} else {
|
|
206
|
-
t11 = $[28];
|
|
207
|
-
}
|
|
208
|
-
const onDrawerCreate = t11;
|
|
209
|
-
const preferenceKey = `${relationTo}-list`;
|
|
210
|
-
const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create;
|
|
211
|
-
let t12;
|
|
212
|
-
if ($[29] !== DocumentDrawerToggler || $[30] !== canCreate || $[31] !== i18n) {
|
|
213
|
-
t12 = canCreate && _jsx(DocumentDrawerToggler, {
|
|
214
|
-
className: `${baseClass}__add-new`,
|
|
215
|
-
children: i18n.t("fields:addNew")
|
|
216
|
-
});
|
|
217
|
-
$[29] = DocumentDrawerToggler;
|
|
218
|
-
$[30] = canCreate;
|
|
219
|
-
$[31] = i18n;
|
|
220
|
-
$[32] = t12;
|
|
221
|
-
} else {
|
|
222
|
-
t12 = $[32];
|
|
223
|
-
}
|
|
224
|
-
const t13 = `${baseClass}__toggle-columns ${openColumnSelector ? `${baseClass}__buttons-active` : ""}`;
|
|
225
|
-
const t14 = openColumnSelector ? "up" : "down";
|
|
226
|
-
let t15;
|
|
227
|
-
if ($[33] !== AfterInput || $[34] !== BeforeInput || $[35] !== DocumentDrawer || $[36] !== Label || $[37] !== Table || $[38] !== canCreate || $[39] !== collectionConfig || $[40] !== columnState || $[41] !== data || $[42] !== i18n || $[43] !== initialDrawerData || $[44] !== isLoadingTable || $[45] !== onDrawerCreate || $[46] !== onDrawerSave || $[47] !== openColumnSelector || $[48] !== openDrawer || $[49] !== preferenceKey || $[50] !== relationTo || $[51] !== t || $[52] !== t12 || $[53] !== t13 || $[54] !== t14) {
|
|
228
|
-
let t16;
|
|
229
|
-
if ($[56] !== openColumnSelector) {
|
|
230
|
-
t16 = () => setOpenColumnSelector(!openColumnSelector);
|
|
231
|
-
$[56] = openColumnSelector;
|
|
232
|
-
$[57] = t16;
|
|
112
|
+
}] = useDocumentDrawer({
|
|
113
|
+
collectionSlug: relationTo
|
|
114
|
+
});
|
|
115
|
+
const onDrawerSave = useCallback(args => {
|
|
116
|
+
const foundDocIndex = data?.docs?.findIndex(doc_0 => doc_0.id === args.doc.id);
|
|
117
|
+
let withNewOrUpdatedDoc = undefined;
|
|
118
|
+
if (foundDocIndex !== -1) {
|
|
119
|
+
const newDocs = [...data.docs];
|
|
120
|
+
newDocs[foundDocIndex] = args.doc;
|
|
121
|
+
withNewOrUpdatedDoc = newDocs;
|
|
233
122
|
} else {
|
|
234
|
-
|
|
123
|
+
withNewOrUpdatedDoc = [args.doc, ...data.docs];
|
|
235
124
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
125
|
+
void renderTable(withNewOrUpdatedDoc);
|
|
126
|
+
}, [data.docs, renderTable]);
|
|
127
|
+
const onDrawerCreate = useCallback(args_0 => {
|
|
128
|
+
closeDrawer();
|
|
129
|
+
void onDrawerSave(args_0);
|
|
130
|
+
}, [closeDrawer, onDrawerSave]);
|
|
131
|
+
const preferenceKey = `${relationTo}-list`;
|
|
132
|
+
const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create;
|
|
133
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
134
|
+
className: baseClass,
|
|
135
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
136
|
+
className: `${baseClass}__header`,
|
|
137
|
+
children: [Label, /*#__PURE__*/_jsxs("div", {
|
|
138
|
+
className: `${baseClass}__actions`,
|
|
139
|
+
children: [canCreate && /*#__PURE__*/_jsx(DocumentDrawerToggler, {
|
|
140
|
+
className: `${baseClass}__add-new`,
|
|
141
|
+
children: i18n.t('fields:addNew')
|
|
142
|
+
}), /*#__PURE__*/_jsx(Pill, {
|
|
143
|
+
"aria-controls": `${baseClass}-columns`,
|
|
144
|
+
"aria-expanded": openColumnSelector,
|
|
145
|
+
className: `${baseClass}__toggle-columns ${openColumnSelector ? `${baseClass}__buttons-active` : ''}`,
|
|
146
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
147
|
+
direction: openColumnSelector ? 'up' : 'down'
|
|
148
|
+
}),
|
|
149
|
+
onClick: () => setOpenColumnSelector(!openColumnSelector),
|
|
150
|
+
pillStyle: "light",
|
|
151
|
+
children: t('general:columns')
|
|
253
152
|
})]
|
|
254
|
-
})
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
})
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
})
|
|
269
|
-
})
|
|
270
|
-
|
|
153
|
+
})]
|
|
154
|
+
}), BeforeInput, isLoadingTable ? /*#__PURE__*/_jsx("p", {
|
|
155
|
+
children: t('general:loading')
|
|
156
|
+
}) : /*#__PURE__*/_jsxs(Fragment, {
|
|
157
|
+
children: [data.docs && data.docs.length === 0 && /*#__PURE__*/_jsxs("div", {
|
|
158
|
+
className: `${baseClass}__no-results`,
|
|
159
|
+
children: [/*#__PURE__*/_jsx("p", {
|
|
160
|
+
children: i18n.t('general:noResults', {
|
|
161
|
+
label: getTranslation(collectionConfig?.labels?.plural, i18n)
|
|
162
|
+
})
|
|
163
|
+
}), canCreate && /*#__PURE__*/_jsx(Button, {
|
|
164
|
+
onClick: openDrawer,
|
|
165
|
+
children: i18n.t('general:createNewLabel', {
|
|
166
|
+
label: getTranslation(collectionConfig?.labels?.singular, i18n)
|
|
167
|
+
})
|
|
168
|
+
})]
|
|
169
|
+
}), data.docs && data.docs.length > 0 && /*#__PURE__*/_jsx(RelationshipProvider, {
|
|
170
|
+
children: /*#__PURE__*/_jsx(ListQueryProvider, {
|
|
171
|
+
collectionSlug: relationTo,
|
|
172
|
+
data: data,
|
|
173
|
+
defaultLimit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,
|
|
174
|
+
modifySearchParams: false,
|
|
175
|
+
onQueryChange: setQuery,
|
|
176
|
+
preferenceKey: preferenceKey,
|
|
177
|
+
children: /*#__PURE__*/_jsxs(TableColumnsProvider, {
|
|
271
178
|
collectionSlug: relationTo,
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
className: `${baseClass}__columns`,
|
|
293
|
-
height: openColumnSelector ? "auto" : 0,
|
|
294
|
-
id: `${baseClass}-columns`,
|
|
295
|
-
children: _jsx("div", {
|
|
296
|
-
className: `${baseClass}__columns-inner`,
|
|
297
|
-
children: _jsx(ColumnSelector, {
|
|
298
|
-
collectionSlug: collectionConfig.slug
|
|
299
|
-
})
|
|
179
|
+
columnState: columnState,
|
|
180
|
+
docs: data.docs,
|
|
181
|
+
LinkedCellOverride: /*#__PURE__*/_jsx(DrawerLink, {
|
|
182
|
+
onDrawerSave: onDrawerSave
|
|
183
|
+
}),
|
|
184
|
+
preferenceKey: preferenceKey,
|
|
185
|
+
renderRowTypes: true,
|
|
186
|
+
setTable: setTable,
|
|
187
|
+
sortColumnProps: {
|
|
188
|
+
appearance: 'condensed'
|
|
189
|
+
},
|
|
190
|
+
tableAppearance: "condensed",
|
|
191
|
+
children: [/*#__PURE__*/_jsx(AnimateHeight, {
|
|
192
|
+
className: `${baseClass}__columns`,
|
|
193
|
+
height: openColumnSelector ? 'auto' : 0,
|
|
194
|
+
id: `${baseClass}-columns`,
|
|
195
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
196
|
+
className: `${baseClass}__columns-inner`,
|
|
197
|
+
children: /*#__PURE__*/_jsx(ColumnSelector, {
|
|
198
|
+
collectionSlug: collectionConfig.slug
|
|
300
199
|
})
|
|
301
|
-
})
|
|
302
|
-
})
|
|
200
|
+
})
|
|
201
|
+
}), Table, /*#__PURE__*/_jsx(RelationshipTablePagination, {})]
|
|
303
202
|
})
|
|
304
|
-
})
|
|
305
|
-
}), AfterInput, _jsx(DocumentDrawer, {
|
|
306
|
-
initialData: initialDrawerData,
|
|
307
|
-
onSave: onDrawerCreate
|
|
203
|
+
})
|
|
308
204
|
})]
|
|
309
|
-
})
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
$[37] = Table;
|
|
315
|
-
$[38] = canCreate;
|
|
316
|
-
$[39] = collectionConfig;
|
|
317
|
-
$[40] = columnState;
|
|
318
|
-
$[41] = data;
|
|
319
|
-
$[42] = i18n;
|
|
320
|
-
$[43] = initialDrawerData;
|
|
321
|
-
$[44] = isLoadingTable;
|
|
322
|
-
$[45] = onDrawerCreate;
|
|
323
|
-
$[46] = onDrawerSave;
|
|
324
|
-
$[47] = openColumnSelector;
|
|
325
|
-
$[48] = openDrawer;
|
|
326
|
-
$[49] = preferenceKey;
|
|
327
|
-
$[50] = relationTo;
|
|
328
|
-
$[51] = t;
|
|
329
|
-
$[52] = t12;
|
|
330
|
-
$[53] = t13;
|
|
331
|
-
$[54] = t14;
|
|
332
|
-
$[55] = t15;
|
|
333
|
-
} else {
|
|
334
|
-
t15 = $[55];
|
|
335
|
-
}
|
|
336
|
-
return t15;
|
|
205
|
+
}), AfterInput, /*#__PURE__*/_jsx(DocumentDrawer, {
|
|
206
|
+
initialData: initialDrawerData,
|
|
207
|
+
onSave: onDrawerCreate
|
|
208
|
+
})]
|
|
209
|
+
});
|
|
337
210
|
};
|
|
338
|
-
function _temp(acc, doc) {
|
|
339
|
-
if (typeof doc === "string") {
|
|
340
|
-
return [...acc, {
|
|
341
|
-
id: doc
|
|
342
|
-
}];
|
|
343
|
-
}
|
|
344
|
-
return [...acc, doc];
|
|
345
|
-
}
|
|
346
211
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useState","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","$","AfterInput","allowCreate","t0","BeforeInput","disableTable","t1","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","undefined","Table","setTable","getEntityConfig","permissions","t2","docs","Array","isArray","reduce","_temp","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","t3","collectionSlug","collectionConfig","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","t4","newQuery","where","newData","state","newColumnState","NewTable","enableRowSelections","renderRowTypes","tableAppearance","renderTable","t5","t6","t7","t8","DocumentDrawer","DocumentDrawerToggler","t9","closeDrawer","openDrawer","t10","args","foundDocIndex","findIndex","doc_0","doc","id","withNewOrUpdatedDoc","newDocs","onDrawerSave","t11","args_0","onDrawerCreate","preferenceKey","canCreate","collections","create","t12","_jsx","className","children","t13","t14","t15","t16","_jsxs","icon","direction","pillStyle","length","label","labels","plural","onClick","singular","defaultLimit","admin","pagination","modifySearchParams","onQueryChange","LinkedCellOverride","height","slug","onSave","acc"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n JoinFieldClient,\n ListQuery,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport './index.scss'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly relationTo: string\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug: relationTo }) as ClientCollectionConfig,\n )\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [getTableState, relationTo, filterOptions, query],\n )\n\n useIgnoredEffect(\n () => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n },\n [query, disableTable],\n [Table, renderTable],\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n collectionSlug={relationTo}\n data={data}\n defaultLimit={collectionConfig?.admin?.pagination?.defaultLimit}\n modifySearchParams={false}\n onQueryChange={setQuery}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={<DrawerLink onDrawerSave={onDrawerSave} />}\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","React","Fragment","useCallback","useState","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","Table","setTable","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","newData","state","newColumnState","NewTable","enableRowSelections","renderRowTypes","tableAppearance","DocumentDrawer","DocumentDrawerToggler","closeDrawer","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","undefined","newDocs","onDrawerCreate","preferenceKey","canCreate","collections","create","_jsxs","className","_jsx","icon","direction","onClick","pillStyle","length","label","labels","plural","singular","modifySearchParams","onQueryChange","LinkedCellOverride","sortColumnProps","appearance","height","slug","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n JoinFieldClient,\n ListQuery,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport './index.scss'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly relationTo: string\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug: relationTo }) as ClientCollectionConfig,\n )\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field.defaultLimit || collectionConfig.admin.pagination.defaultLimit),\n sort: field.defaultSort || collectionConfig.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n query,\n field.defaultLimit,\n field.defaultSort,\n collectionConfig.admin.pagination.defaultLimit,\n collectionConfig.defaultSort,\n filterOptions,\n getTableState,\n relationTo,\n ],\n )\n\n useIgnoredEffect(\n () => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n },\n [query, disableTable],\n [Table, renderTable],\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n collectionSlug={relationTo}\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n modifySearchParams={false}\n onQueryChange={setQuery}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={<DrawerLink onDrawerSave={onDrawerSave} />}\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -51,8 +51,7 @@ export const TableColumnsProvider = ({
|
|
|
51
51
|
});
|
|
52
52
|
const prevCollection = React.useRef(collectionSlug);
|
|
53
53
|
const {
|
|
54
|
-
getPreference
|
|
55
|
-
setPreference
|
|
54
|
+
getPreference
|
|
56
55
|
} = usePreferences();
|
|
57
56
|
const [tableColumns, setTableColumns] = React.useState(columnState);
|
|
58
57
|
const tableStateControllerRef = React.useRef(null);
|