@payloadcms/ui 3.50.0-internal.f87db1c → 3.50.0

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 (64) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js +1 -1
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/DocumentControls/index.scss +9 -1
  5. package/dist/elements/DocumentDrawer/Provider.d.ts +1 -1
  6. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  7. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  8. package/dist/elements/DocumentDrawer/index.d.ts +19 -0
  9. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  10. package/dist/elements/DocumentDrawer/index.js +28 -9
  11. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  12. package/dist/elements/DocumentDrawer/types.d.ts +25 -12
  13. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  14. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  15. package/dist/elements/DocumentFields/index.scss +64 -27
  16. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +3 -3
  17. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
  18. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +19 -70
  19. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  20. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +10 -0
  21. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  22. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  23. package/dist/elements/RelationshipTable/index.js +61 -40
  24. package/dist/elements/RelationshipTable/index.js.map +1 -1
  25. package/dist/exports/client/index.js +12 -12
  26. package/dist/exports/client/index.js.map +4 -4
  27. package/dist/fields/Array/index.d.ts.map +1 -1
  28. package/dist/fields/Array/index.js +2 -1
  29. package/dist/fields/Array/index.js.map +1 -1
  30. package/dist/fields/Blocks/index.d.ts.map +1 -1
  31. package/dist/fields/Blocks/index.js +2 -1
  32. package/dist/fields/Blocks/index.js.map +1 -1
  33. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  34. package/dist/fields/Relationship/Input.js +7 -3
  35. package/dist/fields/Relationship/Input.js.map +1 -1
  36. package/dist/fields/Relationship/index.d.ts.map +1 -1
  37. package/dist/fields/Relationship/index.js +8 -8
  38. package/dist/fields/Relationship/index.js.map +1 -1
  39. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  40. package/dist/forms/Form/mergeServerFormState.js +3 -0
  41. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  42. package/dist/forms/NullifyField/index.d.ts +2 -0
  43. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  44. package/dist/forms/NullifyField/index.js +50 -14
  45. package/dist/forms/NullifyField/index.js.map +1 -1
  46. package/dist/forms/NullifyField/index.scss +14 -0
  47. package/dist/{elements/AddNewRelation → hooks}/useRelatedCollections.d.ts +3 -0
  48. package/dist/hooks/useRelatedCollections.d.ts.map +1 -0
  49. package/dist/{elements/AddNewRelation → hooks}/useRelatedCollections.js +4 -1
  50. package/dist/hooks/useRelatedCollections.js.map +1 -0
  51. package/dist/styles.css +1 -1
  52. package/dist/utilities/renderTable.d.ts +1 -1
  53. package/dist/utilities/renderTable.d.ts.map +1 -1
  54. package/dist/utilities/renderTable.js +11 -11
  55. package/dist/utilities/renderTable.js.map +1 -1
  56. package/dist/views/List/GroupByHeader/index.d.ts.map +1 -1
  57. package/dist/views/List/GroupByHeader/index.js +1 -0
  58. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  59. package/dist/views/List/index.d.ts.map +1 -1
  60. package/dist/views/List/index.js +0 -4
  61. package/dist/views/List/index.js.map +1 -1
  62. package/package.json +5 -5
  63. package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +0 -1
  64. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +0 -1
@@ -2,92 +2,41 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import React, { useCallback } from 'react';
5
+ import React from 'react';
6
6
  import { EditIcon } from '../../../../icons/Edit/index.js';
7
7
  import { useCellProps } from '../../../../providers/TableColumns/RenderDefaultCell/index.js';
8
- import { useDocumentDrawer } from '../../../DocumentDrawer/index.js';
9
8
  import { DefaultCell } from '../../../Table/DefaultCell/index.js';
10
9
  import './index.scss';
