@payloadcms/ui 3.10.0 → 3.11.1-canary.053fca8

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 (71) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +6 -6
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/index.d.ts +3 -1
  5. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/index.js +30 -19
  7. package/dist/elements/BulkUpload/index.js.map +1 -1
  8. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  9. package/dist/elements/DocumentDrawer/DrawerContent.js +6 -6
  10. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  11. package/dist/elements/EditMany/index.d.ts.map +1 -1
  12. package/dist/elements/EditMany/index.js +6 -6
  13. package/dist/elements/EditMany/index.js.map +1 -1
  14. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +1 -0
  15. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
  16. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +28 -10
  17. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  18. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  19. package/dist/elements/RelationshipTable/index.js +5 -0
  20. package/dist/elements/RelationshipTable/index.js.map +1 -1
  21. package/dist/elements/Status/index.d.ts.map +1 -1
  22. package/dist/elements/Status/index.js +40 -32
  23. package/dist/elements/Status/index.js.map +1 -1
  24. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  25. package/dist/elements/TableColumns/index.js +9 -9
  26. package/dist/elements/TableColumns/index.js.map +1 -1
  27. package/dist/exports/client/index.d.ts +1 -0
  28. package/dist/exports/client/index.d.ts.map +1 -1
  29. package/dist/exports/client/index.js +22 -22
  30. package/dist/exports/client/index.js.map +3 -3
  31. package/dist/exports/shared/index.d.ts +1 -1
  32. package/dist/exports/shared/index.d.ts.map +1 -1
  33. package/dist/exports/shared/index.js +2 -2
  34. package/dist/exports/shared/index.js.map +3 -3
  35. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  36. package/dist/fields/Array/ArrayRow.js +4 -1
  37. package/dist/fields/Array/ArrayRow.js.map +1 -1
  38. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  39. package/dist/fields/Blocks/BlockRow.js +4 -1
  40. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  41. package/dist/fields/Upload/Input.d.ts.map +1 -1
  42. package/dist/fields/Upload/Input.js +115 -109
  43. package/dist/fields/Upload/Input.js.map +1 -1
  44. package/dist/forms/Form/index.d.ts.map +1 -1
  45. package/dist/forms/Form/index.js +6 -6
  46. package/dist/forms/Form/index.js.map +1 -1
  47. package/dist/providers/Auth/index.js +3 -3
  48. package/dist/providers/Auth/index.js.map +1 -1
  49. package/dist/providers/DocumentEvents/index.d.ts +2 -6
  50. package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
  51. package/dist/providers/DocumentEvents/index.js.map +1 -1
  52. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  53. package/dist/providers/DocumentInfo/index.js.map +1 -1
  54. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  55. package/dist/providers/ListQuery/index.js +19 -10
  56. package/dist/providers/ListQuery/index.js.map +1 -1
  57. package/dist/utilities/abortAndIgnore.d.ts +2 -1
  58. package/dist/utilities/abortAndIgnore.d.ts.map +1 -1
  59. package/dist/utilities/abortAndIgnore.js +17 -3
  60. package/dist/utilities/abortAndIgnore.js.map +1 -1
  61. package/dist/utilities/parseSearchParams.d.ts +9 -1
  62. package/dist/utilities/parseSearchParams.d.ts.map +1 -1
  63. package/dist/utilities/parseSearchParams.js +10 -2
  64. package/dist/utilities/parseSearchParams.js.map +1 -1
  65. package/dist/views/Edit/index.d.ts.map +1 -1
  66. package/dist/views/Edit/index.js +13 -22
  67. package/dist/views/Edit/index.js.map +1 -1
  68. package/dist/views/List/index.d.ts.map +1 -1
  69. package/dist/views/List/index.js +15 -12
  70. package/dist/views/List/index.js.map +1 -1
  71. package/package.json +6 -6
@@ -9,8 +9,9 @@ import { DefaultCell } from '../../../Table/DefaultCell/index.js';
9
9
  import { useCellProps } from '../../../TableColumns/RenderDefaultCell/index.js';
10
10
  import './index.scss';
