@payloadcms/ui 3.0.0-beta.124 → 3.0.0-beta.126
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/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +26 -21
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +8 -4
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +3 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +32 -27
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/types.d.ts +1 -0
- package/dist/elements/CodeEditor/types.d.ts.map +1 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/EditMany/index.js +3 -2
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +31 -18
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-VPUKDCXS.js → CodeEditor-LZ2347XA.js} +6 -6
- package/dist/exports/client/CodeEditor-LZ2347XA.js.map +8 -0
- package/dist/exports/client/index.js +22 -22
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +2 -0
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +12 -4
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.d.ts +2 -0
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +20 -16
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.d.ts +2 -0
- package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +2 -0
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +138 -109
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.d.ts +2 -0
- package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +61 -42
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/types.d.ts +4 -0
- package/dist/fields/Upload/types.d.ts.map +1 -0
- package/dist/fields/Upload/types.js +2 -0
- package/dist/fields/Upload/types.js.map +1 -0
- package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.js +2 -5
- package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +3 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/package.json +5 -5
- package/dist/exports/client/CodeEditor-VPUKDCXS.js.map +0 -8
|
@@ -23,7 +23,7 @@ import { UploadComponentHasOne } from './HasOne/index.js';
|
|
|
23
23
|
import './index.scss';
|
|
24
24
|
export const baseClass = 'upload';
|
|
25
25
|
export function UploadInput(props) {
|
|
26
|
-
const $ = _c(
|
|
26
|
+
const $ = _c(128);
|
|
27
27
|
const {
|
|
28
28
|
api,
|
|
29
29
|
className,
|
|
@@ -420,54 +420,80 @@ export function UploadInput(props) {
|
|
|
420
420
|
}
|
|
421
421
|
const onListSelect = t20;
|
|
422
422
|
let t21;
|
|
423
|
-
if ($[69] !==
|
|
424
|
-
t21 =
|
|
425
|
-
const
|
|
423
|
+
if ($[69] !== populateDocs) {
|
|
424
|
+
t21 = async (docID_0, collectionSlug_0) => {
|
|
425
|
+
const {
|
|
426
|
+
docs: docs_0
|
|
427
|
+
} = await populateDocs([docID_0], collectionSlug_0);
|
|
428
|
+
if (docs_0[0]) {
|
|
429
|
+
setPopulatedDocs(currentDocs_3 => {
|
|
430
|
+
const existingDocIndex = currentDocs_3?.findIndex(doc_3 => doc_3.value.id === docs_0[0].id && doc_3.relationTo === collectionSlug_0);
|
|
431
|
+
if (existingDocIndex > -1) {
|
|
432
|
+
const updatedDocs = [...currentDocs_3];
|
|
433
|
+
updatedDocs[existingDocIndex] = {
|
|
434
|
+
relationTo: collectionSlug_0,
|
|
435
|
+
value: docs_0[0]
|
|
436
|
+
};
|
|
437
|
+
return updatedDocs;
|
|
438
|
+
}
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
$[69] = populateDocs;
|
|
443
|
+
$[70] = t21;
|
|
444
|
+
} else {
|
|
445
|
+
t21 = $[70];
|
|
446
|
+
}
|
|
447
|
+
const reloadDoc = t21;
|
|
448
|
+
let t22;
|
|
449
|
+
if ($[71] !== onChange) {
|
|
450
|
+
t22 = newValue_0 => {
|
|
451
|
+
const newValueIDs = newValue_0.map(t23 => {
|
|
426
452
|
const {
|
|
427
453
|
value: value_0
|
|
428
|
-
} =
|
|
454
|
+
} = t23;
|
|
429
455
|
return value_0.id;
|
|
430
456
|
});
|
|
431
457
|
onChange(newValueIDs);
|
|
432
458
|
setPopulatedDocs(newValue_0);
|
|
433
459
|
};
|
|
434
|
-
$[
|
|
435
|
-
$[
|
|
460
|
+
$[71] = onChange;
|
|
461
|
+
$[72] = t22;
|
|
436
462
|
} else {
|
|
437
|
-
|
|
463
|
+
t22 = $[72];
|
|
438
464
|
}
|
|
439
|
-
const onReorder =
|
|
440
|
-
let
|
|
441
|
-
if ($[
|
|
442
|
-
|
|
443
|
-
const newValueIDs_0 = newValue_1 ? newValue_1.map(
|
|
465
|
+
const onReorder = t22;
|
|
466
|
+
let t23;
|
|
467
|
+
if ($[73] !== onChange || $[74] !== hasMany) {
|
|
468
|
+
t23 = newValue_1 => {
|
|
469
|
+
const newValueIDs_0 = newValue_1 ? newValue_1.map(t24 => {
|
|
444
470
|
const {
|
|
445
471
|
value: value_1
|
|
446
|
-
} =
|
|
472
|
+
} = t24;
|
|
447
473
|
return value_1.id;
|
|
448
474
|
}) : null;
|
|
449
475
|
onChange(hasMany ? newValueIDs_0 : newValueIDs_0 ? newValueIDs_0[0] : null);
|
|
450
476
|
setPopulatedDocs(newValue_1 ? newValue_1 : []);
|
|
451
477
|
};
|
|
452
|
-
$[
|
|
453
|
-
$[
|
|
454
|
-
$[
|
|
478
|
+
$[73] = onChange;
|
|
479
|
+
$[74] = hasMany;
|
|
480
|
+
$[75] = t23;
|
|
455
481
|
} else {
|
|
456
|
-
|
|
482
|
+
t23 = $[75];
|
|
457
483
|
}
|
|
458
|
-
const onRemove =
|
|
459
|
-
let t23;
|
|
484
|
+
const onRemove = t23;
|
|
460
485
|
let t24;
|
|
461
|
-
|
|
462
|
-
|
|
486
|
+
let t25;
|
|
487
|
+
if ($[76] !== value || $[77] !== populateDocs || $[78] !== activeRelationTo) {
|
|
488
|
+
t24 = () => {
|
|
463
489
|
const loadInitialDocs = async function loadInitialDocs() {
|
|
464
490
|
if (value) {
|
|
465
491
|
loadedValueDocsRef.current = true;
|
|
466
492
|
const loadedDocs_1 = await populateDocs(Array.isArray(value) ? value : [value], activeRelationTo);
|
|
467
493
|
if (loadedDocs_1) {
|
|
468
|
-
setPopulatedDocs(loadedDocs_1.docs.map(
|
|
494
|
+
setPopulatedDocs(loadedDocs_1.docs.map(doc_4 => ({
|
|
469
495
|
relationTo: activeRelationTo,
|
|
470
|
-
value:
|
|
496
|
+
value: doc_4
|
|
471
497
|
})));
|
|
472
498
|
}
|
|
473
499
|
}
|
|
@@ -476,61 +502,61 @@ export function UploadInput(props) {
|
|
|
476
502
|
loadInitialDocs();
|
|
477
503
|
}
|
|
478
504
|
};
|
|
479
|
-
|
|
480
|
-
$[
|
|
481
|
-
$[
|
|
482
|
-
$[
|
|
483
|
-
$[
|
|
484
|
-
$[
|
|
505
|
+
t25 = [populateDocs, activeRelationTo, value];
|
|
506
|
+
$[76] = value;
|
|
507
|
+
$[77] = populateDocs;
|
|
508
|
+
$[78] = activeRelationTo;
|
|
509
|
+
$[79] = t24;
|
|
510
|
+
$[80] = t25;
|
|
485
511
|
} else {
|
|
486
|
-
|
|
487
|
-
|
|
512
|
+
t24 = $[79];
|
|
513
|
+
t25 = $[80];
|
|
488
514
|
}
|
|
489
|
-
useEffect(
|
|
515
|
+
useEffect(t24, t25);
|
|
490
516
|
const showDropzone = !readOnly && (!value || hasMany && Array.isArray(value) && (typeof maxRows !== "number" || value.length < maxRows) || !hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === "undefined");
|
|
491
|
-
const
|
|
492
|
-
const
|
|
493
|
-
let
|
|
494
|
-
if ($[
|
|
495
|
-
|
|
496
|
-
$[
|
|
497
|
-
$[
|
|
498
|
-
$[
|
|
499
|
-
$[
|
|
517
|
+
const t26 = showError && "error";
|
|
518
|
+
const t27 = readOnly && "read-only";
|
|
519
|
+
let t28;
|
|
520
|
+
if ($[81] !== className || $[82] !== t26 || $[83] !== t27) {
|
|
521
|
+
t28 = [fieldBaseClass, baseClass, className, t26, t27].filter(Boolean);
|
|
522
|
+
$[81] = className;
|
|
523
|
+
$[82] = t26;
|
|
524
|
+
$[83] = t27;
|
|
525
|
+
$[84] = t28;
|
|
500
526
|
} else {
|
|
501
|
-
|
|
527
|
+
t28 = $[84];
|
|
502
528
|
}
|
|
503
|
-
const
|
|
504
|
-
const
|
|
505
|
-
let
|
|
506
|
-
if ($[
|
|
507
|
-
let t31;
|
|
508
|
-
if ($[119] !== labelProps) {
|
|
509
|
-
t31 = labelProps || {};
|
|
510
|
-
$[119] = labelProps;
|
|
511
|
-
$[120] = t31;
|
|
512
|
-
} else {
|
|
513
|
-
t31 = $[120];
|
|
514
|
-
}
|
|
529
|
+
const t29 = t28.join(" ");
|
|
530
|
+
const t30 = `field-${path.replace(/\./g, "__")}`;
|
|
531
|
+
let t31;
|
|
532
|
+
if ($[85] !== style || $[86] !== width || $[87] !== labelProps || $[88] !== Label || $[89] !== label || $[90] !== required || $[91] !== field || $[92] !== errorProps || $[93] !== Error || $[94] !== path || $[95] !== hasMany || $[96] !== value || $[97] !== populatedDocs || $[98] !== isSortable || $[99] !== readOnly || $[100] !== onRemove || $[101] !== onReorder || $[102] !== reloadDoc || $[103] !== serverURL || $[104] !== t || $[105] !== showDropzone || $[106] !== canCreate || $[107] !== onLocalFileSelection || $[108] !== openCreateDocDrawer || $[109] !== openListDrawer || $[110] !== onDocCreate || $[111] !== CreateDocDrawer || $[112] !== onListBulkSelect || $[113] !== onListSelect || $[114] !== ListDrawer || $[115] !== maxRows || $[116] !== descriptionProps || $[117] !== Description || $[118] !== description || $[119] !== t29 || $[120] !== t30) {
|
|
515
533
|
let t32;
|
|
516
|
-
if ($[
|
|
517
|
-
t32 =
|
|
518
|
-
$[
|
|
519
|
-
$[
|
|
534
|
+
if ($[122] !== labelProps) {
|
|
535
|
+
t32 = labelProps || {};
|
|
536
|
+
$[122] = labelProps;
|
|
537
|
+
$[123] = t32;
|
|
520
538
|
} else {
|
|
521
|
-
t32 = $[
|
|
539
|
+
t32 = $[123];
|
|
522
540
|
}
|
|
523
541
|
let t33;
|
|
524
|
-
if ($[
|
|
525
|
-
t33 =
|
|
526
|
-
$[
|
|
527
|
-
$[
|
|
542
|
+
if ($[124] !== errorProps) {
|
|
543
|
+
t33 = errorProps || {};
|
|
544
|
+
$[124] = errorProps;
|
|
545
|
+
$[125] = t33;
|
|
546
|
+
} else {
|
|
547
|
+
t33 = $[125];
|
|
548
|
+
}
|
|
549
|
+
let t34;
|
|
550
|
+
if ($[126] !== descriptionProps) {
|
|
551
|
+
t34 = descriptionProps || {};
|
|
552
|
+
$[126] = descriptionProps;
|
|
553
|
+
$[127] = t34;
|
|
528
554
|
} else {
|
|
529
|
-
|
|
555
|
+
t34 = $[127];
|
|
530
556
|
}
|
|
531
|
-
|
|
532
|
-
className:
|
|
533
|
-
id:
|
|
557
|
+
t31 = _jsxs("div", {
|
|
558
|
+
className: t29,
|
|
559
|
+
id: t30,
|
|
534
560
|
style: {
|
|
535
561
|
...style,
|
|
536
562
|
width
|
|
@@ -539,14 +565,14 @@ export function UploadInput(props) {
|
|
|
539
565
|
Label,
|
|
540
566
|
label,
|
|
541
567
|
required,
|
|
542
|
-
...
|
|
568
|
+
...t32,
|
|
543
569
|
field
|
|
544
570
|
}), _jsx("div", {
|
|
545
571
|
className: `${baseClass}__wrap`,
|
|
546
572
|
children: _jsx(FieldError, {
|
|
547
573
|
CustomError: Error,
|
|
548
574
|
path,
|
|
549
|
-
...
|
|
575
|
+
...t33,
|
|
550
576
|
field
|
|
551
577
|
})
|
|
552
578
|
}), _jsxs("div", {
|
|
@@ -558,6 +584,7 @@ export function UploadInput(props) {
|
|
|
558
584
|
onRemove,
|
|
559
585
|
onReorder,
|
|
560
586
|
readonly: readOnly,
|
|
587
|
+
reloadDoc,
|
|
561
588
|
serverURL
|
|
562
589
|
}) : _jsx("div", {
|
|
563
590
|
className: `${baseClass}__loadingRows`,
|
|
@@ -568,6 +595,7 @@ export function UploadInput(props) {
|
|
|
568
595
|
fileDoc: populatedDocs[0],
|
|
569
596
|
onRemove,
|
|
570
597
|
readonly: readOnly,
|
|
598
|
+
reloadDoc,
|
|
571
599
|
serverURL
|
|
572
600
|
}) : populatedDocs && value && !populatedDocs?.[0]?.value ? _jsxs(_Fragment, {
|
|
573
601
|
children: [t("general:untitled"), " - ID: ", value]
|
|
@@ -630,50 +658,51 @@ export function UploadInput(props) {
|
|
|
630
658
|
}), _jsx(FieldDescription, {
|
|
631
659
|
Description,
|
|
632
660
|
description,
|
|
633
|
-
...
|
|
661
|
+
...t34,
|
|
634
662
|
field
|
|
635
663
|
})]
|
|
636
664
|
});
|
|
637
|
-
$[
|
|
638
|
-
$[
|
|
639
|
-
$[
|
|
640
|
-
$[
|
|
641
|
-
$[
|
|
642
|
-
$[
|
|
643
|
-
$[
|
|
644
|
-
$[
|
|
645
|
-
$[
|
|
646
|
-
$[
|
|
647
|
-
$[
|
|
648
|
-
$[
|
|
649
|
-
$[
|
|
650
|
-
$[
|
|
651
|
-
$[
|
|
652
|
-
$[
|
|
653
|
-
$[
|
|
654
|
-
$[
|
|
655
|
-
$[
|
|
656
|
-
$[
|
|
657
|
-
$[
|
|
658
|
-
$[
|
|
659
|
-
$[
|
|
660
|
-
$[
|
|
661
|
-
$[
|
|
662
|
-
$[
|
|
663
|
-
$[
|
|
664
|
-
$[
|
|
665
|
-
$[
|
|
666
|
-
$[
|
|
667
|
-
$[
|
|
668
|
-
$[
|
|
669
|
-
$[
|
|
670
|
-
$[
|
|
671
|
-
$[
|
|
672
|
-
$[
|
|
665
|
+
$[85] = style;
|
|
666
|
+
$[86] = width;
|
|
667
|
+
$[87] = labelProps;
|
|
668
|
+
$[88] = Label;
|
|
669
|
+
$[89] = label;
|
|
670
|
+
$[90] = required;
|
|
671
|
+
$[91] = field;
|
|
672
|
+
$[92] = errorProps;
|
|
673
|
+
$[93] = Error;
|
|
674
|
+
$[94] = path;
|
|
675
|
+
$[95] = hasMany;
|
|
676
|
+
$[96] = value;
|
|
677
|
+
$[97] = populatedDocs;
|
|
678
|
+
$[98] = isSortable;
|
|
679
|
+
$[99] = readOnly;
|
|
680
|
+
$[100] = onRemove;
|
|
681
|
+
$[101] = onReorder;
|
|
682
|
+
$[102] = reloadDoc;
|
|
683
|
+
$[103] = serverURL;
|
|
684
|
+
$[104] = t;
|
|
685
|
+
$[105] = showDropzone;
|
|
686
|
+
$[106] = canCreate;
|
|
687
|
+
$[107] = onLocalFileSelection;
|
|
688
|
+
$[108] = openCreateDocDrawer;
|
|
689
|
+
$[109] = openListDrawer;
|
|
690
|
+
$[110] = onDocCreate;
|
|
691
|
+
$[111] = CreateDocDrawer;
|
|
692
|
+
$[112] = onListBulkSelect;
|
|
693
|
+
$[113] = onListSelect;
|
|
694
|
+
$[114] = ListDrawer;
|
|
695
|
+
$[115] = maxRows;
|
|
696
|
+
$[116] = descriptionProps;
|
|
697
|
+
$[117] = Description;
|
|
698
|
+
$[118] = description;
|
|
699
|
+
$[119] = t29;
|
|
700
|
+
$[120] = t30;
|
|
701
|
+
$[121] = t31;
|
|
673
702
|
} else {
|
|
674
|
-
|
|
703
|
+
t31 = $[121];
|
|
675
704
|
}
|
|
676
|
-
return
|
|
705
|
+
return t31;
|
|
677
706
|
}
|
|
678
707
|
function _temp(id_1) {
|
|
679
708
|
return _jsx(ShimmerEffect, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","ShimmerEffect","useAuth","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","api","className","Description","description","descriptionProps","Error","errorProps","field","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","labelProps","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","width","allowCreate","admin","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","permission","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","populateDocs","t16","newDocs","mergedValue","doc_0","currentDocs","doc_1","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","id_0","isSelected","push","loadedDocs","currentDocs_0","doc_2","onListBulkSelect","t19","data","currentDocs_1","onDocCreate","t20","t21","docID","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","newValue_0","newValueIDs","t22","value_0","onReorder","newValue_1","newValueIDs_0","t23","value_1","onRemove","t24","loadInitialDocs","current","loadedDocs_1","doc_3","showDropzone","t25","t26","t27","filter","Boolean","t28","join","t29","replace","t30","t31","t32","t33","_jsxs","children","_jsx","CustomError","_Fragment","fileDocs","readonly","_temp","fileDoc","height","disabled","multipleFiles","buttonStyle","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_1"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldDescriptionClientProps,\n FieldErrorClientProps,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n MappedComponent,\n PaginatedDocs,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: MappedComponent\n readonly description?: StaticDescription\n readonly descriptionProps?: FieldDescriptionClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly Error?: MappedComponent\n readonly errorProps?: FieldErrorClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly field?: MarkOptional<UploadFieldClient, 'type'>\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly isSortable?: boolean\n readonly Label?: MappedComponent\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n readonly width?: React.CSSProperties['width']\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n api,\n className,\n Description,\n description,\n descriptionProps,\n Error,\n errorProps,\n field,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n labelProps,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n const allowCreate = field?.admin?.allowCreate !== false\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const { drawerSlug, setCollectionSlug, setInitialFiles, setMaxFiles, setOnSuccess } =\n useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...(Array.isArray(value) || value ? [value] : []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Prevent initial retrieval of documents from running more than once\n */\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (readOnly || !allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n if (permissions.collections[activeRelationTo].create?.permission === true) {\n return true\n }\n }\n }\n\n return false\n }, [activeRelationTo, permissions, readOnly, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (\n ids: (number | string)[],\n relatedCollectionSlug: string,\n ): Promise<null | PaginatedDocs> => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n const sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n setOnSuccess(onUploadSuccess)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n onUploadSuccess,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n setOnSuccess,\n maxRows,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n loadedValueDocsRef.current = true\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n const showDropzone =\n !readOnly &&\n (!value ||\n (hasMany &&\n Array.isArray(value) &&\n (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined'))\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={Label}\n label={label}\n required={required}\n {...(labelProps || {})}\n field={field as UploadFieldClient}\n />\n <div className={`${baseClass}__wrap`}>\n <FieldError\n CustomError={Error}\n path={path}\n {...(errorProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n <FieldDescription\n Description={Description}\n description={description}\n {...(descriptionProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","ShimmerEffect","useAuth","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","api","className","Description","description","descriptionProps","Error","errorProps","field","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","labelProps","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","width","allowCreate","admin","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","permission","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","populateDocs","t16","newDocs","mergedValue","doc_0","currentDocs","doc_1","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","id_0","isSelected","push","loadedDocs","currentDocs_0","doc_2","onListBulkSelect","t19","data","currentDocs_1","onDocCreate","t20","t21","docID","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","docID_0","collectionSlug_0","docs_0","currentDocs_3","existingDocIndex","findIndex","doc_3","updatedDocs","reloadDoc","t22","newValue_0","newValueIDs","t23","value_0","onReorder","newValue_1","newValueIDs_0","t24","value_1","onRemove","t25","loadInitialDocs","current","loadedDocs_1","doc_4","showDropzone","t26","t27","t28","filter","Boolean","t29","join","t30","replace","t31","t32","t33","t34","_jsxs","children","_jsx","CustomError","_Fragment","fileDocs","readonly","_temp","fileDoc","height","disabled","multipleFiles","buttonStyle","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_1"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldDescriptionClientProps,\n FieldErrorClientProps,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n MappedComponent,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { PopulateDocs, ReloadDoc } from './types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: MappedComponent\n readonly description?: StaticDescription\n readonly descriptionProps?: FieldDescriptionClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly Error?: MappedComponent\n readonly errorProps?: FieldErrorClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly field?: MarkOptional<UploadFieldClient, 'type'>\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly isSortable?: boolean\n readonly Label?: MappedComponent\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n readonly width?: React.CSSProperties['width']\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n api,\n className,\n Description,\n description,\n descriptionProps,\n Error,\n errorProps,\n field,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n labelProps,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n const allowCreate = field?.admin?.allowCreate !== false\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const { drawerSlug, setCollectionSlug, setInitialFiles, setMaxFiles, setOnSuccess } =\n useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...(Array.isArray(value) || value ? [value] : []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Prevent initial retrieval of documents from running more than once\n */\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (readOnly || !allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n if (permissions.collections[activeRelationTo].create?.permission === true) {\n return true\n }\n }\n }\n\n return false\n }, [activeRelationTo, permissions, readOnly, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback<PopulateDocs>(\n async (ids, relatedCollectionSlug) => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n const sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n setOnSuccess(onUploadSuccess)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n onUploadSuccess,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n setOnSuccess,\n maxRows,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n const reloadDoc = React.useCallback<ReloadDoc>(\n async (docID, collectionSlug) => {\n const { docs } = await populateDocs([docID], collectionSlug)\n\n if (docs[0]) {\n setPopulatedDocs((currentDocs) => {\n const existingDocIndex = currentDocs?.findIndex((doc) => {\n return doc.value.id === docs[0].id && doc.relationTo === collectionSlug\n })\n if (existingDocIndex > -1) {\n const updatedDocs = [...currentDocs]\n updatedDocs[existingDocIndex] = {\n relationTo: collectionSlug,\n value: docs[0],\n }\n return updatedDocs\n }\n })\n }\n },\n [populateDocs],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n loadedValueDocsRef.current = true\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n const showDropzone =\n !readOnly &&\n (!value ||\n (hasMany &&\n Array.isArray(value) &&\n (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined'))\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={Label}\n label={label}\n required={required}\n {...(labelProps || {})}\n field={field as UploadFieldClient}\n />\n <div className={`${baseClass}__wrap`}>\n <FieldError\n CustomError={Error}\n path={path}\n {...(errorProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n <FieldDescription\n Description={Description}\n description={description}\n {...(descriptionProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { ReloadDoc } from '../types.js';
|
|
2
3
|
import './index.scss';
|
|
3
4
|
type Props = {
|
|
4
5
|
readonly allowEdit?: boolean;
|
|
@@ -11,6 +12,7 @@ type Props = {
|
|
|
11
12
|
readonly id: number | string;
|
|
12
13
|
readonly mimeType: string;
|
|
13
14
|
readonly onRemove: () => void;
|
|
15
|
+
readonly reloadDoc: ReloadDoc;
|
|
14
16
|
readonly src: string;
|
|
15
17
|
readonly withMeta?: boolean;
|
|
16
18
|
readonly x?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAK5C,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AACD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,qBA6F/C"}
|