11
- export const DrawerLink = props => {
12
- const $ = _c(15);
10
+ export const DrawerLink = t0 => {
11
+ const $ = _c(3);
13
12
  const {
14
- onDrawerDelete: onDrawerDeleteFromProps,
15
- onDrawerSave: onDrawerSaveFromProps
16
- } = props;
13
+ onDrawerOpen
14
+ } = t0;
17
15
  const cellProps = useCellProps();
18
- const t0 = cellProps?.rowData.id;
19
- const t1 = cellProps?.collectionSlug;
20
- let t2;
21
- if ($[0] !== t0 || $[1] !== t1) {
22
- t2 = {
23
- id: t0,
24
- collectionSlug: t1
25
- };
26
- $[0] = t0;
27
- $[1] = t1;
28
- $[2] = t2;
29
- } else {
30
- t2 = $[2];
31
- }
32
- const [DocumentDrawer, DocumentDrawerToggler, t3] = useDocumentDrawer(t2);
33
- const {
34
- closeDrawer
35
- } = t3;
36
- let t4;
37
- if ($[3] !== closeDrawer || $[4] !== onDrawerSaveFromProps) {
38
- t4 = args => {
39
- closeDrawer();
40
- if (typeof onDrawerSaveFromProps === "function") {
41
- onDrawerSaveFromProps(args);
42
- }
43
- };
44
- $[3] = closeDrawer;
45
- $[4] = onDrawerSaveFromProps;
46
- $[5] = t4;
47
- } else {
48
- t4 = $[5];
49
- }
50
- const onDrawerSave = t4;
51
- let t5;
52
- if ($[6] !== closeDrawer || $[7] !== onDrawerDeleteFromProps) {
53
- t5 = args_0 => {
54
- closeDrawer();
55
- if (typeof onDrawerDeleteFromProps === "function") {
56
- onDrawerDeleteFromProps(args_0);
57
- }
58
- };
59
- $[6] = closeDrawer;
60
- $[7] = onDrawerDeleteFromProps;
61
- $[8] = t5;
62
- } else {
63
- t5 = $[8];
64
- }
65
- const onDrawerDelete = t5;
66
- let t6;
67
- if ($[9] !== DocumentDrawer || $[10] !== DocumentDrawerToggler || $[11] !== cellProps || $[12] !== onDrawerDelete || $[13] !== onDrawerSave) {
68
- t6 = _jsxs("div", {
16
+ let t1;
17
+ if ($[0] !== cellProps || $[1] !== onDrawerOpen) {
18
+ t1 = _jsxs("div", {
69
19
  className: "drawer-link",
70
20
  children: [_jsx(DefaultCell, {
71
21
  ...cellProps,
72
22
  className: "drawer-link__cell",
73
23
  link: false,
74
24
  onClick: null
75
- }), _jsx(DocumentDrawerToggler, {
25
+ }), _jsx("button", {
26
+ className: "drawer-link__doc-drawer-toggler",
27
+ onClick: () => {
28
+ onDrawerOpen(cellProps.rowData.id);
29
+ },
30
+ type: "button",
76
31
  children: _jsx(EditIcon, {})
77
- }), _jsx(DocumentDrawer, {
78
- onDelete: onDrawerDelete,
79
- onSave: onDrawerSave
80
32
  })]
81
33
  });
82
- $[9] = DocumentDrawer;
83
- $[10] = DocumentDrawerToggler;
84
- $[11] = cellProps;
85
- $[12] = onDrawerDelete;
86
- $[13] = onDrawerSave;
87
- $[14] = t6;
34
+ $[0] = cellProps;
35
+ $[1] = onDrawerOpen;
36
+ $[2] = t1;
88
37
  } else {
89
- t6 = $[14];
38
+ t1 = $[2];
90
39
  }
91
- return t6;
40
+ return t1;
92
41
  };
93
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","EditIcon","useCellProps","useDocumentDrawer","DefaultCell","DrawerLink","props","$","onDrawerDelete","onDrawerDeleteFromProps","onDrawerSave","onDrawerSaveFromProps","cellProps","t0","rowData","id","t1","collectionSlug","t2","DocumentDrawer","DocumentDrawerToggler","t3","closeDrawer","t4","args","t5","args_0","t6","_jsxs","className","children","_jsx","link","onClick","onDelete","onSave"],"sources":["../../../../../src/elements/RelationshipTable/cells/DrawerLink/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback } from 'react'\n\nimport type { DocumentDrawerProps } from '../../../DocumentDrawer/types.js'\n\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useCellProps } from '../../../../providers/TableColumns/RenderDefaultCell/index.js'\nimport { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { DefaultCell } from '../../../Table/DefaultCell/index.js'\nimport './index.scss'\n\nexport const DrawerLink: React.FC<{\n readonly onDrawerDelete?: DocumentDrawerProps['onDelete']\n readonly onDrawerSave?: DocumentDrawerProps['onSave']\n}> = (props) => {\n const { onDrawerDelete: onDrawerDeleteFromProps, onDrawerSave: onDrawerSaveFromProps } = props\n\n const cellProps = useCellProps()\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n id: cellProps?.rowData.id,\n collectionSlug: cellProps?.collectionSlug,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerSaveFromProps === 'function') {\n void onDrawerSaveFromProps(args)\n }\n },\n [closeDrawer, onDrawerSaveFromProps],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerDeleteFromProps === 'function') {\n void onDrawerDeleteFromProps(args)\n }\n },\n [closeDrawer, onDrawerDeleteFromProps],\n )\n\n return (\n <div className=\"drawer-link\">\n <DefaultCell {...cellProps} className=\"drawer-link__cell\" link={false} onClick={null} />\n <DocumentDrawerToggler>\n <EditIcon />\n </DocumentDrawerToggler>\n <DocumentDrawer onDelete={onDrawerDelete} onSave={onDrawerSave} />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAInC,SAASC,QAAQ,QAAQ;AACzB,SAASC,YAAY,QAAQ;AAC7B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,OAAO,MAAMC,UAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,cAAA,EAAAC,uBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAyFL,KAAA;EAEzF,MAAAM,SAAA,GAAkBV,YAAA;EAGZ,MAAAW,EAAA,GAAAD,SAAA,EAAAE,OAAA,CAAAC,EAAA;EACY,MAAAC,EAAA,GAAAJ,SAAA,EAAAK,cAAA;EAAW,IAAAC,EAAA;EAAA,IAAAX,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAS,EAAA;IAFsDE,EAAA;MAAAH,EAAA,EAC7EF,EAAmB;MAAAI,cAAA,EACPD;IAAW;IAC7BT,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EAHA,OAAAY,cAAA,EAAAC,qBAAA,EAAAC,EAAA,IAAiElB,iBAAA,CAAkBe,EAGnF;EAH8C;IAAAI;EAAA,IAAAD,EAAe;EAAA,IAAAE,EAAA;EAAA,IAAAhB,CAAA,QAAAe,WAAA,IAAAf,CAAA,QAAAI,qBAAA;IAM3DY,EAAA,GAAAC,IAAA;MACEF,WAAA;MAAA,IAEI,OAAOX,qBAAA,KAA0B;QAC9BA,qBAAA,CAAsBa,IAAA;MAAA;IAAA;IAE/BjB,CAAA,MAAAe,WAAA;IAAAf,CAAA,MAAAI,qBAAA;IAAAJ,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAPF,MAAAG,YAAA,GAAqBa,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAAlB,CAAA,QAAAe,WAAA,IAAAf,CAAA,QAAAE,uBAAA;IAIpCgB,EAAA,GAAAC,MAAA;MACEJ,WAAA;MAAA,IAEI,OAAOb,uBAAA,KAA4B;QAChCA,uBAAA,CAAwBe,MAAA;MAAA;IAAA;IAEjCjB,CAAA,MAAAe,WAAA;IAAAf,CAAA,MAAAE,uBAAA;IAAAF,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAPF,MAAAC,cAAA,GAAuBiB,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAApB,CAAA,QAAAY,cAAA,IAAAZ,CAAA,SAAAa,qBAAA,IAAAb,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAC,cAAA,IAAAD,CAAA,SAAAG,YAAA;IAItCiB,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAA3B,WAAA;QAAA,GAAiBQ,SAAS;QAAAiB,SAAA,EAAY;QAAAG,IAAA;QAAAC,OAAA;MAAA,C,GACtCF,IAAA,CAACX,qBAAA;QAAAU,QAAA,EACCC,IAAA,CAAA9B,QAAA,IAAC;MAAA,C,GAEH8B,IAAA,CAACZ,cAAA;QAAAe,QAAA,EAAyB1B,cAAA;QAAA2B,MAAA,EAAwBzB;MAAA,C;;;;;;;;;;;SALpDiB,E;CAQJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","EditIcon","useCellProps","DefaultCell","DrawerLink","t0","$","onDrawerOpen","cellProps","t1","_jsxs","className","children","_jsx","link","onClick","rowData","id","type"],"sources":["../../../../../src/elements/RelationshipTable/cells/DrawerLink/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport type { OnDrawerOpen } from '../../index.js'\n\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useCellProps } from '../../../../providers/TableColumns/RenderDefaultCell/index.js'\nimport { DefaultCell } from '../../../Table/DefaultCell/index.js'\nimport './index.scss'\n\nexport const DrawerLink: React.FC<{\n currentDrawerID?: string\n onDrawerOpen: OnDrawerOpen\n}> = ({ onDrawerOpen }) => {\n const cellProps = useCellProps()\n\n return (\n <div className=\"drawer-link\">\n <DefaultCell {...cellProps} className=\"drawer-link__cell\" link={false} onClick={null} />\n <button\n className=\"drawer-link__doc-drawer-toggler\"\n onClick={() => {\n onDrawerOpen(cellProps.rowData.id)\n }}\n type=\"button\"\n >\n <EditIcon />\n </button>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAIlB,SAASC,QAAQ,QAAQ;AACzB,SAASC,YAAY,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,OAAO,MAAMC,UAAA,GAGRC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ;EAAA,IAAAF,EAAgB;EACpB,MAAAG,SAAA,GAAkBN,YAAA;EAAA,IAAAO,EAAA;EAAA,IAAAH,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAC,YAAA;IAGhBE,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAAV,WAAA;QAAA,GAAiBK,SAAS;QAAAG,SAAA,EAAY;QAAAG,IAAA;QAAAC,OAAA;MAAA,C,GACtCF,IAAA,CAAC;QAAAF,SAAA,EACW;QAAAI,OAAA,EAAAA,CAAA;UAERR,YAAA,CAAaC,SAAA,CAAAQ,OAAA,CAAAC,EAAoB;QAAA;QAAAC,IAAA,EAE9B;QAAAN,QAAA,EAELC,IAAA,CAAAZ,QAAA,IAAC;MAAA,C;;;;;;;;SATLQ,E;CAaJ","ignoreList":[]}
@@ -2,5 +2,15 @@
2
2
  .drawer-link {
3
3
  display: flex;
4
4
  gap: calc(var(--base) / 2);
5
+
6
+ &__doc-drawer-toggler {
7
+ border: none;
8
+ background: none;
9
+ padding: 0;
10
+ cursor: pointer;
11
+ color: var(--color-text);
12
+ font-size: inherit;
13
+ line-height: inherit;
14
+ }
5
15
  }