11
11
  export const DrawerLink = props => {
12
- const $ = _c(11);
12
+ const $ = _c(15);
13
13
  const {
14
+ onDrawerDelete: onDrawerDeleteFromProps,
14
15
  onDrawerSave: onDrawerSaveFromProps
15
16
  } = props;
16
17
  const cellProps = useCellProps();
@@ -48,8 +49,23 @@ export const DrawerLink = props => {
48
49
  }
49
50
  const onDrawerSave = t4;
50
51
  let t5;
51
- if ($[6] !== DocumentDrawer || $[7] !== DocumentDrawerToggler || $[8] !== cellProps || $[9] !== onDrawerSave) {
52
- t5 = _jsxs("div", {
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", {
53
69
  className: "drawer-link",
54
70
  children: [_jsx(DefaultCell, {
55
71
  ...cellProps,
@@ -59,17 +75,19 @@ export const DrawerLink = props => {
59
75
  }), _jsx(DocumentDrawerToggler, {
60
76
  children: _jsx(EditIcon, {})
61
77
  }), _jsx(DocumentDrawer, {
78
+ onDelete: onDrawerDelete,
62
79
  onSave: onDrawerSave
63
80
  })]
64
81
  });
65
- $[6] = DocumentDrawer;
66
- $[7] = DocumentDrawerToggler;
67
- $[8] = cellProps;
68
- $[9] = onDrawerSave;
69
- $[10] = t5;
82
+ $[9] = DocumentDrawer;
83
+ $[10] = DocumentDrawerToggler;
84
+ $[11] = cellProps;
85
+ $[12] = onDrawerDelete;
86
+ $[13] = onDrawerSave;
87
+ $[14] = t6;
70
88
  } else {
71
- t5 = $[10];
89
+ t6 = $[14];
72
90
  }
73
- return t5;
91
+ return t6;
74
92
  };
75
93
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","EditIcon","useDocumentDrawer","DefaultCell","useCellProps","DrawerLink","props","$","onDrawerSave","onDrawerSaveFromProps","cellProps","t0","rowData","id","t1","collectionConfig","slug","t2","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t3","closeDrawer","t4","args","t5","_jsxs","className","children","_jsx","link","onClick","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 { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { DefaultCell } from '../../../Table/DefaultCell/index.js'\nimport { useCellProps } from '../../../TableColumns/RenderDefaultCell/index.js'\nimport './index.scss'\n\nexport const DrawerLink: React.FC<{\n readonly onDrawerSave?: DocumentDrawerProps['onSave']\n}> = (props) => {\n const { onDrawerSave: onDrawerSaveFromProps } = props\n\n const cellProps = useCellProps()\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n id: cellProps?.rowData.id,\n collectionSlug: cellProps?.collectionConfig.slug,\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 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 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,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,OAAO,MAAMC,UAAA,GAERC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,YAAA,EAAAC;EAAA,IAAgDH,KAAA;EAEhD,MAAAI,SAAA,GAAkBN,YAAA;EAGZ,MAAAO,EAAA,GAAAD,SAAA,EAAAE,OAAA,CAAAC,EAAA;EACY,MAAAC,EAAA,GAAAJ,SAAA,EAAAK,gBAAA,CAAAC,IAAA;EAA4B,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAI,EAAA,IAAAJ,CAAA,QAAAO,EAAA;IAFqCG,EAAA;MAAAJ,EAAA,EAC7EF,EAAmB;MAAAO,cAAA,EACPJ;IAA4B;IAC9CP,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAHA,OAAAY,cAAA,EAAAC,qBAAA,EAAAC,EAAA,IAAiEnB,iBAAA,CAAkBe,EAGnF;EAH8C;IAAAK;EAAA,IAAAD,EAAe;EAAA,IAAAE,EAAA;EAAA,IAAAhB,CAAA,QAAAe,WAAA,IAAAf,CAAA,QAAAE,qBAAA;IAM3Dc,EAAA,GAAAC,IAAA;MACEF,WAAA;MAAA,IAEI,OAAOb,qBAAA,KAA0B;QAC9BA,qBAAA,CAAsBe,IAAA;MAAA;IAAA;IAE/BjB,CAAA,MAAAe,WAAA;IAAAf,CAAA,MAAAE,qBAAA;IAAAF,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAPF,MAAAC,YAAA,GAAqBe,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAAlB,CAAA,QAAAY,cAAA,IAAAZ,CAAA,QAAAa,qBAAA,IAAAb,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAC,YAAA;IAIpCiB,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAA1B,WAAA;QAAA,GAAiBO,SAAS;QAAAiB,SAAA,EAAY;QAAAG,IAAA;QAAAC,OAAA;MAAA,C,GACtCF,IAAA,CAACT,qBAAA;QAAAQ,QAAA,EACCC,IAAA,CAAA5B,QAAA,IAAC;MAAA,C,GAEH4B,IAAA,CAACV,cAAA;QAAAa,MAAA,EAAuBxB;MAAA,C;;;;;;;;;;SAL1BiB,E;CAQJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","EditIcon","useDocumentDrawer","DefaultCell","useCellProps","DrawerLink","props","$","onDrawerDelete","onDrawerDeleteFromProps","onDrawerSave","onDrawerSaveFromProps","cellProps","t0","rowData","id","t1","collectionConfig","slug","t2","collectionSlug","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 { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { DefaultCell } from '../../../Table/DefaultCell/index.js'\nimport { useCellProps } from '../../../TableColumns/RenderDefaultCell/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?.collectionConfig.slug,\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,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,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,GAAkBR,YAAA;EAGZ,MAAAS,EAAA,GAAAD,SAAA,EAAAE,OAAA,CAAAC,EAAA;EACY,MAAAC,EAAA,GAAAJ,SAAA,EAAAK,gBAAA,CAAAC,IAAA;EAA4B,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAS,EAAA;IAFqCG,EAAA;MAAAJ,EAAA,EAC7EF,EAAmB;MAAAO,cAAA,EACPJ;IAA4B;IAC9CT,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAHA,OAAAc,cAAA,EAAAC,qBAAA,EAAAC,EAAA,IAAiErB,iBAAA,CAAkBiB,EAGnF;EAH8C;IAAAK;EAAA,IAAAD,EAAe;EAAA,IAAAE,EAAA;EAAA,IAAAlB,CAAA,QAAAiB,WAAA,IAAAjB,CAAA,QAAAI,qBAAA;IAM3Dc,EAAA,GAAAC,IAAA;MACEF,WAAA;MAAA,IAEI,OAAOb,qBAAA,KAA0B;QAC9BA,qBAAA,CAAsBe,IAAA;MAAA;IAAA;IAE/BnB,CAAA,MAAAiB,WAAA;IAAAjB,CAAA,MAAAI,qBAAA;IAAAJ,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAPF,MAAAG,YAAA,GAAqBe,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAApB,CAAA,QAAAiB,WAAA,IAAAjB,CAAA,QAAAE,uBAAA;IAIpCkB,EAAA,GAAAC,MAAA;MACEJ,WAAA;MAAA,IAEI,OAAOf,uBAAA,KAA4B;QAChCA,uBAAA,CAAwBiB,MAAA;MAAA;IAAA;IAEjCnB,CAAA,MAAAiB,WAAA;IAAAjB,CAAA,MAAAE,uBAAA;IAAAF,CAAA,MAAAoB,EAAA;EAAA;IAAAA,EAAA,GAAApB,CAAA;EAAA;EAPF,MAAAC,cAAA,GAAuBmB,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAAtB,CAAA,QAAAc,cAAA,IAAAd,CAAA,SAAAe,qBAAA,IAAAf,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAC,cAAA,IAAAD,CAAA,SAAAG,YAAA;IAItCmB,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAA9B,WAAA;QAAA,GAAiBS,SAAS;QAAAmB,SAAA,EAAY;QAAAG,IAAA;QAAAC,OAAA;MAAA,C,GACtCF,IAAA,CAACX,qBAAA;QAAAU,QAAA,EACCC,IAAA,CAAAhC,QAAA,IAAC;MAAA,C,GAEHgC,IAAA,CAACZ,cAAA;QAAAe,QAAA,EAAyB5B,cAAA;QAAA6B,MAAA,EAAwB3B;MAAA,C;;;;;;;;;;;SALpDmB,E;CAQJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,aAAa,EACb,KAAK,EACN,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAMrB,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,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,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAkPvE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,aAAa,EACb,KAAK,EACN,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAMrB,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,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,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CA4PvE,CAAA"}
@@ -134,6 +134,10 @@ export const RelationshipTable = props => {
134
134
  closeDrawer();
135
135
  void onDrawerSave(args_0);
136
136
  }, [closeDrawer, onDrawerSave]);
137
+ const onDrawerDelete = useCallback(args_1 => {
138
+ const newDocs_0 = data.docs.filter(doc_1 => doc_1.id !== args_1.id);
139
+ void renderTable(newDocs_0);
140
+ }, [data.docs, renderTable]);
137
141
  const preferenceKey = `${relationTo}-list`;
138
142
  const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create;
139
143
  return /*#__PURE__*/_jsxs("div", {
@@ -185,6 +189,7 @@ export const RelationshipTable = props => {
185
189
  columnState: columnState,
186
190
  docs: data.docs,
187
191
  LinkedCellOverride: /*#__PURE__*/_jsx(DrawerLink, {
192
+ onDrawerDelete: onDrawerDelete,
188
193
  onDrawerSave: onDrawerSave
189
194
  }),
190
195
  preferenceKey: preferenceKey,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","Fragment","useCallback","useState","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","Table","setTable","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","undefined","newData","state","newColumnState","NewTable","columns","enableRowSelections","renderRowTypes","tableAppearance","DocumentDrawer","DocumentDrawerToggler","closeDrawer","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","preferenceKey","canCreate","collections","create","_jsxs","className","_jsx","icon","direction","onClick","pillStyle","length","label","labels","plural","singular","modifySearchParams","onQueryChange","LinkedCellOverride","sortColumnProps","appearance","height","slug","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n JoinFieldClient,\n ListQuery,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport './index.scss'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly relationTo: string\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug: relationTo }) as ClientCollectionConfig,\n )\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field.defaultLimit || collectionConfig.admin.pagination.defaultLimit),\n sort: field.defaultSort || collectionConfig.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ColumnPreferences\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: defaultColumns,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n collectionConfig.admin.pagination.defaultLimit,\n collectionConfig.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n ],\n )\n\n useIgnoredEffect(\n () => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n },\n [query, disableTable],\n [Table, renderTable],\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n collectionSlug={relationTo}\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n modifySearchParams={false}\n onQueryChange={setQuery}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={<DrawerLink onDrawerSave={onDrawerSave} />}\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","Fragment","useCallback","useState","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","Table","setTable","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","undefined","newData","state","newColumnState","NewTable","columns","enableRowSelections","renderRowTypes","tableAppearance","DocumentDrawer","DocumentDrawerToggler","closeDrawer","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","onDrawerDelete","filter","preferenceKey","canCreate","collections","create","_jsxs","className","_jsx","icon","direction","onClick","pillStyle","length","label","labels","plural","singular","modifySearchParams","onQueryChange","LinkedCellOverride","sortColumnProps","appearance","height","slug","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n JoinFieldClient,\n ListQuery,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport './index.scss'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly relationTo: string\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug: relationTo }) as ClientCollectionConfig,\n )\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field.defaultLimit || collectionConfig.admin.pagination.defaultLimit),\n sort: field.defaultSort || collectionConfig.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ColumnPreferences\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: defaultColumns,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n collectionConfig.admin.pagination.defaultLimit,\n collectionConfig.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n ],\n )\n\n useIgnoredEffect(\n () => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n },\n [query, disableTable],\n [Table, renderTable],\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n void renderTable(newDocs)\n },\n [data.docs, renderTable],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n collectionSlug={relationTo}\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n modifySearchParams={false}\n onQueryChange={setQuery}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAUpD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAuN1B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAYpD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EA6N1B,CAAA"}
