@payloadcms/ui 3.0.0-canary.67aae47 → 3.0.0-canary.6b9e4be
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/Banner/index.d.ts.map +1 -1
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +2 -2
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +13 -2
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.js +14 -14
- package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +44 -30
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +155 -247
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.d.ts +0 -6
- package/dist/elements/RenderServerComponent/index.d.ts.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +1 -24
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +2 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/reducer.js +16 -16
- package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +4 -4
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +7 -7
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
- package/dist/exports/client/index.js +10 -10
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +1 -0
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Relationship/optionsReducer.js +42 -42
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/forms/Form/fieldReducer.js +170 -170
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +7 -29
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +6 -6
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +17 -17
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +0 -2
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +16 -67
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/utilities/abortAndIgnore.d.ts +2 -0
- package/dist/utilities/abortAndIgnore.d.ts.map +1 -0
- package/dist/utilities/abortAndIgnore.js +10 -0
- package/dist/utilities/abortAndIgnore.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +12 -12
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts +0 -4
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +1 -15
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.d.ts +2 -1
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js +6 -3
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +2 -0
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +11 -18
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +41 -52
- package/dist/views/List/index.js.map +1 -1
- package/license.md +22 -0
- package/package.json +15 -6
|
@@ -5,7 +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 { useRouter } from 'next/navigation.js';
|
|
8
|
-
import React, { useCallback, useState } from 'react';
|
|
8
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
9
9
|
import { useForm } from '../../forms/Form/context.js';
|
|
10
10
|
import { Form } from '../../forms/Form/index.js';
|
|
11
11
|
import { RenderFields } from '../../forms/RenderFields/index.js';
|
|
@@ -21,6 +21,7 @@ import { useSearchParams } from '../../providers/SearchParams/index.js';
|
|
|
21
21
|
import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
|
|
22
22
|
import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
|
|
23
23
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
24
|
+
import { abortAndIgnore } from '../../utilities/abortAndIgnore.js';
|
|
24
25
|
import { Drawer, DrawerToggler } from '../Drawer/index.js';
|
|
25
26
|
import { FieldSelect } from '../FieldSelect/index.js';
|
|
26
27
|
import './index.scss';
|
|
@@ -168,27 +169,16 @@ const SaveDraftButton = t0 => {
|
|
|
168
169
|
return t2;
|
|
169
170
|
};
|
|
170
171
|
export const EditMany = props => {
|
|
171
|
-
const $ = _c(49);
|
|
172
172
|
const {
|
|
173
|
-
collection:
|
|
173
|
+
collection: {
|
|
174
|
+
slug,
|
|
175
|
+
fields,
|
|
176
|
+
labels: {
|
|
177
|
+
plural
|
|
178
|
+
}
|
|
179
|
+
} = {},
|
|
174
180
|
collection
|
|
175
181
|
} = props;
|
|
176
|
-
let t1;
|
|
177
|
-
if ($[0] !== t0) {
|
|
178
|
-
t1 = t0 === undefined ? {} : t0;
|
|
179
|
-
$[0] = t0;
|
|
180
|
-
$[1] = t1;
|
|
181
|
-
} else {
|
|
182
|
-
t1 = $[1];
|
|
183
|
-
}
|
|
184
|
-
const {
|
|
185
|
-
slug,
|
|
186
|
-
fields,
|
|
187
|
-
labels: t2
|
|
188
|
-
} = t1;
|
|
189
|
-
const {
|
|
190
|
-
plural
|
|
191
|
-
} = t2;
|
|
192
182
|
const {
|
|
193
183
|
permissions,
|
|
194
184
|
user
|
|
@@ -197,15 +187,13 @@ export const EditMany = props => {
|
|
|
197
187
|
closeModal
|
|
198
188
|
} = useModal();
|
|
199
189
|
const {
|
|
200
|
-
config:
|
|
190
|
+
config: {
|
|
191
|
+
routes: {
|
|
192
|
+
api: apiRoute
|
|
193
|
+
},
|
|
194
|
+
serverURL
|
|
195
|
+
}
|
|
201
196
|
} = useConfig();
|
|
202
|
-
const {
|
|
203
|
-
routes: t4,
|
|
204
|
-
serverURL
|
|
205
|
-
} = t3;
|
|
206
|
-
const {
|
|
207
|
-
api: apiRoute
|
|
208
|
-
} = t4;
|
|
209
197
|
const {
|
|
210
198
|
getFormState
|
|
211
199
|
} = useServerFunctions();
|
|
@@ -218,252 +206,172 @@ export const EditMany = props => {
|
|
|
218
206
|
i18n,
|
|
219
207
|
t
|
|
220
208
|
} = useTranslation();
|
|
221
|
-
|
|
222
|
-
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
223
|
-
t5 = [];
|
|
224
|
-
$[2] = t5;
|
|
225
|
-
} else {
|
|
226
|
-
t5 = $[2];
|
|
227
|
-
}
|
|
228
|
-
const [selected, setSelected] = useState(t5);
|
|
209
|
+
const [selected, setSelected] = useState([]);
|
|
229
210
|
const {
|
|
230
211
|
stringifyParams
|
|
231
212
|
} = useSearchParams();
|
|
232
213
|
const router = useRouter();
|
|
233
214
|
const [initialState, setInitialState] = useState();
|
|
234
215
|
const hasInitializedState = React.useRef(false);
|
|
216
|
+
const formStateAbortControllerRef = React.useRef(null);
|
|
235
217
|
const {
|
|
236
218
|
clearRouteCache
|
|
237
219
|
} = useRouteCache();
|
|
238
220
|
const collectionPermissions = permissions?.collections?.[slug];
|
|
239
221
|
const hasUpdatePermission = collectionPermissions?.update?.permission;
|
|
240
222
|
const drawerSlug = `edit-${slug}`;
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
const
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
223
|
+
React.useEffect(() => {
|
|
224
|
+
const controller = new AbortController();
|
|
225
|
+
if (!hasInitializedState.current) {
|
|
226
|
+
const getInitialState = async () => {
|
|
227
|
+
const {
|
|
228
|
+
state: result
|
|
229
|
+
} = await getFormState({
|
|
230
|
+
collectionSlug: slug,
|
|
231
|
+
data: {},
|
|
232
|
+
docPermissions: collectionPermissions,
|
|
233
|
+
docPreferences: null,
|
|
234
|
+
operation: 'update',
|
|
235
|
+
schemaPath: slug,
|
|
236
|
+
signal: controller.signal
|
|
237
|
+
});
|
|
238
|
+
setInitialState(result);
|
|
239
|
+
hasInitializedState.current = true;
|
|
240
|
+
};
|
|
241
|
+
void getInitialState();
|
|
242
|
+
}
|
|
243
|
+
return () => {
|
|
244
|
+
abortAndIgnore(controller);
|
|
261
245
|
};
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
if ($[15] !== getFormState || $[16] !== slug || $[17] !== collectionPermissions) {
|
|
286
|
-
t8 = async t9 => {
|
|
287
|
-
const {
|
|
288
|
-
formState: prevFormState
|
|
289
|
-
} = t9;
|
|
290
|
-
const {
|
|
291
|
-
state
|
|
292
|
-
} = await getFormState({
|
|
293
|
-
collectionSlug: slug,
|
|
294
|
-
docPermissions: collectionPermissions,
|
|
295
|
-
docPreferences: null,
|
|
296
|
-
formState: prevFormState,
|
|
297
|
-
operation: "update",
|
|
298
|
-
schemaPath: slug
|
|
299
|
-
});
|
|
300
|
-
return state;
|
|
246
|
+
}, [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions]);
|
|
247
|
+
const onChange = useCallback(async ({
|
|
248
|
+
formState: prevFormState
|
|
249
|
+
}) => {
|
|
250
|
+
abortAndIgnore(formStateAbortControllerRef.current);
|
|
251
|
+
const controller_0 = new AbortController();
|
|
252
|
+
formStateAbortControllerRef.current = controller_0;
|
|
253
|
+
const {
|
|
254
|
+
state
|
|
255
|
+
} = await getFormState({
|
|
256
|
+
collectionSlug: slug,
|
|
257
|
+
docPermissions: collectionPermissions,
|
|
258
|
+
docPreferences: null,
|
|
259
|
+
formState: prevFormState,
|
|
260
|
+
operation: 'update',
|
|
261
|
+
schemaPath: slug,
|
|
262
|
+
signal: controller_0.signal
|
|
263
|
+
});
|
|
264
|
+
return state;
|
|
265
|
+
}, [slug, getFormState, collectionPermissions]);
|
|
266
|
+
useEffect(() => {
|
|
267
|
+
return () => {
|
|
268
|
+
abortAndIgnore(formStateAbortControllerRef.current);
|
|
301
269
|
};
|
|
302
|
-
|
|
303
|
-
$[16] = slug;
|
|
304
|
-
$[17] = collectionPermissions;
|
|
305
|
-
$[18] = t8;
|
|
306
|
-
} else {
|
|
307
|
-
t8 = $[18];
|
|
308
|
-
}
|
|
309
|
-
const onChange = t8;
|
|
270
|
+
}, []);
|
|
310
271
|
if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {
|
|
311
272
|
return null;
|
|
312
273
|
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
$[24] = drawerSlug;
|
|
330
|
-
$[25] = t9;
|
|
331
|
-
} else {
|
|
332
|
-
t9 = $[25];
|
|
333
|
-
}
|
|
334
|
-
const onSuccess = t9;
|
|
335
|
-
let t10;
|
|
336
|
-
if ($[26] !== t || $[27] !== drawerSlug || $[28] !== plural || $[29] !== i18n || $[30] !== count || $[31] !== closeModal || $[32] !== onChange || $[33] !== fields || $[34] !== selected || $[35] !== permissions || $[36] !== slug || $[37] !== collection?.versions?.drafts || $[38] !== getQueryParams || $[39] !== serverURL || $[40] !== apiRoute || $[41] !== initialState || $[42] !== onSuccess || $[43] !== user) {
|
|
337
|
-
let t11;
|
|
338
|
-
if ($[45] === Symbol.for("react.memo_cache_sentinel")) {
|
|
339
|
-
t11 = () => {
|
|
274
|
+
const onSuccess = () => {
|
|
275
|
+
router.replace(stringifyParams({
|
|
276
|
+
params: {
|
|
277
|
+
page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined
|
|
278
|
+
}
|
|
279
|
+
}));
|
|
280
|
+
clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this
|
|
281
|
+
;
|
|
282
|
+
closeModal(drawerSlug);
|
|
283
|
+
};
|
|
284
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
285
|
+
className: baseClass,
|
|
286
|
+
children: [/*#__PURE__*/_jsx(DrawerToggler, {
|
|
287
|
+
"aria-label": t('general:edit'),
|
|
288
|
+
className: `${baseClass}__toggle`,
|
|
289
|
+
onClick: () => {
|
|
340
290
|
setSelected([]);
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
if ($[46] !== closeModal || $[47] !== drawerSlug) {
|
|
348
|
-
t12 = () => closeModal(drawerSlug);
|
|
349
|
-
$[46] = closeModal;
|
|
350
|
-
$[47] = drawerSlug;
|
|
351
|
-
$[48] = t12;
|
|
352
|
-
} else {
|
|
353
|
-
t12 = $[48];
|
|
354
|
-
}
|
|
355
|
-
t10 = _jsxs("div", {
|
|
356
|
-
className: baseClass,
|
|
357
|
-
children: [_jsx(DrawerToggler, {
|
|
358
|
-
"aria-label": t("general:edit"),
|
|
359
|
-
className: `${baseClass}__toggle`,
|
|
360
|
-
onClick: t11,
|
|
291
|
+
},
|
|
292
|
+
slug: drawerSlug,
|
|
293
|
+
children: t('general:edit')
|
|
294
|
+
}), /*#__PURE__*/_jsx(EditDepthProvider, {
|
|
295
|
+
children: /*#__PURE__*/_jsx(Drawer, {
|
|
296
|
+
Header: null,
|
|
361
297
|
slug: drawerSlug,
|
|
362
|
-
children:
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
children: _jsx("div", {
|
|
421
|
-
className: `${baseClass}__document-actions`,
|
|
422
|
-
children: collection?.versions?.drafts ? _jsxs(React.Fragment, {
|
|
423
|
-
children: [_jsx(SaveDraftButton, {
|
|
424
|
-
action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`,
|
|
425
|
-
disabled: selected.length === 0
|
|
426
|
-
}), _jsx(PublishButton, {
|
|
427
|
-
action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`,
|
|
428
|
-
disabled: selected.length === 0
|
|
429
|
-
})]
|
|
430
|
-
}) : _jsx(Submit, {
|
|
431
|
-
action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
|
|
298
|
+
children: /*#__PURE__*/_jsx(DocumentInfoProvider, {
|
|
299
|
+
collectionSlug: slug,
|
|
300
|
+
currentEditor: user,
|
|
301
|
+
hasPublishedDoc: false,
|
|
302
|
+
id: null,
|
|
303
|
+
initialData: {},
|
|
304
|
+
initialState: initialState,
|
|
305
|
+
isLocked: false,
|
|
306
|
+
lastUpdateTime: 0,
|
|
307
|
+
mostRecentVersionIsAutosaved: false,
|
|
308
|
+
unpublishedVersionCount: 0,
|
|
309
|
+
versionCount: 0,
|
|
310
|
+
children: /*#__PURE__*/_jsx(OperationContext.Provider, {
|
|
311
|
+
value: "update",
|
|
312
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
313
|
+
className: `${baseClass}__main`,
|
|
314
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
315
|
+
className: `${baseClass}__header`,
|
|
316
|
+
children: [/*#__PURE__*/_jsx("h2", {
|
|
317
|
+
className: `${baseClass}__header__title`,
|
|
318
|
+
children: t('general:editingLabel', {
|
|
319
|
+
count,
|
|
320
|
+
label: getTranslation(plural, i18n)
|
|
321
|
+
})
|
|
322
|
+
}), /*#__PURE__*/_jsx("button", {
|
|
323
|
+
"aria-label": t('general:close'),
|
|
324
|
+
className: `${baseClass}__header__close`,
|
|
325
|
+
id: `close-drawer__${drawerSlug}`,
|
|
326
|
+
onClick: () => closeModal(drawerSlug),
|
|
327
|
+
type: "button",
|
|
328
|
+
children: /*#__PURE__*/_jsx(XIcon, {})
|
|
329
|
+
})]
|
|
330
|
+
}), /*#__PURE__*/_jsxs(Form, {
|
|
331
|
+
className: `${baseClass}__form`,
|
|
332
|
+
initialState: initialState,
|
|
333
|
+
onChange: [onChange],
|
|
334
|
+
onSuccess: onSuccess,
|
|
335
|
+
children: [/*#__PURE__*/_jsx(FieldSelect, {
|
|
336
|
+
fields: fields,
|
|
337
|
+
setSelected: setSelected
|
|
338
|
+
}), selected.length === 0 ? null : /*#__PURE__*/_jsx(RenderFields, {
|
|
339
|
+
fields: selected,
|
|
340
|
+
parentIndexPath: "",
|
|
341
|
+
parentPath: "",
|
|
342
|
+
parentSchemaPath: slug,
|
|
343
|
+
permissions: permissions?.collections?.[slug]?.fields,
|
|
344
|
+
readOnly: false
|
|
345
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
346
|
+
className: `${baseClass}__sidebar-wrap`,
|
|
347
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
348
|
+
className: `${baseClass}__sidebar`,
|
|
349
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
350
|
+
className: `${baseClass}__sidebar-sticky-wrap`,
|
|
351
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
352
|
+
className: `${baseClass}__document-actions`,
|
|
353
|
+
children: collection?.versions?.drafts ? /*#__PURE__*/_jsxs(React.Fragment, {
|
|
354
|
+
children: [/*#__PURE__*/_jsx(SaveDraftButton, {
|
|
355
|
+
action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`,
|
|
432
356
|
disabled: selected.length === 0
|
|
433
|
-
})
|
|
357
|
+
}), /*#__PURE__*/_jsx(PublishButton, {
|
|
358
|
+
action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`,
|
|
359
|
+
disabled: selected.length === 0
|
|
360
|
+
})]
|
|
361
|
+
}) : /*#__PURE__*/_jsx(Submit, {
|
|
362
|
+
action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
|
|
363
|
+
disabled: selected.length === 0
|
|
434
364
|
})
|
|
435
365
|
})
|
|
436
366
|
})
|
|
437
|
-
})
|
|
367
|
+
})
|
|
438
368
|
})]
|
|
439
|
-
})
|
|
369
|
+
})]
|
|
440
370
|
})
|
|
441
371
|
})
|
|
442
372
|
})
|
|
443
|
-
})
|
|
444
|
-
})
|
|
445
|
-
|
|
446
|
-
$[27] = drawerSlug;
|
|
447
|
-
$[28] = plural;
|
|
448
|
-
$[29] = i18n;
|
|
449
|
-
$[30] = count;
|
|
450
|
-
$[31] = closeModal;
|
|
451
|
-
$[32] = onChange;
|
|
452
|
-
$[33] = fields;
|
|
453
|
-
$[34] = selected;
|
|
454
|
-
$[35] = permissions;
|
|
455
|
-
$[36] = slug;
|
|
456
|
-
$[37] = collection?.versions?.drafts;
|
|
457
|
-
$[38] = getQueryParams;
|
|
458
|
-
$[39] = serverURL;
|
|
459
|
-
$[40] = apiRoute;
|
|
460
|
-
$[41] = initialState;
|
|
461
|
-
$[42] = onSuccess;
|
|
462
|
-
$[43] = user;
|
|
463
|
-
$[44] = t10;
|
|
464
|
-
} else {
|
|
465
|
-
t10 = $[44];
|
|
466
|
-
}
|
|
467
|
-
return t10;
|
|
373
|
+
})
|
|
374
|
+
})]
|
|
375
|
+
});
|
|
468
376
|
};
|
|
469
377
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","EditDepthProvider","OperationContext","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useServerFunctions","useTranslation","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditMany","props","collection","undefined","slug","fields","labels","plural","permissions","user","closeModal","config","t3","routes","t4","serverURL","api","apiRoute","getFormState","count","getQueryParams","selectAll","i18n","t5","Symbol","for","selected","setSelected","stringifyParams","router","initialState","setInitialState","hasInitializedState","useRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","permission","drawerSlug","t6","current","getInitialState","state","result","collectionSlug","data","docPermissions","docPreferences","operation","schemaPath","t7","useEffect","t8","t9","formState","prevFormState","onChange","None","replace","params","page","AllAvailable","onSuccess","t10","versions","drafts","t11","t12","_jsxs","Header","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","Provider","value","label","type","length","parentIndexPath","parentPath","parentSchemaPath","readOnly","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, fields, labels: { plural } } = {}, collection } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update?.permission\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const { state: result } = await getFormState({\n collectionSlug: slug,\n data: {},\n docPermissions: collectionPermissions,\n docPreferences: null,\n operation: 'update',\n schemaPath: slug,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n }, [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const { state } = await getFormState({\n collectionSlug: slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n })\n\n return state\n },\n [slug, getFormState, collectionPermissions],\n )\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n const onSuccess = () => {\n router.replace(\n stringifyParams({\n params: { page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined },\n }),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider\n collectionSlug={slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n initialState={initialState}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields\n fields={selected}\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={slug}\n permissions={permissions?.collections?.[slug]?.fields}\n readOnly={false}\n />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","useEffect","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","EditDepthProvider","OperationContext","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditMany","props","collection","slug","fields","labels","plural","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","selected","setSelected","stringifyParams","router","initialState","setInitialState","hasInitializedState","useRef","formStateAbortControllerRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","permission","drawerSlug","controller","AbortController","current","getInitialState","state","result","collectionSlug","data","docPermissions","docPreferences","operation","schemaPath","signal","onChange","formState","prevFormState","None","onSuccess","replace","params","page","AllAvailable","undefined","_jsxs","Header","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","Provider","value","label","type","length","parentIndexPath","parentPath","parentSchemaPath","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, fields, labels: { plural } } = {}, collection } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const formStateAbortControllerRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update?.permission\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n const controller = new AbortController()\n\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const { state: result } = await getFormState({\n collectionSlug: slug,\n data: {},\n docPermissions: collectionPermissions,\n docPreferences: null,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n abortAndIgnore(formStateAbortControllerRef.current)\n\n const controller = new AbortController()\n formStateAbortControllerRef.current = controller\n\n const { state } = await getFormState({\n collectionSlug: slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n })\n\n return state\n },\n [slug, getFormState, collectionPermissions],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(formStateAbortControllerRef.current)\n }\n }, [])\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n const onSuccess = () => {\n router.replace(\n stringifyParams({\n params: { page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined },\n }),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider\n collectionSlug={slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n initialState={initialState}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields\n fields={selected}\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={slug}\n permissions={permissions?.collections?.[slug]?.fields}\n readOnly={false}\n />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import type { ImportMap, PayloadComponent } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export declare const getFromImportMap: <TOutput>(args: {
|
|
4
|
-
importMap: ImportMap;
|
|
5
|
-
PayloadComponent: PayloadComponent;
|
|
6
|
-
schemaPath?: string;
|
|
7
|
-
silent?: boolean;
|
|
8
|
-
}) => TOutput;
|
|
9
3
|
/**
|
|
10
4
|
* Can be used to render both MappedComponents and React Components.
|
|
11
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderServerComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderServerComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EACf,gBAAgB,GAChB,gBAAgB,EAAE,GAClB,KAAK,CAAC,aAAa,GACnB,KAAK,CAAC,aAAa,EAAE,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,CAoDA,CAAA"}
|
|
@@ -1,29 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { isPlainObject, isReactServerComponentOrFunction
|
|
2
|
+
import { getFromImportMap, isPlainObject, isReactServerComponentOrFunction } from 'payload/shared';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
export const getFromImportMap = args => {
|
|
5
|
-
const {
|
|
6
|
-
importMap,
|
|
7
|
-
PayloadComponent,
|
|
8
|
-
schemaPath,
|
|
9
|
-
silent
|
|
10
|
-
} = args;
|
|
11
|
-
const {
|
|
12
|
-
exportName,
|
|
13
|
-
path
|
|
14
|
-
} = parsePayloadComponent(PayloadComponent);
|
|
15
|
-
const key = path + '#' + exportName;
|
|
16
|
-
const importMapEntry = importMap[key];
|
|
17
|
-
if (!importMapEntry && !silent) {
|
|
18
|
-
// eslint-disable-next-line no-console
|
|
19
|
-
console.error(`getFromImportMap: PayloadComponent not found in importMap`, {
|
|
20
|
-
key,
|
|
21
|
-
PayloadComponent,
|
|
22
|
-
schemaPath
|
|
23
|
-
}, 'You may need to run the `payload generate:importmap` command to generate the importMap ahead of runtime.');
|
|
24
|
-
}
|
|
25
|
-
return importMapEntry;
|
|
26
|
-
};
|
|
27
4
|
/**
|
|
28
5
|
* Can be used to render both MappedComponents and React Components.
|
|
29
6
|
*/
|