6
16
  }
@@ -20,6 +20,7 @@ type RelationshipTableComponentProps = {
20
20
  };
21
21
  readonly relationTo: string | string[];
22
22
  };
23
+ export type OnDrawerOpen = (id?: string) => void;
23
24
  export declare const RelationshipTable: React.FC<RelationshipTableComponentProps>;
24
25
  export {};
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAqD,MAAM,OAAO,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAiBrE,OAAO,cAAc,CAAA;AAKrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAmTvE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAIrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEhD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAiVvE,CAAA"}
@@ -3,7 +3,7 @@
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { getTranslation } from '@payloadcms/translations';
5
5
  import { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared';
6
- import React, { Fragment, useCallback, useEffect, useState } from 'react';
6
+ import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react';
7
7
  import { Pill } from '../../elements/Pill/index.js';
8
8
  import { useEffectEvent } from '../../hooks/useEffectEvent.js';
9
9
  import { ChevronIcon } from '../../icons/Chevron/index.js';
@@ -19,8 +19,8 @@ import { useDocumentDrawer } from '../DocumentDrawer/index.js';
19
19
  import { RelationshipProvider } from '../Table/RelationshipProvider/index.js';
20
20
  import { AddNewButton } from './AddNewButton.js';
21
21
  import { DrawerLink } from './cells/DrawerLink/index.js';
22
- import './index.scss';
23
22
  import { RelationshipTablePagination } from './Pagination.js';
23
+ import './index.scss';
24
24
  const baseClass = 'relationship-table';
25
25
  export const RelationshipTable = props => {
26
26
  const {
@@ -42,24 +42,6 @@ export const RelationshipTable = props => {
42
42
  config,
43
43
  getEntityConfig
44
44
  } = useConfig();
45
- const {
46
- permissions
47
- } = useAuth();
48
- const [initialData] = useState(() => {
49
- if (initialDataFromProps) {
50
- return {
51
- ...initialDataFromProps,
52
- docs: Array.isArray(initialDataFromProps.docs) ? initialDataFromProps.docs.reduce((acc, doc) => {
53
- if (typeof doc === 'string') {
54
- return [...acc, {
55
- id: doc
56
- }];
57
- }
58
- return [...acc, doc];
59
- }, []) : []
60
- };
61
- }
62
- });
63
45
  const {
64
46
  i18n,
65
47
  t
@@ -71,8 +53,31 @@ export const RelationshipTable = props => {
71
53
  }));
72
54
  const isPolymorphic = Array.isArray(relationTo);
73
55
  const [selectedCollection, setSelectedCollection] = useState(isPolymorphic ? undefined : relationTo);
56
+ const {
57
+ permissions
58
+ } = useAuth();
59
+ const openDrawerWhenRelationChanges = useRef(false);
60
+ const [currentDrawerID, setCurrentDrawerID] = useState(undefined);
61
+ const [DocumentDrawer,, {
62
+ closeDrawer,
63
+ isDrawerOpen,
64
+ openDrawer
65
+ }] = useDocumentDrawer({
66
+ id: currentDrawerID,
67
+ collectionSlug: selectedCollection
68
+ });
74
69
  const [isLoadingTable, setIsLoadingTable] = useState(!disableTable);
75
- const [data, setData] = useState(initialData);
70
+ const [data, setData] = useState(() => initialDataFromProps ? {
71
+ ...initialDataFromProps,
72
+ docs: Array.isArray(initialDataFromProps.docs) ? initialDataFromProps.docs.reduce((acc, doc) => {
73
+ if (typeof doc === 'string' || typeof doc === 'number') {
74
+ return [...acc, {
75
+ id: doc
76
+ }];
77
+ }
78
+ return [...acc, doc];
79
+ }, []) : []
80
+ } : undefined);
76
81
  const [columnState, setColumnState] = useState();
77
82
  const {
78
83
  getTableState
@@ -122,38 +127,53 @@ export const RelationshipTable = props => {
122
127
  useEffect(() => {
123
128
  handleTableRender(query, disableTable);
124
129
  }, [query, disableTable]);
125
- const [DocumentDrawer,, {
126
- closeDrawer,
127
- isDrawerOpen,
128
- openDrawer
129
- }] = useDocumentDrawer({
130
- collectionSlug: selectedCollection
131
- });
132
- const onDrawerSave = useCallback(args => {
133
- const foundDocIndex = data?.docs?.findIndex(doc => doc.id === args.doc.id);
130
+ const onDrawerSave = useCallback(({
131
+ doc,
132
+ operation
133
+ }) => {
134
+ if (operation === 'create') {
135
+ closeDrawer();
136
+ }
137
+ const foundDocIndex = data?.docs?.findIndex(d => d.id === doc.id);
134
138
  const withNewOrUpdatedData = {
135
139
  docs: []
136
140
  };
137
141
  if (foundDocIndex !== -1) {
138
142
  const newDocs = [...data.docs];
139
- newDocs[foundDocIndex] = args.doc;
143
+ newDocs[foundDocIndex] = doc;
140
144
  withNewOrUpdatedData.docs = newDocs;
141
145
  } else {
142
- withNewOrUpdatedData.docs = [args.doc, ...data.docs];
146
+ withNewOrUpdatedData.docs = [doc, ...data.docs];
143
147
  }
144
148
  void renderTable(withNewOrUpdatedData);
145
- }, [data?.docs, renderTable]);
146
- const onDrawerCreate = useCallback(args => {
147
- closeDrawer();
148
- void onDrawerSave(args);
149
- }, [closeDrawer, onDrawerSave]);
149
+ }, [data?.docs, renderTable, closeDrawer]);
150
150
  const onDrawerDelete = useCallback(args => {
151
151
  const newDocs = data.docs.filter(doc => doc.id !== args.id);
152
152
  void renderTable({
153
153
  ...data,
154
154
  docs: newDocs
155
155
  });
156
+ setCurrentDrawerID(undefined);
156
157
  }, [data, renderTable]);
158
+ const onDrawerOpen = useCallback(id => {
159
+ openDrawerWhenRelationChanges.current = true;
160
+ if (id) {
161
+ setCurrentDrawerID(id);
162
+ } else {
163
+ setCurrentDrawerID(undefined);
164
+ }
165
+ }, []);
166
+ useEffect(() => {
167
+ if (openDrawerWhenRelationChanges.current) {
168
+ openDrawerWhenRelationChanges.current = false;
169
+ openDrawer();
170
+ }
171
+ }, [openDrawer]);
172
+ useEffect(() => {
173
+ if (!isDrawerOpen) {
174
+ setCurrentDrawerID(undefined);
175
+ }
176
+ }, [isDrawerOpen]);
157
177
  const canCreate = allowCreate !== false && permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create;
158
178
  useEffect(() => {
159
179
  if (isPolymorphic && selectedCollection) {
@@ -237,8 +257,8 @@ export const RelationshipTable = props => {
237
257
  collectionSlug: isPolymorphic ? relationTo[0] : relationTo,
238
258
  columnState: columnState,
239
259
  LinkedCellOverride: /*#__PURE__*/_jsx(DrawerLink, {
240
- onDrawerDelete: onDrawerDelete,
241
- onDrawerSave: onDrawerSave
260
+ currentDrawerID: currentDrawerID,
261
+ onDrawerOpen: onDrawerOpen
242
262
  }),
243
263
  children: [/*#__PURE__*/_jsx(AnimateHeight, {
244
264
  className: `${baseClass}__columns`,
@@ -256,7 +276,8 @@ export const RelationshipTable = props => {
256
276
  })]
257
277
  }), AfterInput, /*#__PURE__*/_jsx(DocumentDrawer, {
258
278
  initialData: initialDrawerData,
259
- onSave: onDrawerCreate
279
+ onDelete: onDrawerDelete,
280
+ onSave: onDrawerSave
260
281
  })]
261
282
  });
262
283
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useState","Pill","useEffectEvent","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","AddNewButton","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","fieldPath","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","isPolymorphic","selectedCollection","setSelectedCollection","undefined","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","renderRowTypes","tableAppearance","handleTableRender","DocumentDrawer","closeDrawer","isDrawerOpen","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedData","newDocs","onDrawerCreate","onDrawerDelete","filter","canCreate","collections","create","memoizedListQuery","useMemo","_jsxs","className","_jsx","buttonStyle","icon","label","onClick","direction","pillStyle","size","length","labels","plural","singular","modifySearchParams","onQueryChange","replaceAll","LinkedCellOverride","height","slug","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.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 { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.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 { AddNewButton } from './AddNewButton.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport './index.scss'\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 fieldPath?: string\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | 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 fieldPath,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, 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(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const isPolymorphic = Array.isArray(relationTo)\n\n const [selectedCollection, setSelectedCollection] = useState(\n isPolymorphic ? undefined : relationTo,\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 (data?: PaginatedDocs) => {\n const newQuery: ListQuery = {\n limit: 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 // map columns from string[] to CollectionPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n data,\n enableRowSelections: false,\n orderableFieldName:\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`,\n parent,\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 field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n field.collection,\n field.name,\n field.orderable,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const [DocumentDrawer, , { closeDrawer, isDrawerOpen, openDrawer }] = useDocumentDrawer({\n collectionSlug: selectedCollection,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n const withNewOrUpdatedData: PaginatedDocs = { docs: [] } as PaginatedDocs\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedData.docs = newDocs\n } else {\n withNewOrUpdatedData.docs = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedData)\n },\n [data?.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n\n void renderTable({\n ...data,\n docs: newDocs,\n })\n },\n [data, renderTable],\n )\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (isPolymorphic && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, isPolymorphic])\n\n useEffect(() => {\n if (isPolymorphic && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n const memoizedListQuery = React.useMemo(\n () => ({\n columns: transformColumnsToPreferences(columnState)?.map(({ accessor }) => accessor),\n limit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort ?? collectionConfig?.defaultSort,\n }),\n [columnState, field, collectionConfig],\n )\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n <AddNewButton\n allowCreate={allowCreate !== false}\n baseClass={baseClass}\n buttonStyle=\"none\"\n className={`${baseClass}__add-new${isPolymorphic ? '-polymorphic' : ' doc-drawer__toggler'}`}\n collections={config.collections}\n i18n={i18n}\n icon={isPolymorphic ? 'plus' : undefined}\n label={i18n.t('fields:addNew')}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\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 size=\"small\"\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: isPolymorphic\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n <AddNewButton\n allowCreate={canCreate}\n baseClass={baseClass}\n collections={config.collections}\n i18n={i18n}\n label={i18n.t('general:createNewLabel', {\n label: isPolymorphic\n ? i18n.t('general:document')\n : getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />\n </div>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`\n }\n query={memoizedListQuery}\n >\n <TableColumnsProvider\n collectionSlug={isPolymorphic ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n {collectionConfig && (\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n )}\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useRef","useState","Pill","useEffectEvent","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","AddNewButton","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","fieldPath","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","isPolymorphic","Array","isArray","selectedCollection","setSelectedCollection","undefined","permissions","openDrawerWhenRelationChanges","currentDrawerID","setCurrentDrawerID","DocumentDrawer","closeDrawer","isDrawerOpen","openDrawer","id","isLoadingTable","setIsLoadingTable","data","setData","docs","reduce","acc","doc","columnState","setColumnState","getTableState","renderTable","newQuery","limit","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","renderRowTypes","tableAppearance","handleTableRender","onDrawerSave","operation","foundDocIndex","findIndex","d","withNewOrUpdatedData","newDocs","onDrawerDelete","args","filter","onDrawerOpen","current","canCreate","collections","create","memoizedListQuery","useMemo","_jsxs","className","_jsx","buttonStyle","icon","label","onClick","direction","pillStyle","size","length","labels","plural","singular","modifySearchParams","onQueryChange","replaceAll","LinkedCellOverride","height","slug","onDelete","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.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 { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.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 { AddNewButton } from './AddNewButton.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.scss'\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 fieldPath?: string\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | string[]\n}\n\nexport type OnDrawerOpen = (id?: string) => void\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n fieldPath,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const isPolymorphic = Array.isArray(relationTo)\n\n const [selectedCollection, setSelectedCollection] = useState(\n isPolymorphic ? undefined : relationTo,\n )\n\n const { permissions } = useAuth()\n\n const openDrawerWhenRelationChanges = useRef(false)\n\n const [currentDrawerID, setCurrentDrawerID] = useState<string | undefined>(undefined)\n\n const [DocumentDrawer, , { closeDrawer, isDrawerOpen, openDrawer }] = useDocumentDrawer({\n id: currentDrawerID,\n collectionSlug: selectedCollection,\n })\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n\n const [data, setData] = useState<PaginatedDocs>(() =>\n initialDataFromProps\n ? {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string' || typeof doc === 'number') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n\n return [...acc, doc]\n }, [])\n : [],\n }\n : undefined,\n )\n\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (data?: PaginatedDocs) => {\n const newQuery: ListQuery = {\n limit: 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 // map columns from string[] to CollectionPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n data,\n enableRowSelections: false,\n orderableFieldName:\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`,\n parent,\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 field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n field.collection,\n field.name,\n field.orderable,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n ({ doc, operation }) => {\n if (operation === 'create') {\n closeDrawer()\n }\n\n const foundDocIndex = data?.docs?.findIndex((d) => d.id === doc.id)\n const withNewOrUpdatedData: PaginatedDocs = { docs: [] } as PaginatedDocs\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = doc\n withNewOrUpdatedData.docs = newDocs\n } else {\n withNewOrUpdatedData.docs = [doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedData)\n },\n [data?.docs, renderTable, closeDrawer],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n\n void renderTable({\n ...data,\n docs: newDocs,\n })\n\n setCurrentDrawerID(undefined)\n },\n [data, renderTable],\n )\n\n const onDrawerOpen = useCallback<OnDrawerOpen>((id) => {\n openDrawerWhenRelationChanges.current = true\n\n if (id) {\n setCurrentDrawerID(id)\n } else {\n setCurrentDrawerID(undefined)\n }\n }, [])\n\n useEffect(() => {\n if (openDrawerWhenRelationChanges.current) {\n openDrawerWhenRelationChanges.current = false\n openDrawer()\n }\n }, [openDrawer])\n\n useEffect(() => {\n if (!isDrawerOpen) {\n setCurrentDrawerID(undefined)\n }\n }, [isDrawerOpen])\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (isPolymorphic && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, isPolymorphic])\n\n useEffect(() => {\n if (isPolymorphic && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n const memoizedListQuery = React.useMemo(\n () => ({\n columns: transformColumnsToPreferences(columnState)?.map(({ accessor }) => accessor),\n limit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort ?? collectionConfig?.defaultSort,\n }),\n [columnState, field, collectionConfig],\n )\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n <AddNewButton\n allowCreate={allowCreate !== false}\n baseClass={baseClass}\n buttonStyle=\"none\"\n className={`${baseClass}__add-new${isPolymorphic ? '-polymorphic' : ' doc-drawer__toggler'}`}\n collections={config.collections}\n i18n={i18n}\n icon={isPolymorphic ? 'plus' : undefined}\n label={i18n.t('fields:addNew')}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\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 size=\"small\"\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: isPolymorphic\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n <AddNewButton\n allowCreate={canCreate}\n baseClass={baseClass}\n collections={config.collections}\n i18n={i18n}\n label={i18n.t('general:createNewLabel', {\n label: isPolymorphic\n ? i18n.t('general:document')\n : getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />\n </div>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`\n }\n query={memoizedListQuery}\n >\n <TableColumnsProvider\n collectionSlug={isPolymorphic ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink currentDrawerID={currentDrawerID} onDrawerOpen={onDrawerOpen} />\n }\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n {collectionConfig && (\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n )}\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer\n initialData={initialDrawerData}\n onDelete={onDrawerDelete}\n onSave={onDrawerSave}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}