@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.
Files changed (37) hide show
  1. package/dist/elements/Button/index.d.ts.map +1 -1
  2. package/dist/elements/Button/index.js +1 -0
  3. package/dist/elements/Button/index.js.map +1 -1
  4. package/dist/elements/CodeEditor/CodeEditor.js +39 -32
  5. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  6. package/dist/elements/CodeEditor/types.d.ts +4 -0
  7. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  8. package/dist/elements/CodeEditor/types.js.map +1 -1
  9. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  10. package/dist/elements/Popup/PopupTrigger/index.js +1 -1
  11. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  12. package/dist/elements/Popup/PopupTrigger/index.scss +4 -0
  13. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  14. package/dist/elements/RelationshipTable/index.js +145 -280
  15. package/dist/elements/RelationshipTable/index.js.map +1 -1
  16. package/dist/elements/TableColumns/index.js +1 -2
  17. package/dist/elements/TableColumns/index.js.map +1 -1
  18. package/dist/exports/client/{CodeEditor-RZ32B2QF.js → CodeEditor-W7RSWONH.js} +2 -2
  19. package/dist/exports/client/{DatePicker-QW5V4BQV.js → DatePicker-IHDOZXIJ.js} +2 -2
  20. package/dist/exports/client/{chunk-CKHKQPOO.js → chunk-3MXUY6XL.js} +6 -6
  21. package/dist/exports/client/chunk-3MXUY6XL.js.map +8 -0
  22. package/dist/exports/client/{chunk-KZPVHMBR.js → chunk-JPWZT3ZI.js} +1 -1
  23. package/dist/exports/client/{chunk-KZPVHMBR.js.map → chunk-JPWZT3ZI.js.map} +1 -1
  24. package/dist/exports/client/index.js +10 -10
  25. package/dist/exports/client/index.js.map +4 -4
  26. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  27. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +16 -2
  28. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  29. package/dist/providers/ListQuery/index.d.ts +3 -3
  30. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  31. package/dist/providers/ListQuery/index.js +2 -2
  32. package/dist/providers/ListQuery/index.js.map +1 -1
  33. package/dist/styles.css +1 -1
  34. package/package.json +8 -12
  35. package/dist/exports/client/chunk-CKHKQPOO.js.map +0 -8
  36. /package/dist/exports/client/{CodeEditor-RZ32B2QF.js.map → CodeEditor-W7RSWONH.js.map} +0 -0
  37. /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: t0,
28
+ allowCreate = true,
31
29
  BeforeInput,