@@ -8,14 +8,16 @@ import { toast } from 'sonner';
8
8
  import { useForm } from '../../forms/Form/context.js';
9
9
  import { useConfig } from '../../providers/Config/index.js';
10
10
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
11
+ import { useEditDepth } from '../../providers/EditDepth/index.js';
11
12
  import { useLocale } from '../../providers/Locale/index.js';
12
13
  import { useTranslation } from '../../providers/Translation/index.js';
13
14
  import { requests } from '../../utilities/api.js';
14
15
  import { Button } from '../Button/index.js';
16
+ import { drawerZBase } from '../Drawer/index.js';
15
17
  import './index.scss';
16
18
  const baseClass = 'status';
17
19
  export const Status = () => {
18
- const $ = _c(40);
20
+ const $ = _c(42);
19
21
  const {
20
22
  id,
21
23
  collectionSlug,
@@ -49,6 +51,7 @@ export const Status = () => {
49
51
  i18n,
50
52
  t
51
53
  } = useTranslation();
54
+ const editDepth = useEditDepth();
52
55
  const unPublishModalSlug = `confirm-un-publish-${id}`;
53
56
  const revertModalSlug = `confirm-revert-${id}`;
54
57
  let statusToRender;
@@ -145,9 +148,9 @@ export const Status = () => {
145
148
  if (statusToRender) {
146
149
  const t3 = `${t("version:status")}: ${t(`version:${statusToRender}`)}`;
147
150
  let t4;
148
- if ($[14] !== canUpdate || $[15] !== performAction || $[16] !== processing || $[17] !== revertModalSlug || $[18] !== statusToRender || $[19] !== t || $[20] !== t3 || $[21] !== toggleModal || $[22] !== unPublishModalSlug) {
151
+ if ($[14] !== canUpdate || $[15] !== editDepth || $[16] !== performAction || $[17] !== processing || $[18] !== revertModalSlug || $[19] !== statusToRender || $[20] !== t || $[21] !== t3 || $[22] !== toggleModal || $[23] !== unPublishModalSlug) {
149
152
  let t5;
150
- if ($[24] !== canUpdate || $[25] !== performAction || $[26] !== processing || $[27] !== statusToRender || $[28] !== t || $[29] !== toggleModal || $[30] !== unPublishModalSlug) {
153
+ if ($[25] !== canUpdate || $[26] !== editDepth || $[27] !== performAction || $[28] !== processing || $[29] !== statusToRender || $[30] !== t || $[31] !== toggleModal || $[32] !== unPublishModalSlug) {
151
154
  t5 = canUpdate && statusToRender === "published" && _jsxs(React.Fragment, {
152
155
  children: ["\xA0\u2014\xA0", _jsx(Button, {
153
156
  buttonStyle: "none",
@@ -157,6 +160,9 @@ export const Status = () => {
157
160
  }), _jsx(Modal, {
158
161
  className: `${baseClass}__modal`,
159
162
  slug: unPublishModalSlug,
163
+ style: {
164
+ zIndex: drawerZBase + editDepth
165
+ },
160
166
  children: _jsxs("div", {
161
167
  className: `${baseClass}__wrapper`,
162
168
  children: [_jsxs("div", {
@@ -183,19 +189,20 @@ export const Status = () => {
183
189
  })
184
190
  })]
185
191
  });
186
- $[24] = canUpdate;
187
- $[25] = performAction;
188
- $[26] = processing;
189
- $[27] = statusToRender;
190
- $[28] = t;
191
- $[29] = toggleModal;
192
- $[30] = unPublishModalSlug;
193
- $[31] = t5;
192
+ $[25] = canUpdate;
193
+ $[26] = editDepth;
194
+ $[27] = performAction;
195
+ $[28] = processing;
196
+ $[29] = statusToRender;
197
+ $[30] = t;
198
+ $[31] = toggleModal;
199
+ $[32] = unPublishModalSlug;
200
+ $[33] = t5;
194
201
  } else {
195
- t5 = $[31];
202
+ t5 = $[33];
196
203
  }
197
204
  let t6;
198
- if ($[32] !== canUpdate || $[33] !== performAction || $[34] !== processing || $[35] !== revertModalSlug || $[36] !== statusToRender || $[37] !== t || $[38] !== toggleModal) {
205
+ if ($[34] !== canUpdate || $[35] !== performAction || $[36] !== processing || $[37] !== revertModalSlug || $[38] !== statusToRender || $[39] !== t || $[40] !== toggleModal) {
199
206
  t6 = canUpdate && statusToRender === "changed" && _jsxs(React.Fragment, {
200
207
  children: ["\xA0\u2014\xA0", _jsx(Button, {
201
208
  buttonStyle: "none",
@@ -233,16 +240,16 @@ export const Status = () => {
233
240
  })
234
241
  })]
235
242
  });
236
- $[32] = canUpdate;
237
- $[33] = performAction;
238
- $[34] = processing;
239
- $[35] = revertModalSlug;
240
- $[36] = statusToRender;
241
- $[37] = t;
242
- $[38] = toggleModal;
243
- $[39] = t6;
243
+ $[34] = canUpdate;
244
+ $[35] = performAction;
245
+ $[36] = processing;
246
+ $[37] = revertModalSlug;
247
+ $[38] = statusToRender;
248
+ $[39] = t;
249
+ $[40] = toggleModal;
250
+ $[41] = t6;
244
251
  } else {
245
- t6 = $[39];
252
+ t6 = $[41];
246
253
  }
247
254
  t4 = _jsx("div", {
248
255
  className: baseClass,
@@ -259,17 +266,18 @@ export const Status = () => {
259
266
  })
260
267
  });
261
268
  $[14] = canUpdate;
262
- $[15] = performAction;
263
- $[16] = processing;
264
- $[17] = revertModalSlug;
265
- $[18] = statusToRender;
266
- $[19] = t;
267
- $[20] = t3;
268
- $[21] = toggleModal;
269
- $[22] = unPublishModalSlug;
270
- $[23] = t4;
269
+ $[15] = editDepth;
270
+ $[16] = performAction;
271
+ $[17] = processing;
272
+ $[18] = revertModalSlug;
273
+ $[19] = statusToRender;
274
+ $[20] = t;
275
+ $[21] = t3;
276
+ $[22] = toggleModal;
277
+ $[23] = unPublishModalSlug;
278
+ $[24] = t4;
271
279
  } else {
272
- t4 = $[23];
280
+ t4 = $[24];
273
281
  }
274
282
  return t4;
275
283
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","useCallback","useState","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","Button","baseClass","Status","$","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","unpublishedVersionCount","toggleModal","config","t0","routes","t1","serverURL","api","processing","setProcessing","reset","resetForm","code","locale","i18n","t","unPublishModalSlug","revertModalSlug","statusToRender","t2","language","action","url","method","body","publishedDoc","get","headers","then","_temp","res_0","JSON","stringify","res","status","data","json","result","doc","success","message","error","performAction","canUpdate","update","t3","t4","t5","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","slug","undefined","size","type","t6","title"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const [processing, setProcessing] = useState(false)\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published'\n\n if (unpublishedVersionCount > 0 && hasPublishedDoc) {\n statusToRender = 'changed'\n } else if (!hasPublishedDoc) {\n statusToRender = 'draft'\n } else if (hasPublishedDoc && unpublishedVersionCount <= 0) {\n statusToRender = 'published'\n }\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n setProcessing(true)\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n\n incrementVersionCount()\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n\n setProcessing(false)\n if (action === 'revert') {\n toggleModal(revertModalSlug)\n }\n\n if (action === 'unpublish') {\n toggleModal(unPublishModalSlug)\n }\n },\n [\n api,\n collectionSlug,\n incrementVersionCount,\n globalSlug,\n i18n.language,\n id,\n locale,\n resetForm,\n revertModalSlug,\n serverURL,\n t,\n toggleModal,\n unPublishModalSlug,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${statusToRender}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <Modal className={`${baseClass}__modal`} slug={unPublishModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublish')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(unPublishModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n onClick={processing ? undefined : () => performAction('unpublish')}\n size=\"large\"\n >\n {t(processing ? 'version:unpublishing' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n {canUpdate && statusToRender === 'changed' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <Modal className={`${baseClass}__modal`} slug={revertModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmRevertToSaved')}</h1>\n <p>{t('version:aboutToRevertToPublished')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(revertModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"action-revert-to-published-confirm\"\n onClick={processing ? undefined : () => performAction('revert')}\n size=\"large\"\n >\n {t(processing ? 'version:reverting' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","useCallback","useState","toast","useForm","useConfig","useDocumentInfo","useEditDepth","useLocale","useTranslation","requests","Button","drawerZBase","baseClass","Status","$","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","unpublishedVersionCount","toggleModal","config","t0","routes","t1","serverURL","api","processing","setProcessing","reset","resetForm","code","locale","i18n","t","editDepth","unPublishModalSlug","revertModalSlug","statusToRender","t2","language","action","url","method","body","publishedDoc","get","headers","then","_temp","res_0","JSON","stringify","res","status","data","json","result","doc","success","message","error","performAction","canUpdate","update","t3","t4","t5","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","slug","style","zIndex","undefined","size","type","t6","title"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { drawerZBase } from '../Drawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const [processing, setProcessing] = useState(false)\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published'\n\n if (unpublishedVersionCount > 0 && hasPublishedDoc) {\n statusToRender = 'changed'\n } else if (!hasPublishedDoc) {\n statusToRender = 'draft'\n } else if (hasPublishedDoc && unpublishedVersionCount <= 0) {\n statusToRender = 'published'\n }\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n setProcessing(true)\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n\n incrementVersionCount()\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n\n setProcessing(false)\n if (action === 'revert') {\n toggleModal(revertModalSlug)\n }\n\n if (action === 'unpublish') {\n toggleModal(unPublishModalSlug)\n }\n },\n [\n api,\n collectionSlug,\n incrementVersionCount,\n globalSlug,\n i18n.language,\n id,\n locale,\n resetForm,\n revertModalSlug,\n serverURL,\n t,\n toggleModal,\n unPublishModalSlug,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${statusToRender}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <Modal\n className={`${baseClass}__modal`}\n slug={unPublishModalSlug}\n style={{ zIndex: drawerZBase + editDepth }}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublish')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(unPublishModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n onClick={processing ? undefined : () => performAction('unpublish')}\n size=\"large\"\n >\n {t(processing ? 'version:unpublishing' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n {canUpdate && statusToRender === 'changed' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <Modal className={`${baseClass}__modal`} slug={revertModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmRevertToSaved')}</h1>\n <p>{t('version:aboutToRevertToPublished')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(revertModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"action-revert-to-published-confirm\"\n onClick={processing ? undefined : () => performAction('revert')}\n size=\"large\"\n >\n {t(processing ? 'version:reverting' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,KAAK,EAAEC,QAAQ,QAAQ;AAChC,OAAOC,KAAA,IAASC,WAAW,EAAEC,QAAQ,QAAQ;AAC7C,SAASC,KAAK,QAAQ;AAEtB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,MAAM,QAAQ;AACvB,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,MAAA,GAAmBA,CAAA;EAAA,MAAAC,CAAA,GAAAlB,EAAA;EAC9B;IAAAmB,EAAA;IAAAC,cAAA;IAAAC,cAAA;IAAAC,UAAA;IAAAC,eAAA;IAAAC,qBAAA;IAAAC;EAAA,IAQIhB,eAAA;EACJ;IAAAiB;EAAA,IAAwBxB,QAAA;EACxB;IAAAyB,MAAA,EAAAC;EAAA,IAKIpB,SAAA;EAJM;IAAAqB,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAH,EAGP;EAFS;IAAAI;EAAA,IAAAF,EAAO;EAInB,OAAAG,UAAA,EAAAC,aAAA,IAAoC7B,QAAA,MAAS;EAC7C;IAAA8B,KAAA,EAAAC;EAAA,IAA6B7B,OAAA;EAC7B;IAAA8B,IAAA,EAAAC;EAAA,IAAyB3B,SAAA;EACzB;IAAA4B,IAAA;IAAAC;EAAA,IAAoB5B,cAAA;EAEpB,MAAA6B,SAAA,GAAkB/B,YAAA;EAElB,MAAAgC,kBAAA,GAA2B,sBAAsBvB,EAAA,EAAI;EACrD,MAAAwB,eAAA,GAAwB,kBAAkBxB,EAAA,EAAI;EAE1CyB,GAAA,CAAAA,cAAA;EAAA,IAEAnB,uBAAA,IAA0B,IAAKF,eAAA;IACjCqB,cAAA,CAAAA,CAAA,CAAiBA,SAAA;EAAjB;IAAA,KACUrB,eAAA;MACVqB,cAAA,CAAAA,CAAA,CAAiBA,OAAA;IAAjB;MAAA,IACSrB,eAAA,IAAmBE,uBAAA,KAA2B;QACvDmB,cAAA,CAAAA,CAAA,CAAiBA,WAAA;MAAjB;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA3B,CAAA,QAAAc,GAAA,IAAAd,CAAA,QAAAE,cAAA,IAAAF,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAqB,IAAA,CAAAO,QAAA,IAAA5B,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAAM,qBAAA,IAAAN,CAAA,QAAAoB,MAAA,IAAApB,CAAA,QAAAkB,SAAA,IAAAlB,CAAA,QAAAyB,eAAA,IAAAzB,CAAA,QAAAa,SAAA,IAAAb,CAAA,SAAAsB,CAAA,IAAAtB,CAAA,SAAAQ,WAAA,IAAAR,CAAA,SAAAwB,kBAAA;IAIAG,EAAA,SAAAE,MAAA;MACMC,GAAA,CAAAA,GAAA;MACAC,GAAA,CAAAA,MAAA;MACAC,GAAA,CAAAA,IAAA;MAEJhB,aAAA,KAAc;MAAA,IAEVa,MAAA,KAAW;QACbG,IAAA,CAAAA,CAAA,CAAAA;UAAAA,QAAA,CACWA;QAAAA,CAAA;MADX;MAAA,IAKE9B,cAAA;QACF4B,GAAA,CAAAA,CAAA,CAAMA,GAAGjB,SAAA,GAAYC,GAAA,IAAOZ,cAAA,IAAkBD,EAAA,WAAamB,MAAA,+BAAqC;QAChGW,MAAA,CAAAA,CAAA,CAASA,OAAA;MAAT;MAAA,IAEE3B,UAAA;QACF0B,GAAA,CAAAA,CAAA,CAAMA,GAAGjB,SAAA,GAAYC,GAAA,YAAeV,UAAA,WAAqBgB,MAAA,+BAAqC;QAC9FW,MAAA,CAAAA,CAAA,CAASA,MAAA;MAAT;MAAA,IAGEF,MAAA,KAAW;QACb,MAAAI,YAAA,SAA2BtC,QAAA,CAAAuC,GAAA,CACpBJ,GAAA;UAAAK,OAAA;YAAA,mBAEkBd,IAAA,CAAAO,QAAA;YAAA,gBACH;UAAA;QAAA,CAEpB,EAAAQ,IAAA,CAAAC,KACuB;QAEzBL,IAAA,CAAAA,CAAA,CAAOC,YAAA;MAAP;MAGF,MAAAK,KAAA,SAAkB3C,QAAA,CAASoC,MAAA,EAAQD,GAAA;QAAAE,IAAA,EAC3BO,IAAA,CAAAC,SAAA,CAAeR,IAAA;QAAAG,OAAA;UAAA,mBAEAd,IAAA,CAAAO,QAAA;UAAA,gBACH;QAAA;MAAA,CAEpB;MAAA,IAEIa,KAAA,CAAAC,MAAA,QAAe;QACbC,GAAA,CAAAA,IAAA;QACJ,MAAAC,IAAA,SAAmBH,KAAA,CAAAG,IAAA,CAAQ;QAAA,IAEvBxC,UAAA;UACFuC,IAAA,CAAAA,CAAA,CAAOC,IAAA,CAAAC,MAAA;QAAP;UAAA,IACS3C,cAAA;YACTyC,IAAA,CAAAA,CAAA,CAAOC,IAAA,CAAAE,GAAA;UAAP;QAAA;QAIF5B,SAAA,CAAUyB,IAAA;QACVvD,KAAA,CAAA2D,OAAA,CAAcH,IAAA,CAAAI,OAAY;QAE1B1C,qBAAA;MAAA;QAEAlB,KAAA,CAAA6D,KAAA,CAAY3B,CAAA,CAAE;MAAA;MAGhBN,aAAA,MAAc;MAAA,IACVa,MAAA,KAAW;QACbrB,WAAA,CAAYiB,eAAA;MAAA;MAAA,IAGVI,MAAA,KAAW;QACbrB,WAAA,CAAYgB,kBAAA;MAAA;IAAA;IAEhBxB,CAAA,MAAAc,GAAA;IAAAd,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAI,UAAA;IAAAJ,CAAA,MAAAqB,IAAA,CAAAO,QAAA;IAAA5B,CAAA,MAAAC,EAAA;IAAAD,CAAA,MAAAM,qBAAA;IAAAN,CAAA,MAAAoB,MAAA;IAAApB,CAAA,MAAAkB,SAAA;IAAAlB,CAAA,MAAAyB,eAAA;IAAAzB,CAAA,MAAAa,SAAA;IAAAb,CAAA,OAAAsB,CAAA;IAAAtB,CAAA,OAAAQ,WAAA;IAAAR,CAAA,OAAAwB,kBAAA;IAAAxB,CAAA,OAAA2B,EAAA;EAAA;IAAAA,EAAA,GAAA3B,CAAA;EAAA;EAvEF,MAAAkD,aAAA,GAAsBvB,EAsFnB;EAGH,MAAAwB,SAAA,GAAkBhD,cAAA,EAAAiD,MAAA;EAAgB,IAE9B1B,cAAA;IAIS,MAAA2B,EAAA,MAAG/B,CAAA,CAAE,sBAAsBA,CAAA,CAAE,WAAWI,cAAA,EAAgB,GAAG;IAAA,IAAA4B,EAAA;IAAA,IAAAtD,CAAA,SAAAmD,SAAA,IAAAnD,CAAA,SAAAuB,SAAA,IAAAvB,CAAA,SAAAkD,aAAA,IAAAlD,CAAA,SAAAe,UAAA,IAAAf,CAAA,SAAAyB,eAAA,IAAAzB,CAAA,SAAA0B,cAAA,IAAA1B,CAAA,SAAAsB,CAAA,IAAAtB,CAAA,SAAAqD,EAAA,IAAArD,CAAA,SAAAQ,WAAA,IAAAR,CAAA,SAAAwB,kBAAA;MAAA,IAAA+B,EAAA;MAAA,IAAAvD,CAAA,SAAAmD,SAAA,IAAAnD,CAAA,SAAAuB,SAAA,IAAAvB,CAAA,SAAAkD,aAAA,IAAAlD,CAAA,SAAAe,UAAA,IAAAf,CAAA,SAAA0B,cAAA,IAAA1B,CAAA,SAAAsB,CAAA,IAAAtB,CAAA,SAAAQ,WAAA,IAAAR,CAAA,SAAAwB,kBAAA;QAK/D+B,EAAA,GAAAJ,SAAA,IAAazB,cAAA,KAAmB,eAC/B8B,KAAA,CAAAvE,KAAA,CAAAwE,QAAA;UAAAC,QAAA,GAAgB,kBAEdC,IAAA,CAAA/D,MAAA;YAAAgE,WAAA,EACc;YAAAC,SAAA,EACD,GAAA/D,SAAA,UAAsB;YAAAgE,OAAA,EAAAA,CAAA,KAClBtD,WAAA,CAAYgB,kBAAA;YAAAkC,QAAA,EAE1BpC,CAAA,CAAE;UAAA,C,GAELqC,IAAA,CAAA5E,KAAA;YAAA8E,SAAA,EACa,GAAA/D,SAAA,SAAqB;YAAAiE,IAAA,EAC1BvC,kBAAA;YAAAwC,KAAA;cAAAC,MAAA,EACWpE,WAAA,GAAc0B;YAAA;YAAAmC,QAAA,EAE/BF,KAAA,CAAC;cAAAK,SAAA,EAAe,GAAA/D,SAAA,WAAuB;cAAA4D,QAAA,GACrCF,KAAA,CAAC;gBAAAK,SAAA,EAAe,GAAA/D,SAAA,WAAuB;gBAAA4D,QAAA,GACrCC,IAAA,CAAC;kBAAAD,QAAA,EAAIpC,CAAA,CAAE;gBAAA,C,GACPqC,IAAA,CAAC;kBAAAD,QAAA,EAAGpC,CAAA,CAAE;gBAAA,C;kBAERkC,KAAA,CAAC;gBAAAK,SAAA,EAAe,GAAA/D,SAAA,YAAwB;gBAAA4D,QAAA,GACtCC,IAAA,CAAA/D,MAAA;kBAAAgE,WAAA,EACc;kBAAAE,OAAA,EACH/C,UAAA,GAAAmD,SAAA,SAA+B1D,WAAA,CAAYgB,kBAAA;kBAAA2C,IAAA,EAC/C;kBAAAC,IAAA,EACA;kBAAAV,QAAA,EAEJpC,CAAA,CAAE;gBAAA,C,GAELqC,IAAA,CAAA/D,MAAA;kBAAAkE,OAAA,EACW/C,UAAA,GAAAmD,SAAA,SAA+BhB,aAAA,CAAc;kBAAAiB,IAAA,EACjD;kBAAAT,QAAA,EAEJpC,CAAA,CAAEP,UAAA,GAAa,yBAAyB;gBAAA,C;;;;;;;;;;;;;;;;;;;QAOpDsD,EAAA,GAAAlB,SAAA,IAAazB,cAAA,KAAmB,aAC/B8B,KAAA,CAAAvE,KAAA,CAAAwE,QAAA;UAAAC,QAAA,GAAgB,kBAEdC,IAAA,CAAA/D,MAAA;YAAAgE,WAAA,EACc;YAAAC,SAAA,EACD,GAAA/D,SAAA,UAAsB;YAAAG,EAAA,EAC9B;YAAA6D,OAAA,EAAAA,CAAA,KACYtD,WAAA,CAAYiB,eAAA;YAAAiC,QAAA,EAE1BpC,CAAA,CAAE;UAAA,C,GAELqC,IAAA,CAAA5E,KAAA;YAAA8E,SAAA,EAAkB,GAAA/D,SAAA,SAAqB;YAAAiE,IAAA,EAAQtC,eAAA;YAAAiC,QAAA,EAC7CF,KAAA,CAAC;cAAAK,SAAA,EAAe,GAAA/D,SAAA,WAAuB;cAAA4D,QAAA,GACrCF,KAAA,CAAC;gBAAAK,SAAA,EAAe,GAAA/D,SAAA,WAAuB;gBAAA4D,QAAA,GACrCC,IAAA,CAAC;kBAAAD,QAAA,EAAIpC,CAAA,CAAE;gBAAA,C,GACPqC,IAAA,CAAC;kBAAAD,QAAA,EAAGpC,CAAA,CAAE;gBAAA,C;kBAERkC,KAAA,CAAC;gBAAAK,SAAA,EAAe,GAAA/D,SAAA,YAAwB;gBAAA4D,QAAA,GACtCC,IAAA,CAAA/D,MAAA;kBAAAgE,WAAA,EACc;kBAAAE,OAAA,EACH/C,UAAA,GAAAmD,SAAA,SAA+B1D,WAAA,CAAYiB,eAAA;kBAAA0C,IAAA,EAC/C;kBAAAC,IAAA,EACA;kBAAAV,QAAA,EAEJpC,CAAA,CAAE;gBAAA,C,GAELqC,IAAA,CAAA/D,MAAA;kBAAAK,EAAA,EACK;kBAAA6D,OAAA,EACM/C,UAAA,GAAAmD,SAAA,SAA+BhB,aAAA,CAAc;kBAAAiB,IAAA,EACjD;kBAAAT,QAAA,EAEJpC,CAAA,CAAEP,UAAA,GAAa,sBAAsB;gBAAA,C;;;;;;;;;;;;;;;;MA9EtDuC,EAAA,GAAAK,IAAA,CAAC;QAAAE,SAAA,EAAA/D,SAAA;QAAAwE,KAAA,EAEQjB,EAA2D;QAAAK,QAAA,EAElEF,KAAA,CAAC;UAAAK,SAAA,EAAe,GAAA/D,SAAA,cAA0B;UAAA4D,QAAA,GACxCF,KAAA,CAAC;YAAAK,SAAA,EAAgB,GAAA/D,SAAA,SAAqB;YAAA4D,QAAA,GAAGpC,CAAA,CAAE,mBAAkB;UAAA,C,GAC7DqC,IAAA,CAAC;YAAAE,SAAA,EAAgB,GAAA/D,SAAA,SAAqB;YAAA4D,QAAA,EAAGpC,CAAA,CAAE,WAAWI,cAAA,EAAgB;UAAA,C,GACrE6B,E,EAwCAc,E;;;;;;;;;;;;;;;;;WA/CLf,E;;;CA2FN;AA7NgC,SAAAjB,MAAAI,GAAA;EAAA,OAoEPA,GAAA,CAAAG,IAAA,CAAQ;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAEhF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAO/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3E,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChD;AAED,eAAO,MAAM,kBAAkB,8BAAoD,CAAA;AAEnF,eAAO,MAAM,eAAe,QAAO,aAA+C,CAAA;AAElF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,iBAAiB,CAAA;CAC3B,CAAA;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAA;IACpB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACnD,CAAA;AAUD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwPhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAEhF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAO/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3E,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChD;AAED,eAAO,MAAM,kBAAkB,8BAAoD,CAAA;AAEnF,eAAO,MAAM,eAAe,QAAO,aAA+C,CAAA;AAElF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,iBAAiB,CAAA;CAC3B,CAAA;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAA;IACpB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACnD,CAAA;AAUD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyPhD,CAAA"}
@@ -5,7 +5,7 @@ import React, { createContext, useCallback, useContext, useEffect } from 'react'
5
5
  import { useConfig } from '../../providers/Config/index.js';
6
6
  import { usePreferences } from '../../providers/Preferences/index.js';
7
7
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
8
- import { abortAndIgnore } from '../../utilities/abortAndIgnore.js';
8
+ import { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js';
9
9
  export const TableColumnContext = /*#__PURE__*/createContext({});
10
10
  export const useTableColumns = () => {
11
11
  return useContext(TableColumnContext);
@@ -54,9 +54,10 @@ export const TableColumnsProvider = ({
54
54
  getPreference
55
55
  } = usePreferences();
56
56
  const [tableColumns, setTableColumns] = React.useState(columnState);
57
- const tableStateControllerRef = React.useRef(null);
57
+ const abortTableStateRef = React.useRef(null);
58
+ const abortToggleColumnRef = React.useRef(null);
58
59
  const moveColumn = useCallback(async args => {
59
- abortAndIgnore(tableStateControllerRef.current);
60
+ const controller = handleAbortRef(abortTableStateRef);
60
61
  const {
61
62
  fromIndex,
62
63
  toIndex
@@ -65,8 +66,6 @@ export const TableColumnsProvider = ({
65
66
  const [columnToMove] = withMovedColumn.splice(fromIndex, 1);
66
67
  withMovedColumn.splice(toIndex, 0, columnToMove);
67
68
  setTableColumns(withMovedColumn);
68
- const controller = new AbortController();
69
- tableStateControllerRef.current = controller;
70
69
  const result = await getTableState({
71
70
  collectionSlug,
72
71
  columns: sanitizeColumns(withMovedColumn),
@@ -80,9 +79,10 @@ export const TableColumnsProvider = ({
80
79
  setTableColumns(result.state);
81
80
  setTable(result.Table);
82
81
  }
82
+ abortTableStateRef.current = null;
83
83
  }, [tableColumns, collectionSlug, docs, getTableState, setTable, enableRowSelections, renderRowTypes, tableAppearance]);
84
84
  const toggleColumn = useCallback(async column => {
85
- abortAndIgnore(tableStateControllerRef.current);
85
+ const controller_0 = handleAbortRef(abortToggleColumnRef);
86
86
  const {
87
87
  newColumnState,
88
88
  toggledColumns
@@ -110,8 +110,6 @@ export const TableColumnsProvider = ({
110
110
  toggledColumns: []
111
111
  });
112
112
  setTableColumns(newColumnState);
113
- const controller_0 = new AbortController();
114
- tableStateControllerRef.current = controller_0;
115
113
  const result_0 = await getTableState({
116
114
  collectionSlug,
117
115
  columns: toggledColumns,
@@ -125,6 +123,7 @@ export const TableColumnsProvider = ({
125
123
  setTableColumns(result_0.state);
126
124
  setTable(result_0.Table);
127
125
  }
126
+ abortToggleColumnRef.current = null;
128
127
  }, [tableColumns, getTableState, setTable, collectionSlug, docs, enableRowSelections, renderRowTypes, tableAppearance]);
129
128
  const setActiveColumns = React.useCallback(async activeColumnAccessors => {
130
129
  const activeColumns = tableColumns.map(col_0 => {
@@ -186,8 +185,9 @@ export const TableColumnsProvider = ({
186
185
  setTableColumns(columnState);
187
186
  }, [columnState]);
188
187
  useEffect(() => {
188
+ const abortTableState = abortTableStateRef.current;
189
189
  return () => {
190
- abortAndIgnore(tableStateControllerRef.current);
190
+ abortAndIgnore(abortTableState);
191
191
  };
192
192
  }, []);
193
193
  return /*#__PURE__*/_jsx(TableColumnContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","createContext","useCallback","useContext","useEffect","useConfig","usePreferences","useServerFunctions","abortAndIgnore","TableColumnContext","useTableColumns","sanitizeColumns","columns","map","accessor","active","TableColumnsProvider","children","collectionSlug","columnState","docs","enableRowSelections","LinkedCellOverride","listPreferences","preferenceKey","renderRowTypes","setTable","sortColumnProps","tableAppearance","getEntityConfig","getTableState","admin","defaultColumns","useAsTitle","fields","prevCollection","useRef","getPreference","tableColumns","setTableColumns","useState","tableStateControllerRef","moveColumn","args","current","fromIndex","toIndex","withMovedColumn","columnToMove","splice","controller","AbortController","result","signal","state","Table","toggleColumn","column","newColumnState","toggledColumns","reduce","acc","col","push","setActiveColumns","activeColumnAccessors","activeColumns","includes","sort","first","second","indexOfFirst","indexOf","indexOfSecond","resetColumnsState","sync","collectionHasChanged","currentPreferences","_jsx","Provider","value"],"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useEffect } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListQuery/index.js'\nimport type { SortColumnProps } from '../SortColumn/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\n\nexport interface ITableColumns {\n columns: Column[]\n LinkedCellOverride?: React.ReactNode\n moveColumn: (args: { fromIndex: number; toIndex: number }) => Promise<void>\n resetColumnsState: () => Promise<void>\n setActiveColumns: (columns: string[]) => Promise<void>\n toggleColumn: (column: string) => Promise<void>\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n readonly children: React.ReactNode\n readonly collectionSlug: string\n readonly columnState: Column[]\n readonly docs: any[]\n readonly enableRowSelections?: boolean\n readonly LinkedCellOverride?: React.ReactNode\n readonly listPreferences?: ListPreferences\n readonly preferenceKey: string\n readonly renderRowTypes?: boolean\n readonly setTable: (Table: React.ReactNode) => void\n readonly sortColumnProps?: Partial<SortColumnProps>\n readonly tableAppearance?: 'condensed' | 'default'\n}\n\n// strip out Heading, Label, and renderedCells properties, they cannot be sent to the server\nconst sanitizeColumns = (columns: Column[]) => {\n return columns.map(({ accessor, active }) => ({\n accessor,\n active,\n }))\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n children,\n collectionSlug,\n columnState,\n docs,\n enableRowSelections,\n LinkedCellOverride,\n listPreferences,\n preferenceKey,\n renderRowTypes,\n setTable,\n sortColumnProps,\n tableAppearance,\n}) => {\n const { getEntityConfig } = useConfig()\n\n const { getTableState } = useServerFunctions()\n\n const { admin: { defaultColumns, useAsTitle } = {}, fields } = getEntityConfig({\n collectionSlug,\n }) as ClientCollectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference } = usePreferences()\n\n const [tableColumns, setTableColumns] = React.useState(columnState)\n const tableStateControllerRef = React.useRef<AbortController>(null)\n\n const moveColumn = useCallback(\n async (args: { fromIndex: number; toIndex: number }) => {\n abortAndIgnore(tableStateControllerRef.current)\n\n const { fromIndex, toIndex } = args\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n\n setTableColumns(withMovedColumn)\n\n const controller = new AbortController()\n tableStateControllerRef.current = controller\n\n const result = await getTableState({\n collectionSlug,\n columns: sanitizeColumns(withMovedColumn),\n docs,\n enableRowSelections,\n renderRowTypes,\n signal: controller.signal,\n tableAppearance,\n })\n\n if (result) {\n setTableColumns(result.state)\n setTable(result.Table)\n }\n },\n [\n tableColumns,\n collectionSlug,\n docs,\n getTableState,\n setTable,\n enableRowSelections,\n renderRowTypes,\n tableAppearance,\n ],\n )\n\n const toggleColumn = useCallback(\n async (column: string) => {\n abortAndIgnore(tableStateControllerRef.current)\n\n const { newColumnState, toggledColumns } = tableColumns.reduce<{\n newColumnState: Column[]\n toggledColumns: Pick<Column, 'accessor' | 'active'>[]\n }>(\n (acc, col) => {\n if (col.accessor === column) {\n acc.newColumnState.push({\n ...col,\n accessor: col.accessor,\n active: !col.active,\n })\n acc.toggledColumns.push({\n accessor: col.accessor,\n active: !col.active,\n })\n } else {\n acc.newColumnState.push(col)\n acc.toggledColumns.push({\n accessor: col.accessor,\n active: col.active,\n })\n }\n\n return acc\n },\n { newColumnState: [], toggledColumns: [] },\n )\n\n setTableColumns(newColumnState)\n\n const controller = new AbortController()\n tableStateControllerRef.current = controller\n\n const result = await getTableState({\n collectionSlug,\n columns: toggledColumns,\n docs,\n enableRowSelections,\n renderRowTypes,\n signal: controller.signal,\n tableAppearance,\n })\n\n if (result) {\n setTableColumns(result.state)\n setTable(result.Table)\n }\n },\n [\n tableColumns,\n getTableState,\n setTable,\n collectionSlug,\n docs,\n enableRowSelections,\n renderRowTypes,\n tableAppearance,\n ],\n )\n\n const setActiveColumns = React.useCallback(\n async (activeColumnAccessors: string[]) => {\n const activeColumns: Pick<Column, 'accessor' | 'active'>[] = tableColumns\n .map((col) => {\n return {\n accessor: col.accessor,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n .sort((first, second) => {\n const indexOfFirst = activeColumnAccessors.indexOf(first.accessor)\n const indexOfSecond = activeColumnAccessors.indexOf(second.accessor)\n\n if (indexOfFirst === -1 || indexOfSecond === -1) {\n return 0\n }\n\n return indexOfFirst > indexOfSecond ? 1 : -1\n })\n\n const { state: columnState, Table } = await getTableState({\n collectionSlug,\n columns: activeColumns,\n docs,\n enableRowSelections,\n renderRowTypes,\n tableAppearance,\n })\n\n setTableColumns(columnState)\n setTable(Table)\n },\n [\n tableColumns,\n getTableState,\n setTable,\n collectionSlug,\n docs,\n enableRowSelections,\n renderRowTypes,\n tableAppearance,\n ],\n )\n\n const resetColumnsState = React.useCallback(async () => {\n await setActiveColumns(defaultColumns)\n }, [defaultColumns, setActiveColumns])\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n // setTableColumns()\n // buildColumnState({\n // beforeRows,\n // columnPreferences: currentPreferences?.columns,\n // columns: initialColumns,\n // enableRowSelections,\n // fields,\n // sortColumnProps,\n // useAsTitle,\n // }),\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fields,\n defaultColumns,\n useAsTitle,\n listPreferences,\n enableRowSelections,\n sortColumnProps,\n ])\n\n useEffect(() => {\n setTableColumns(columnState)\n }, [columnState])\n\n useEffect(() => {\n return () => {\n abortAndIgnore(tableStateControllerRef.current)\n }\n }, [])\n\n return (\n <TableColumnContext.Provider\n value={{\n columns: tableColumns,\n LinkedCellOverride,\n moveColumn,\n resetColumnsState,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","createContext","useCallback","useContext","useEffect","useConfig","usePreferences","useServerFunctions","abortAndIgnore","handleAbortRef","TableColumnContext","useTableColumns","sanitizeColumns","columns","map","accessor","active","TableColumnsProvider","children","collectionSlug","columnState","docs","enableRowSelections","LinkedCellOverride","listPreferences","preferenceKey","renderRowTypes","setTable","sortColumnProps","tableAppearance","getEntityConfig","getTableState","admin","defaultColumns","useAsTitle","fields","prevCollection","useRef","getPreference","tableColumns","setTableColumns","useState","abortTableStateRef","abortToggleColumnRef","moveColumn","args","controller","fromIndex","toIndex","withMovedColumn","columnToMove","splice","result","signal","state","Table","current","toggleColumn","column","newColumnState","toggledColumns","reduce","acc","col","push","setActiveColumns","activeColumnAccessors","activeColumns","includes","sort","first","second","indexOfFirst","indexOf","indexOfSecond","resetColumnsState","sync","collectionHasChanged","currentPreferences","abortTableState","_jsx","Provider","value"],"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useEffect } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListQuery/index.js'\nimport type { SortColumnProps } from '../SortColumn/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\n\nexport interface ITableColumns {\n columns: Column[]\n LinkedCellOverride?: React.ReactNode\n moveColumn: (args: { fromIndex: number; toIndex: number }) => Promise<void>\n resetColumnsState: () => Promise<void>\n setActiveColumns: (columns: string[]) => Promise<void>\n toggleColumn: (column: string) => Promise<void>\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n readonly children: React.ReactNode\n readonly collectionSlug: string\n readonly columnState: Column[]\n readonly docs: any[]\n readonly enableRowSelections?: boolean\n readonly LinkedCellOverride?: React.ReactNode\n readonly listPreferences?: ListPreferences\n readonly preferenceKey: string\n readonly renderRowTypes?: boolean\n readonly setTable: (Table: React.ReactNode) => void\n readonly sortColumnProps?: Partial<SortColumnProps>\n readonly tableAppearance?: 'condensed' | 'default'\n}\n\n// strip out Heading, Label, and renderedCells properties, they cannot be sent to the server\nconst sanitizeColumns = (columns: Column[]) => {\n return columns.map(({ accessor, active }) => ({\n accessor,\n active,\n }))\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n children,\n collectionSlug,\n columnState,\n docs,\n enableRowSelections,\n LinkedCellOverride,\n listPreferences,\n preferenceKey,\n renderRowTypes,\n setTable,\n sortColumnProps,\n tableAppearance,\n}) => {\n const { getEntityConfig } = useConfig()\n\n const { getTableState } = useServerFunctions()\n\n const { admin: { defaultColumns, useAsTitle } = {}, fields } = getEntityConfig({\n collectionSlug,\n }) as ClientCollectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference } = usePreferences()\n\n const [tableColumns, setTableColumns] = React.useState(columnState)\n const abortTableStateRef = React.useRef<AbortController>(null)\n const abortToggleColumnRef = React.useRef<AbortController>(null)\n\n const moveColumn = useCallback(\n async (args: { fromIndex: number; toIndex: number }) => {\n const controller = handleAbortRef(abortTableStateRef)\n\n const { fromIndex, toIndex } = args\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n\n setTableColumns(withMovedColumn)\n\n const result = await getTableState({\n collectionSlug,\n columns: sanitizeColumns(withMovedColumn),\n docs,\n enableRowSelections,\n renderRowTypes,\n signal: controller.signal,\n tableAppearance,\n })\n\n if (result) {\n setTableColumns(result.state)\n setTable(result.Table)\n }\n\n abortTableStateRef.current = null\n },\n [\n tableColumns,\n collectionSlug,\n docs,\n getTableState,\n setTable,\n enableRowSelections,\n renderRowTypes,\n tableAppearance,\n ],\n )\n\n const toggleColumn = useCallback(\n async (column: string) => {\n const controller = handleAbortRef(abortToggleColumnRef)\n\n const { newColumnState, toggledColumns } = tableColumns.reduce<{\n newColumnState: Column[]\n toggledColumns: Pick<Column, 'accessor' | 'active'>[]\n }>(\n (acc, col) => {\n if (col.accessor === column) {\n acc.newColumnState.push({\n ...col,\n accessor: col.accessor,\n active: !col.active,\n })\n acc.toggledColumns.push({\n accessor: col.accessor,\n active: !col.active,\n })\n } else {\n acc.newColumnState.push(col)\n acc.toggledColumns.push({\n accessor: col.accessor,\n active: col.active,\n })\n }\n\n return acc\n },\n { newColumnState: [], toggledColumns: [] },\n )\n\n setTableColumns(newColumnState)\n\n const result = await getTableState({\n collectionSlug,\n columns: toggledColumns,\n docs,\n enableRowSelections,\n renderRowTypes,\n signal: controller.signal,\n tableAppearance,\n })\n\n if (result) {\n setTableColumns(result.state)\n setTable(result.Table)\n }\n\n abortToggleColumnRef.current = null\n },\n [\n tableColumns,\n getTableState,\n setTable,\n collectionSlug,\n docs,\n enableRowSelections,\n renderRowTypes,\n tableAppearance,\n ],\n )\n\n const setActiveColumns = React.useCallback(\n async (activeColumnAccessors: string[]) => {\n const activeColumns: Pick<Column, 'accessor' | 'active'>[] = tableColumns\n .map((col) => {\n return {\n accessor: col.accessor,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n .sort((first, second) => {\n const indexOfFirst = activeColumnAccessors.indexOf(first.accessor)\n const indexOfSecond = activeColumnAccessors.indexOf(second.accessor)\n\n if (indexOfFirst === -1 || indexOfSecond === -1) {\n return 0\n }\n\n return indexOfFirst > indexOfSecond ? 1 : -1\n })\n\n const { state: columnState, Table } = await getTableState({\n collectionSlug,\n columns: activeColumns,\n docs,\n enableRowSelections,\n renderRowTypes,\n tableAppearance,\n })\n\n setTableColumns(columnState)\n setTable(Table)\n },\n [\n tableColumns,\n getTableState,\n setTable,\n collectionSlug,\n docs,\n enableRowSelections,\n renderRowTypes,\n tableAppearance,\n ],\n )\n\n const resetColumnsState = React.useCallback(async () => {\n await setActiveColumns(defaultColumns)\n }, [defaultColumns, setActiveColumns])\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n // setTableColumns()\n // buildColumnState({\n // beforeRows,\n // columnPreferences: currentPreferences?.columns,\n // columns: initialColumns,\n // enableRowSelections,\n // fields,\n // sortColumnProps,\n // useAsTitle,\n // }),\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fields,\n defaultColumns,\n useAsTitle,\n listPreferences,\n enableRowSelections,\n sortColumnProps,\n ])\n\n useEffect(() => {\n setTableColumns(columnState)\n }, [columnState])\n\n useEffect(() => {\n const abortTableState = abortTableStateRef.current\n\n return () => {\n abortAndIgnore(abortTableState)\n }\n }, [])\n\n return (\n <TableColumnContext.Provider\n value={{\n columns: tableColumns,\n LinkedCellOverride,\n moveColumn,\n resetColumnsState,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -212,4 +212,5 @@ export type { ListHeaderProps } from '../../views/List/ListHeader/index.js';
212
212
  export { DefaultEditView } from '../../views/Edit/index.js';
213
213
  export { SetDocumentStepNav } from '../../views/Edit/SetDocumentStepNav/index.js';
214
214
  export { SetDocumentTitle } from '../../views/Edit/SetDocumentTitle/index.js';
215
+ export { parseSearchParams } from '../../utilities/parseSearchParams.js';
215
216
  //# sourceMappingURL=index.d.ts.map