32
- disableTable: t1,
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
- let t2;
49
- if ($[0] !== initialDataFromProps) {
50
- t2 = () => {
51
- if (initialDataFromProps) {
52
- return {
53
- ...initialDataFromProps,
54
- docs: Array.isArray(initialDataFromProps.docs) ? initialDataFromProps.docs.reduce(_temp, []) : []
55
- };
56
- }
57
- };
58
- $[0] = initialDataFromProps;
59
- $[1] = t2;
60
- } else {
61
- t2 = $[1];
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
- let t3;
71
- if ($[2] !== getEntityConfig || $[3] !== relationTo) {
72
- t3 = () => getEntityConfig({
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
- let t4;
89
- if ($[5] !== filterOptions || $[6] !== getTableState || $[7] !== query || $[8] !== relationTo) {
90
- t4 = async docs => {
91
- const newQuery = {
92
- ...(query || {}),
93
- where: {
94
- ...(query?.where || {})
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
- $[10] = Table;
134
- $[11] = disableTable;
135
- $[12] = query;
136
- $[13] = renderTable;
137
- $[14] = t5;
138
- } else {
139
- t5 = $[14];
140
- }
141
- let t6;
142
- if ($[15] !== disableTable || $[16] !== query) {
143
- t6 = [query, disableTable];
144
- $[15] = disableTable;
145
- $[16] = query;
146
- $[17] = t6;
147
- } else {
148
- t6 = $[17];
149
- }
150
- let t7;
151
- if ($[18] !== Table || $[19] !== renderTable) {
152
- t7 = [Table, renderTable];
153
- $[18] = Table;
154
- $[19] = renderTable;
155
- $[20] = t7;
156
- } else {
157
- t7 = $[20];
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
- } = t9;
175
- let t10;
176
- if ($[23] !== data.docs || $[24] !== renderTable) {
177
- t10 = args => {
178
- const foundDocIndex = data?.docs?.findIndex(doc_0 => doc_0.id === args.doc.id);
179
- let withNewOrUpdatedDoc;
180
- if (foundDocIndex !== -1) {
181
- const newDocs = [...data.docs];
182
- newDocs[foundDocIndex] = args.doc;
183
- withNewOrUpdatedDoc = newDocs;
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
- t16 = $[57];
123
+ withNewOrUpdatedDoc = [args.doc, ...data.docs];
235
124
  }
236
- t15 = _jsxs("div", {
237
- className: baseClass,
238
- children: [_jsxs("div", {
239
- className: `${baseClass}__header`,
240
- children: [Label, _jsxs("div", {
241
- className: `${baseClass}__actions`,
242
- children: [t12, _jsx(Pill, {
243
- "aria-controls": `${baseClass}-columns`,
244
- "aria-expanded": openColumnSelector,
245
- className: t13,
246
- icon: _jsx(ChevronIcon, {
247
- direction: t14
248
- }),
249
- onClick: t16,
250
- pillStyle: "light",
251
- children: t("general:columns")
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
- }), BeforeInput, isLoadingTable ? _jsx("p", {
255
- children: t("general:loading")
256
- }) : _jsxs(Fragment, {
257
- children: [data.docs && data.docs.length === 0 && _jsxs("div", {
258
- className: `${baseClass}__no-results`,
259
- children: [_jsx("p", {
260
- children: i18n.t("general:noResults", {
261
- label: getTranslation(collectionConfig?.labels?.plural, i18n)
262
- })
263
- }), canCreate && _jsx(Button, {
264
- onClick: openDrawer,
265
- children: i18n.t("general:createNewLabel", {
266
- label: getTranslation(collectionConfig?.labels?.singular, i18n)
267
- })
268
- })]
269
- }), data.docs && data.docs.length > 0 && _jsx(RelationshipProvider, {
270
- children: _jsx(ListQueryProvider, {
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
- data,
273
- defaultLimit: collectionConfig?.admin?.pagination?.defaultLimit,
274
- modifySearchParams: false,
275
- onQueryChange: setQuery,
276
- preferenceKey,
277
- children: _jsxs(TableColumnsProvider, {
278
- collectionSlug: relationTo,
279
- columnState,
280
- docs: data.docs,
281
- LinkedCellOverride: _jsx(DrawerLink, {
282
- onDrawerSave
283
- }),
284
- preferenceKey,
285
- renderRowTypes: true,
286
- setTable,
287
- sortColumnProps: {
288
- appearance: "condensed"
289
- },
290
- tableAppearance: "condensed",
291
- children: [_jsx(AnimateHeight, {
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
- }), Table, _jsx(RelationshipTablePagination, {})]
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
- $[33] = AfterInput;
311
- $[34] = BeforeInput;
312
- $[35] = DocumentDrawer;
313
- $[36] = Label;
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":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AASA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,QAAQ;AAKvD,SAASC,MAAM,QAAQ;AACvB,SAASC,IAAI,QAAQ;AACrB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAC5B,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AACrC,OAAO;AACP,SAASC,UAAU,QAAQ;AAC3B,SAASC,2BAA2B,QAAQ;AAE5C,MAAMC,SAAA,GAAY;AAelB,OAAO,MAAMC,iBAAA,GAA+DC,KAAA;EAAA,MAAAC,CAAA,GAAA1B,EAAA;EAC1E;IAAA2B,UAAA;IAAAC,WAAA,EAAAC,EAAA;IAAAC,WAAA;IAAAC,YAAA,EAAAC,EAAA;IAAAC,aAAA;IAAAC,WAAA,EAAAC,oBAAA;IAAAC,iBAAA;IAAAC,KAAA;IAAAC;EAAA,IAUIb,KAAA;EARF,MAAAG,WAAA,GAAAC,EAAkB,KAAAU,SAAA,UAAlBV,EAAkB;EAElB,MAAAE,YAAA,GAAAC,EAAoB,KAAAO,SAAA,WAApBP,EAAoB;EAOtB,OAAAQ,KAAA,EAAAC,QAAA,IAA0BpC,QAAA,KAA0B;EAEpD;IAAAqC;EAAA,IAA4B/B,SAAA;EAE5B;IAAAgC;EAAA,IAAwBjC,OAAA;EAAA,IAAAkC,EAAA;EAAA,IAAAlB,CAAA,QAAAS,oBAAA;IAEsBS,EAAA,GAAAA,CAAA;MAAA,IACxCT,oBAAA;QAAA;UAAA,GAEGA,oBAAoB;UAAAU,IAAA,EACjBC,KAAA,CAAAC,OAAA,CAAcZ,oBAAA,CAAAU,IAAyB,IACzCV,oBAAA,CAAAU,IAAA,CAAAG,MAAA,CAAAC,KAAA,IAUK;QACH;MAAA;IAAA;IAGZvB,CAAA,MAAAS,oBAAA;IAAAT,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAnBA,OAAAQ,WAAA,IAAsB7B,QAAA,CAAwBuC,EAmB9C;EAEA;IAAAM,IAAA;IAAAC;EAAA,IAAoBrC,cAAA;EAEpB,OAAAsC,KAAA,EAAAC,QAAA,IAA0BhD,QAAA;EAC1B,OAAAiD,kBAAA,EAAAC,qBAAA,IAAoDlD,QAAA,MAAS;EAAA,IAAAmD,EAAA;EAAA,IAAA9B,CAAA,QAAAgB,eAAA,IAAAhB,CAAA,QAAAY,UAAA;IAG3DkB,EAAA,GAAAA,CAAA,KAAMd,eAAA;MAAAe,cAAA,EAAkCnB;IAAA,CAAW;IAAAZ,CAAA,MAAAgB,eAAA;IAAAhB,CAAA,MAAAY,UAAA;IAAAZ,CAAA,MAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EADrD,OAAAgC,gBAAA,IAA2BrD,QAAA,CACzBmD,EAAmD;EAGrD,OAAAG,cAAA,EAAAC,iBAAA,IAA4CvD,QAAA,EAAU0B,YAAA;EACtD,OAAA8B,IAAA,EAAAC,OAAA,IAAwBzD,QAAA,CAAwB6B,WAAA;EAChD,OAAA6B,WAAA,EAAAC,cAAA,IAAsC3D,QAAA;EAEtC;IAAA4D;EAAA,IAA0BpD,kBAAA;EAAA,IAAAqD,EAAA;EAAA,IAAAxC,CAAA,QAAAO,aAAA,IAAAP,CAAA,QAAAuC,aAAA,IAAAvC,CAAA,QAAA0B,KAAA,IAAA1B,CAAA,QAAAY,UAAA;IAGxB4B,EAAA,SAAArB,IAAA;MACE,MAAAsB,QAAA;QAAA,IACMf,KAAA,MAAW;QAAAgB,KAAA;UAAA,IACFhB,KAAA,EAAAgB,KAAA,MAAkB;QAAA;MAAA;MACjC,IAEInC,aAAA;QACFkC,QAAA,CAAAC,KAAA,GAAiBrD,qBAAA,CAAsBoD,QAAA,CAAAC,KAAA,EAAgBnC,aAAA;MAAA;MAGzD;QAAA4B,IAAA,EAAAQ,OAAA;QAAAC,KAAA,EAAAC,cAAA;QAAA/B,KAAA,EAAAgC;MAAA,UAIUP,aAAA;QAAAR,cAAA,EACQnB,UAAA;QAAAO,IAAA;QAAA4B,mBAAA;QAAArB,KAAA,EAGTe,QAAA;QAAAO,cAAA;QAAAC,eAAA,EAEU;MAAA,CACnB;MAEAb,OAAA,CAAQO,OAAA;MACR5B,QAAA,CAAS+B,QAAA;MACTR,cAAA,CAAeO,cAAA;MACfX,iBAAA,MAAkB;IAAA;IACpBlC,CAAA,MAAAO,aAAA;IAAAP,CAAA,MAAAuC,aAAA;IAAAvC,CAAA,MAAA0B,KAAA;IAAA1B,CAAA,MAAAY,UAAA;IAAAZ,CAAA,MAAAwC,EAAA;EAAA;IAAAA,EAAA,GAAAxC,CAAA;EAAA;EA5BF,MAAAkD,WAAA,GAAoBV,EA6B+B;EAAA,IAAAW,EAAA;EAAA,IAAAnD,CAAA,SAAAc,KAAA,IAAAd,CAAA,SAAAK,YAAA,IAAAL,CAAA,SAAA0B,KAAA,IAAA1B,CAAA,SAAAkD,WAAA;IAIjDC,EAAA,GAAAA,CAAA;MAAA,IACM,CAAC9C,YAAA,KAAiB,CAACS,KAAA,IAASY,KAAI;QAC7BwB,WAAA;MAAA;IAAA;IAETlD,CAAA,OAAAc,KAAA;IAAAd,CAAA,OAAAK,YAAA;IAAAL,CAAA,OAAA0B,KAAA;IAAA1B,CAAA,OAAAkD,WAAA;IAAAlD,CAAA,OAAAmD,EAAA;EAAA;IAAAA,EAAA,GAAAnD,CAAA;EAAA;EAAA,IAAAoD,EAAA;EAAA,IAAApD,CAAA,SAAAK,YAAA,IAAAL,CAAA,SAAA0B,KAAA;IACA0B,EAAA,IAAC1B,KAAA,EAAOrB,YAAA;IAAaL,CAAA,OAAAK,YAAA;IAAAL,CAAA,OAAA0B,KAAA;IAAA1B,CAAA,OAAAoD,EAAA;EAAA;IAAAA,EAAA,GAAApD,CAAA;EAAA;EAAA,IAAAqD,EAAA;EAAA,IAAArD,CAAA,SAAAc,KAAA,IAAAd,CAAA,SAAAkD,WAAA;IACrBG,EAAA,IAACvC,KAAA,EAAOoC,WAAA;IAAYlD,CAAA,OAAAc,KAAA;IAAAd,CAAA,OAAAkD,WAAA;IAAAlD,CAAA,OAAAqD,EAAA;EAAA;IAAAA,EAAA,GAAArD,CAAA;EAAA;EAPtBlB,gBAAA,CACEqE,EAIA,EACAC,EAAqB,EACrBC,EAAoB;EAAA,IAAAC,EAAA;EAAA,IAAAtD,CAAA,SAAAY,UAAA;IAGyE0C,EAAA;MAAAvB,cAAA,EAC7EnB;IAAA;IAClBZ,CAAA,OAAAY,UAAA;IAAAZ,CAAA,OAAAsD,EAAA;EAAA;IAAAA,EAAA,GAAAtD,CAAA;EAAA;EAFA,OAAAuD,cAAA,EAAAC,qBAAA,EAAAC,EAAA,IAA6EjE,iBAAA,CAAkB8D,EAE/F;EAF8C;IAAAI,WAAA;IAAAC;EAAA,IAAAF,EAA2B;EAAA,IAAAG,GAAA;EAAA,IAAA5D,CAAA,SAAAmC,IAAA,CAAAhB,IAAA,IAAAnB,CAAA,SAAAkD,WAAA;IAKvEU,GAAA,GAAAC,IAAA;MACE,MAAAC,aAAA,GAAsB3B,IAAA,EAAAhB,IAAA,EAAA4C,SAAA,CAAAC,KAAA,IAA+BC,KAAA,CAAAC,EAAA,KAAWL,IAAA,CAAAI,GAAA,CAAAC,EAAW;MAC3E,IAAAC,mBAAA;MAAiD,IAE7CL,aAAA,OAAmB;QACrB,MAAAM,OAAA,OAAoBjC,IAAA,CAAAhB,IAAA;QACpBiD,OAAO,CAACN,aAAA,IAAiBD,IAAA,CAAAI,GAAA;QACzBE,mBAAA,CAAAA,CAAA,CAAsBC,OAAA;MAAtB;QAEAD,mBAAA,CAAAA,CAAA,CAAAA,CAAuBN,IAAA,CAAAI,GAAA,KAAa9B,IAAA,CAAAhB,IAAA;MAApC;MAGG+B,WAAA,CAAYiB,mBAAA;IAAA;IACnBnE,CAAA,OAAAmC,IAAA,CAAAhB,IAAA;IAAAnB,CAAA,OAAAkD,WAAA;IAAAlD,CAAA,OAAA4D,GAAA;EAAA;IAAAA,GAAA,GAAA5D,CAAA;EAAA;EAdF,MAAAqE,YAAA,GAAqBT,GAeK;EAAA,IAAAU,GAAA;EAAA,IAAAtE,CAAA,SAAA0D,WAAA,IAAA1D,CAAA,SAAAqE,YAAA;IAIxBC,GAAA,GAAAC,MAAA;MACEb,WAAA;MACKW,YAAA,CAAaR,MAAA;IAAA;IACpB7D,CAAA,OAAA0D,WAAA;IAAA1D,CAAA,OAAAqE,YAAA;IAAArE,CAAA,OAAAsE,GAAA;EAAA;IAAAA,GAAA,GAAAtE,CAAA;EAAA;EAJF,MAAAwE,cAAA,GAAuBF,GAKM;EAG7B,MAAAG,aAAA,GAAsB,GAAG7D,UAAA,OAAiB;EAE1C,MAAA8D,SAAA,GAAkBxE,WAAA,UAAgB,IAASe,WAAA,EAAA0D,WAAA,GAA2B/D,UAAA,GAAAgE,MAAa;EAAA,IAAAC,GAAA;EAAA,IAAA7E,CAAA,SAAAwD,qBAAA,IAAAxD,CAAA,SAAA0E,SAAA,IAAA1E,CAAA,SAAAwB,IAAA;IAO1EqD,GAAA,GAAAH,SAAA,IACCI,IAAA,CAACtB,qBAAA;MAAAuB,SAAA,EAAiC,GAAAlF,SAAA,WAAuB;MAAAmF,QAAA,EACtDxD,IAAA,CAAAC,CAAA,CAAO;IAAA,C;;;;;;;;EAMC,MAAAwD,GAAA,MAAApF,SAAA,oBACT+B,kBAAA,GAAqB,GAAA/B,SAAA,kBAA8B,GAAG,IACtD;EAC4B,MAAAqF,GAAA,GAAAtD,kBAAA,GAAqB,OAAO;EAAA,IAAAuD,GAAA;EAAA,IAAAnF,CAAA,SAAAC,UAAA,IAAAD,CAAA,SAAAI,WAAA,IAAAJ,CAAA,SAAAuD,cAAA,IAAAvD,CAAA,SAAAW,KAAA,IAAAX,CAAA,SAAAc,KAAA,IAAAd,CAAA,SAAA0E,SAAA,IAAA1E,CAAA,SAAAgC,gBAAA,IAAAhC,CAAA,SAAAqC,WAAA,IAAArC,CAAA,SAAAmC,IAAA,IAAAnC,CAAA,SAAAwB,IAAA,IAAAxB,CAAA,SAAAU,iBAAA,IAAAV,CAAA,SAAAiC,cAAA,IAAAjC,CAAA,SAAAwE,cAAA,IAAAxE,CAAA,SAAAqE,YAAA,IAAArE,CAAA,SAAA4B,kBAAA,IAAA5B,CAAA,SAAA2D,UAAA,IAAA3D,CAAA,SAAAyE,aAAA,IAAAzE,CAAA,SAAAY,UAAA,IAAAZ,CAAA,SAAAyB,CAAA,IAAAzB,CAAA,SAAA6E,GAAA,IAAA7E,CAAA,SAAAiF,GAAA,IAAAjF,CAAA,SAAAkF,GAAA;IAAA,IAAAE,GAAA;IAAA,IAAApF,CAAA,SAAA4B,kBAAA;MACjDwD,GAAA,GAAAA,CAAA,KAAMvD,qBAAA,EAAuBD,kBAAA;MAAA5B,CAAA,OAAA4B,kBAAA;MAAA5B,CAAA,OAAAoF,GAAA;IAAA;MAAAA,GAAA,GAAApF,CAAA;IAAA;IAhB9CmF,GAAA,GAAAE,KAAA,CAAC;MAAAN,SAAA,EAAAlF,SAAA;MAAAmF,QAAA,GACCK,KAAA,CAAC;QAAAN,SAAA,EAAe,GAAAlF,SAAA,UAAsB;QAAAmF,QAAA,GACnCrE,KAAA,EACD0E,KAAA,CAAC;UAAAN,SAAA,EAAe,GAAAlF,SAAA,WAAuB;UAAAmF,QAAA,GACpCH,G,EAKDC,IAAA,CAAAjG,IAAA;YAAA,iBACiB,GAAAgB,SAAA,UAAsB;YAAA,iBACtB+B,kBAAA;YAAAmD,SAAA,EACJE,GAET;YAAAK,IAAA,EACIR,IAAA,CAAA/F,WAAA;cAAAwG,SAAA,EAAwBL;YAA4B,C;qBACjDE,GAA6B;YAAAI,SAAA,EAC5B;YAAAR,QAAA,EAETvD,CAAA,CAAE;UAAA,C;;UAIRrB,WAAA,EACA6B,cAAA,GACC6C,IAAA,CAAC;QAAAE,QAAA,EAAGvD,CAAA,CAAE;MAAA,C,IAEN4D,KAAA,CAAA5G,QAAA;QAAAuG,QAAA,GACG7C,IAAA,CAAAhB,IAAA,IAAagB,IAAA,CAAAhB,IAAA,CAAAsE,MAAA,MAAqB,IACjCJ,KAAA,CAAC;UAAAN,SAAA,EAAe,GAAAlF,SAAA,cAA0B;UAAAmF,QAAA,GACxCF,IAAA,CAAC;YAAAE,QAAA,EACExD,IAAA,CAAAC,CAAA,CAAO;cAAAiE,KAAA,EACCnH,cAAA,CAAeyD,gBAAA,EAAA2D,MAAA,EAAAC,MAAA,EAAkCpE,IAAA;YAAA,CAC1D;UAAA,C,GAEDkD,SAAA,IACCI,IAAA,CAAAlG,MAAA;YAAAiH,OAAA,EAAiBlC,UAAA;YAAAqB,QAAA,EACdxD,IAAA,CAAAC,CAAA,CAAO;cAAAiE,KAAA,EACCnH,cAAA,CAAeyD,gBAAA,EAAA2D,MAAA,EAAAG,QAAA,EAAoCtE,IAAA;YAAA,CAC5D;UAAA,C;YAKPW,IAAA,CAAAhB,IAAA,IAAagB,IAAA,CAAAhB,IAAA,CAAAsE,MAAA,IAAmB,IAC/BX,IAAA,CAAArF,oBAAA;UAAAuF,QAAA,EACEF,IAAA,CAAA5F,iBAAA;YAAA6C,cAAA,EACkBnB,UAAA;YAAAuB,IAAA;YAAA4D,YAAA,EAEF/D,gBAAA,EAAAgE,KAAA,EAAAC,UAAA,EAAAF,YAAA;YAAAG,kBAAA;YAAAC,aAAA,EAECxE,QAAA;YAAA8C,aAAA;YAAAO,QAAA,EAGfK,KAAA,CAAA3F,oBAAA;cAAAqC,cAAA,EACkBnB,UAAA;cAAAyB,WAAA;cAAAlB,IAAA,EAEVgB,IAAA,CAAAhB,IAAA;cAAAiF,kBAAA,EACctB,IAAA,CAAAnF,UAAA;gBAAA0E;cAAA,C;;;;;4BAKN;cAAA;cAAApB,eAAA,EAEE;cAAA+B,QAAA,GAEhBF,IAAA,CAAAxF,aAAA;gBAAAyF,SAAA,EACa,GAAAlF,SAAA,WAAuB;gBAAAwG,MAAA,EAC1BzE,kBAAA,GAAqB,UAAS;gBAAAsC,EAAA,EAClC,GAAArE,SAAA,UAAsB;gBAAAmF,QAAA,EAE1BF,IAAA,CAAC;kBAAAC,SAAA,EAAe,GAAAlF,SAAA,iBAA6B;kBAAAmF,QAAA,EAC3CF,IAAA,CAAAvF,cAAA;oBAAAwC,cAAA,EAAgCC,gBAAA,CAAAsE;kBAAA,C;;kBAGnCxF,KAAA,EACDgE,IAAA,CAAAlF,2BAAA,IAAC;YAAA,C;;;UAOZK,UAAA,EACD6E,IAAA,CAACvB,cAAA;QAAA/C,WAAA,EAA4BE,iBAAA;QAAA6F,MAAA,EAA2B/B;MAAA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;SArF1DW,G;CAwFJ;AA3N4E,SAAA5D,MAAAiF,GAAA,EAAAvC,GAAA;EAAA,IAwB1D,OAAOA,GAAA,KAAQ;IAAA,WAEZuC,GAAA;MAAAtC,EAAA,EAEGD;IAAA;EAAA;EAAA,WAICuC,GAAA,EAAKvC,GAAA;AAAA","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);