@payloadcms/ui 3.3.0 → 3.4.1-canary.417e3d2

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 (81) hide show
  1. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  2. package/dist/elements/CopyLocaleData/index.js +4 -3
  3. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  4. package/dist/elements/FieldSelect/index.js +2 -2
  5. package/dist/elements/FieldSelect/index.js.map +1 -1
  6. package/dist/elements/PublishButton/index.js +15 -18
  7. package/dist/elements/PublishButton/index.js.map +1 -1
  8. package/dist/elements/RelationshipTable/index.d.ts +2 -0
  9. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  10. package/dist/elements/RelationshipTable/index.js +35 -31
  11. package/dist/elements/RelationshipTable/index.js.map +1 -1
  12. package/dist/elements/Table/DefaultCell/index.js +2 -2
  13. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  14. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  15. package/dist/elements/TableColumns/buildColumnState.js +5 -2
  16. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  17. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  18. package/dist/elements/WhereBuilder/reduceClientFields.js +2 -2
  19. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  20. package/dist/exports/client/index.d.ts +4 -0
  21. package/dist/exports/client/index.d.ts.map +1 -1
  22. package/dist/exports/client/index.js +10 -10
  23. package/dist/exports/client/index.js.map +4 -4
  24. package/dist/exports/shared/index.js +2 -2
  25. package/dist/exports/shared/index.js.map +3 -3
  26. package/dist/fields/Group/index.d.ts.map +1 -1
  27. package/dist/fields/Group/index.js +2 -1
  28. package/dist/fields/Group/index.js.map +1 -1
  29. package/dist/fields/Join/index.d.ts.map +1 -1
  30. package/dist/fields/Join/index.js +15 -3
  31. package/dist/fields/Join/index.js.map +1 -1
  32. package/dist/fields/Relationship/index.d.ts.map +1 -1
  33. package/dist/fields/Relationship/index.js +1 -1
  34. package/dist/fields/Relationship/index.js.map +1 -1
  35. package/dist/fields/Select/Input.d.ts +1 -0
  36. package/dist/fields/Select/Input.d.ts.map +1 -1
  37. package/dist/fields/Select/Input.js +41 -38
  38. package/dist/fields/Select/Input.js.map +1 -1
  39. package/dist/fields/Tabs/index.d.ts +15 -0
  40. package/dist/fields/Tabs/index.d.ts.map +1 -1
  41. package/dist/fields/Tabs/index.js +2 -2
  42. package/dist/fields/Tabs/index.js.map +1 -1
  43. package/dist/forms/Form/index.d.ts.map +1 -1
  44. package/dist/forms/Form/index.js +2 -1
  45. package/dist/forms/Form/index.js.map +1 -1
  46. package/dist/forms/RenderFields/index.js +2 -2
  47. package/dist/forms/RenderFields/index.js.map +1 -1
  48. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  49. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +5 -8
  50. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  51. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  52. package/dist/forms/fieldSchemasToFormState/renderField.js +4 -0
  53. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  54. package/dist/providers/Locale/index.d.ts +15 -1
  55. package/dist/providers/Locale/index.d.ts.map +1 -1
  56. package/dist/providers/Locale/index.js +50 -119
  57. package/dist/providers/Locale/index.js.map +1 -1
  58. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  59. package/dist/providers/SearchParams/index.js +25 -68
  60. package/dist/providers/SearchParams/index.js.map +1 -1
  61. package/dist/styles.css +1 -1
  62. package/dist/utilities/buildTableState.d.ts.map +1 -1
  63. package/dist/utilities/buildTableState.js.map +1 -1
  64. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  65. package/dist/utilities/copyDataFromLocale.js +11 -4
  66. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  67. package/dist/utilities/formatFields.d.ts.map +1 -1
  68. package/dist/utilities/formatFields.js +2 -2
  69. package/dist/utilities/formatFields.js.map +1 -1
  70. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  71. package/dist/utilities/groupNavItems.js +6 -6
  72. package/dist/utilities/groupNavItems.js.map +1 -1
  73. package/dist/utilities/renderTable.d.ts.map +1 -1
  74. package/dist/utilities/renderTable.js +4 -0
  75. package/dist/utilities/renderTable.js.map +1 -1
  76. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  77. package/dist/views/Edit/SetDocumentStepNav/index.js +2 -0
  78. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  79. package/dist/views/Edit/index.js +1 -1
  80. package/dist/views/Edit/index.js.map +1 -1
  81. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CopyLocaleData/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAe1C,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAqLlC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CopyLocaleData/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAc1C,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAoLlC,CAAA"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useModal } from '@faceless-ui/modal';
5
+ import { getTranslation } from '@payloadcms/translations';
5
6
  import { useRouter } from 'next/navigation.js';
6
7
  import React, { useCallback } from 'react';
7
8
  import { toast } from 'sonner';
@@ -16,8 +17,8 @@ import { useTranslation } from '../../providers/Translation/index.js';
16
17
  import { DrawerHeader } from '../BulkUpload/Header/index.js';
17
18
  import { Button } from '../Button/index.js';
18
19
  import { Drawer } from '../Drawer/index.js';
19
- import { PopupList } from '../Popup/index.js';
20
20
  import './index.scss';
21
+ import { PopupList } from '../Popup/index.js';
21
22
  const baseClass = 'copy-locale-data';
22
23
  const drawerSlug = 'copy-locale';
23
24
  export const CopyLocaleData = () => {
@@ -39,6 +40,7 @@ export const CopyLocaleData = () => {
39
40
  globalSlug
40
41
  } = useDocumentInfo();
41
42
  const {
43
+ i18n,
42
44
  t
43
45
  } = useTranslation();
44
46
  const modified = useFormModified();
@@ -56,7 +58,7 @@ export const CopyLocaleData = () => {
56
58
  const localeOptionsWithoutCurrent = localeOptions.filter(locale_0 => locale_0.value !== code);
57
59
  const getLocaleLabel = code_0 => {
58
60
  const locale_1 = localization && localization.locales.find(l => l.code === code_0);
59
- return locale_1 && locale_1.label ? locale_1.label : code_0;
61
+ return locale_1 && locale_1.label ? getTranslation(locale_1.label, i18n) : code_0;
60
62
  };
61
63
  const [copying, setCopying] = React.useState(false);
62
64
  const [toLocale, setToLocale] = React.useState(null);
@@ -64,7 +66,6 @@ export const CopyLocaleData = () => {
64
66
  const [overwriteExisting, setOverwriteExisting] = React.useState(false);
65
67
  React.useEffect(() => {
66
68
  if (fromLocale !== code) {
67
- // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
68
69
  setFromLocale(code);
69
70
  }
70
71
  }, [code, fromLocale]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","useRouter","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useServerFunctions","useTranslation","DrawerHeader","Button","Drawer","PopupList","baseClass","drawerSlug","CopyLocaleData","config","localization","routes","admin","serverURL","code","id","collectionSlug","globalSlug","t","modified","toggleModal","copyDataFromLocale","router","localeOptions","locales","map","locale","label","value","localeOptionsWithoutCurrent","filter","getLocaleLabel","find","l","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","useEffect","copyLocaleData","from","to","docID","overrideData","push","error","message","_jsxs","Fragment","_jsx","onClick","info","className","gutter","Header","onClose","title","slug","buttonStyle","disabled","iconPosition","size","name","onChange","selectedOption","options","path","readOnly","checked","field"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } 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 { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DrawerHeader } from '../BulkUpload/Header/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n serverURL,\n },\n } = useConfig()\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? locale.label : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n toggleModal(drawerSlug)\n router.push(\n `${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`,\n )\n } catch (error) {\n toast.error(error.message)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n serverURL,\n admin,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useServerFunctions","useTranslation","DrawerHeader","Button","Drawer","PopupList","baseClass","drawerSlug","CopyLocaleData","config","localization","routes","admin","serverURL","code","id","collectionSlug","globalSlug","i18n","t","modified","toggleModal","copyDataFromLocale","router","localeOptions","locales","map","locale","label","value","localeOptionsWithoutCurrent","filter","getLocaleLabel","find","l","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","useEffect","copyLocaleData","from","to","docID","overrideData","push","error","message","_jsxs","Fragment","_jsx","onClick","info","className","gutter","Header","onClose","title","slug","buttonStyle","disabled","iconPosition","size","name","onChange","selectedOption","options","path","readOnly","checked","field"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } 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 { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DrawerHeader } from '../BulkUpload/Header/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport './index.scss'\nimport { PopupList } from '../Popup/index.js'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n serverURL,\n },\n } = useConfig()\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? getTranslation(locale.label, i18n) : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n toggleModal(drawerSlug)\n router.push(\n `${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`,\n )\n } catch (error) {\n toast.error(error.message)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n serverURL,\n admin,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@
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 { fieldAffectsData, fieldHasSubFields } from 'payload/shared';
5
+ import { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared';
6
6
  import React, { Fragment, useState } from 'react';
7
7
  import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
8
8
  import { FieldLabel } from '../../fields/FieldLabel/index.js';
@@ -50,7 +50,7 @@ const reduceFields = ({
50
50
  const CustomLabel = formState?.[path]?.customComponents?.Label;
51
51
  return fields?.reduce((fieldsToUse, field) => {
52
52
  // escape for a variety of reasons, include ui fields as they have `name`.
53
- if ((fieldAffectsData(field) || field.type === 'ui') && (field.admin.disableBulkEdit || field.unique || field.admin.hidden || 'readOnly' in field && field.readOnly)) {
53
+ if ((fieldAffectsData(field) || field.type === 'ui') && (field.admin.disableBulkEdit || field.unique || fieldIsHiddenOrDisabled(field) || 'readOnly' in field && field.readOnly)) {
54
54
  return fieldsToUse;
55
55
  }
56
56
  if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","React","Fragment","useState","RenderCustomComponent","FieldLabel","useForm","createNestedClientFieldPath","useTranslation","ReactSelect","baseClass","combineLabel","CustomLabel","field","prefix","_jsxs","_jsx","style","display","CustomComponent","Fallback","label","reduceFields","fields","formState","labelPrefix","path","customComponents","Label","reduce","fieldsToUse","type","admin","disableBulkEdit","unique","hidden","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","dispatchFields","getFields","t1","options","t2","selected","activeFields","map","_temp","Object","keys","length","forEach","find","handleChange","t3","className","children","getOptionValue","_temp2","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPath, FormState } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields } from 'payload/shared'\nimport React, { Fragment, useState } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPath[]) => void\n}\n\nexport const combineLabel = ({\n CustomLabel,\n field,\n prefix,\n}: {\n CustomLabel?: React.ReactNode\n field?: ClientField\n prefix?: React.ReactNode\n}): React.ReactNode => {\n return (\n <Fragment>\n {prefix ? (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n ) : null}\n <span style={{ display: 'inline-block' }}>\n <RenderCustomComponent\n CustomComponent={CustomLabel}\n Fallback={<FieldLabel label={'label' in field && field.label} />}\n />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n formState,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n formState?: FormState\n labelPrefix?: React.ReactNode\n path?: string\n}): { Label: React.ReactNode; value: FieldWithPath }[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n field.admin.hidden ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const { dispatchFields, getFields } = useForm()\n\n const [options] = useState(() => reduceFields({ fields, formState: getFields() }))\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","React","Fragment","useState","RenderCustomComponent","FieldLabel","useForm","createNestedClientFieldPath","useTranslation","ReactSelect","baseClass","combineLabel","CustomLabel","field","prefix","_jsxs","_jsx","style","display","CustomComponent","Fallback","label","reduceFields","fields","formState","labelPrefix","path","customComponents","Label","reduce","fieldsToUse","type","admin","disableBulkEdit","unique","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","dispatchFields","getFields","t1","options","t2","selected","activeFields","map","_temp","Object","keys","length","forEach","find","handleChange","t3","className","children","getOptionValue","_temp2","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPath, FormState } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared'\nimport React, { Fragment, useState } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPath[]) => void\n}\n\nexport const combineLabel = ({\n CustomLabel,\n field,\n prefix,\n}: {\n CustomLabel?: React.ReactNode\n field?: ClientField\n prefix?: React.ReactNode\n}): React.ReactNode => {\n return (\n <Fragment>\n {prefix ? (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n ) : null}\n <span style={{ display: 'inline-block' }}>\n <RenderCustomComponent\n CustomComponent={CustomLabel}\n Fallback={<FieldLabel label={'label' in field && field.label} />}\n />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n formState,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n formState?: FormState\n labelPrefix?: React.ReactNode\n path?: string\n}): { Label: React.ReactNode; value: FieldWithPath }[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const { dispatchFields, getFields } = useForm()\n\n const [options] = useState(() => reduceFields({ fields, formState: getFields() }))\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -39,7 +39,7 @@ export const PublishButton = t0 => {
39
39
  const modified = useFormModified();
40
40
  const editDepth = useEditDepth();
41
41
  const {
42
- code: locale
42
+ code: localeCode
43
43
  } = useLocale();
44
44
  const {
45
45
  localization,
@@ -53,9 +53,6 @@ export const PublishButton = t0 => {
53
53
  i18n,
54
54
  t
55
55
  } = useTranslation();
56
- const {
57
- code
58
- } = useLocale();
59
56
  let t2;
60
57
  if ($[0] !== labelProp || $[1] !== t) {
61
58
  t2 = labelProp || t("version:publishChanges");
@@ -71,12 +68,12 @@ export const PublishButton = t0 => {
71
68
  const operation = useOperation();
72
69
  const forceDisable = operation === "update" && !modified;
73
70
  let t3;
74
- if ($[3] !== api || $[4] !== collectionSlug || $[5] !== forceDisable || $[6] !== globalSlug || $[7] !== id || $[8] !== locale || $[9] !== serverURL || $[10] !== submit) {
71
+ if ($[3] !== api || $[4] !== collectionSlug || $[5] !== forceDisable || $[6] !== globalSlug || $[7] !== id || $[8] !== localeCode || $[9] !== serverURL || $[10] !== submit) {
75
72
  t3 = async () => {
76
73
  if (forceDisable) {
77
74
  return;
78
75
  }
79
- const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`;
76
+ const search = `?locale=${localeCode}&depth=0&fallback-locale=null&draft=true`;
80
77
  let action;
81
78
  let method = "POST";
82
79
  if (collectionSlug) {
@@ -102,7 +99,7 @@ export const PublishButton = t0 => {
102
99
  $[5] = forceDisable;
103
100
  $[6] = globalSlug;
104
101
  $[7] = id;
105
- $[8] = locale;
102
+ $[8] = localeCode;
106
103
  $[9] = serverURL;
107
104
  $[10] = submit;
108
105
  $[11] = t3;
@@ -166,9 +163,9 @@ export const PublishButton = t0 => {
166
163
  const publish = t7;
167
164
  let t8;
168
165
  if ($[22] !== api || $[23] !== collectionSlug || $[24] !== globalSlug || $[25] !== id || $[26] !== serverURL || $[27] !== setHasPublishedDoc || $[28] !== submit) {
169
- t8 = locale_0 => {
166
+ t8 = locale => {
170
167
  const params = qs.stringify({
171
- publishSpecificLocale: locale_0
168
+ publishSpecificLocale: locale
172
169
  });
173
170
  const action_0 = `${serverURL}${api}${globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${"/" + id}` : ""}`}${params ? "?" + params : ""}`;
174
171
  submit({
@@ -196,28 +193,28 @@ export const PublishButton = t0 => {
196
193
  }
197
194
  const t9 = !canPublish;
198
195
  let t10;
199
- if ($[30] !== code || $[31] !== i18n?.language || $[32] !== localization || $[33] !== publishSpecificLocale || $[34] !== t) {
196
+ if ($[30] !== i18n?.language || $[31] !== localeCode || $[32] !== localization || $[33] !== publishSpecificLocale || $[34] !== t) {
200
197
  t10 = localization ? t11 => {
201
198
  const {
202
199
  close
203
200
  } = t11;
204
- return localization.locales.map(locale_1 => {
205
- const formattedLabel = typeof locale_1.label === "string" ? locale_1.label : locale_1.label && locale_1.label[i18n?.language];
206
- const isActive = typeof locale_1 === "string" ? locale_1 === code : locale_1.code === code;
201
+ return localization.locales.map(locale_0 => {
202
+ const formattedLabel = typeof locale_0.label === "string" ? locale_0.label : locale_0.label && locale_0.label[i18n?.language];
203
+ const isActive = typeof locale_0 === "string" ? locale_0 === localeCode : locale_0.code === localeCode;
207
204
  if (isActive) {
208
205
  return _jsx(PopupList.ButtonGroup, {
209
206
  children: _jsx(PopupList.Button, {
210
- onClick: () => [publishSpecificLocale(locale_1.code), close()],
207
+ onClick: () => [publishSpecificLocale(locale_0.code), close()],
211
208
  children: t("version:publishIn", {
212
- locale: formattedLabel || locale_1.code
209
+ locale: formattedLabel || locale_0.code
213
210
  })
214
211
  })
215
- }, locale_1.code);
212
+ }, locale_0.code);
216
213
  }
217
214
  });
218
215
  } : undefined;
219
- $[30] = code;
220
- $[31] = i18n?.language;
216
+ $[30] = i18n?.language;
217
+ $[31] = localeCode;
221
218
  $[32] = localization;
222
219
  $[33] = publishSpecificLocale;
223
220
  $[34] = t;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setUnpublishedVersionCount","unpublishedVersionCount","config","submit","modified","editDepth","code","locale","localization","routes","t1","serverURL","api","i18n","t","t2","hasNewerVersions","canPublish","operation","forceDisable","t3","search","action","method","overrides","_status","skipValidation","saveDraft","t4","Symbol","for","t5","cmdCtrlKey","keyCodes","t6","e","preventDefault","stopPropagation","versions","drafts","autosave","t7","publish","t8","locale_0","params","stringify","publishSpecificLocale","action_0","t9","t10","language","t11","close","locales","map","locale_1","formattedLabel","isActive","_jsx","ButtonGroup","children","Button","onClick","undefined","buttonId","disabled","size","SubMenuPopupContent","type"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.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 { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { config } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: locale } = useLocale()\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersionCount > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !hasPublishedDoc)\n const operation = useOperation()\n\n const forceDisable = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (forceDisable) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, locale, id, forceDisable])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setHasPublishedDoc(true)\n }, [setHasPublishedDoc, submit, setUnpublishedVersionCount])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit],\n )\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"medium\"\n SubMenuPopupContent={\n localization\n ? ({ close }) =>\n localization.locales.map((locale) => {\n const formattedLabel =\n typeof locale.label === 'string'\n ? locale.label\n : locale.label && locale.label[i18n?.language]\n\n const isActive = typeof locale === 'string' ? locale === code : locale.code === code\n\n if (isActive) {\n return (\n <PopupList.ButtonGroup key={locale.code}>\n <PopupList.Button\n onClick={() => [publishSpecificLocale(locale.code), close()]}\n >\n {t('version:publishIn', { locale: formattedLabel || locale.code })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n })\n : undefined\n }\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setUnpublishedVersionCount","unpublishedVersionCount","config","submit","modified","editDepth","code","localeCode","localization","routes","t1","serverURL","api","i18n","t","t2","hasNewerVersions","canPublish","operation","forceDisable","t3","search","action","method","overrides","_status","skipValidation","saveDraft","t4","Symbol","for","t5","cmdCtrlKey","keyCodes","t6","e","preventDefault","stopPropagation","versions","drafts","autosave","t7","publish","t8","locale","params","stringify","publishSpecificLocale","action_0","t9","t10","language","t11","close","locales","map","locale_0","formattedLabel","isActive","_jsx","ButtonGroup","children","Button","onClick","undefined","buttonId","disabled","size","SubMenuPopupContent","type"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.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 { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { config } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersionCount > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !hasPublishedDoc)\n const operation = useOperation()\n\n const forceDisable = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (forceDisable) {\n return\n }\n\n const search = `?locale=${localeCode}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, localeCode, id, forceDisable])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setHasPublishedDoc(true)\n }, [setHasPublishedDoc, submit, setUnpublishedVersionCount])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit],\n )\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"medium\"\n SubMenuPopupContent={\n localization\n ? ({ close }) =>\n localization.locales.map((locale) => {\n const formattedLabel =\n typeof locale.label === 'string'\n ? locale.label\n : locale.label && locale.label[i18n?.language]\n\n const isActive =\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode\n\n if (isActive) {\n return (\n <PopupList.ButtonGroup key={locale.code}>\n <PopupList.Button\n onClick={() => [publishSpecificLocale(locale.code), close()]}\n >\n {t('version:publishIn', { locale: formattedLabel || locale.code })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n })\n : undefined\n }\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,9 @@ import React from 'react';
3
3
  import type { DocumentDrawerProps } from '../DocumentDrawer/types.js';
4
4
  import './index.scss';
5
5
  type RelationshipTableComponentProps = {
6
+ readonly AfterInput?: React.ReactNode;
6
7
  readonly allowCreate?: boolean;
8
+ readonly BeforeInput?: React.ReactNode;
7
9
  readonly disableTable?: boolean;
8
10
  readonly field: JoinFieldClient;
9
11
  readonly filterOptions?: Where;
@@ -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,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,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,CAuNvE,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,CA2NvE,CAAA"}
@@ -24,9 +24,11 @@ import { DrawerLink } from './cells/DrawerLink/index.js';
24
24
  import { RelationshipTablePagination } from './Pagination.js';
25
25
  const baseClass = 'relationship-table';
26
26
  export const RelationshipTable = props => {
27
- const $ = _c(56);
27
+ const $ = _c(58);
28
28
  const {
29
+ AfterInput,
29
30
  allowCreate: t0,
31
+ BeforeInput,
30
32
  disableTable: t1,
31
33
  filterOptions,
32
34
  initialData: initialDataFromProps,
@@ -77,7 +79,7 @@ export const RelationshipTable = props => {
77
79
  t3 = $[4];
78
80
  }
79
81
  const [collectionConfig] = useState(t3);
80
- const [isLoadingTable, setIsLoadingTable] = useState(true);
82
+ const [isLoadingTable, setIsLoadingTable] = useState(!disableTable);
81
83
  const [data, setData] = useState(initialData);
82
84
  const [columnState, setColumnState] = useState();
83
85
  const {
@@ -222,14 +224,14 @@ export const RelationshipTable = props => {
222
224
  const t13 = `${baseClass}__toggle-columns ${openColumnSelector ? `${baseClass}__buttons-active` : ""}`;
223
225
  const t14 = openColumnSelector ? "up" : "down";
224
226
  let t15;
225
- if ($[33] !== DocumentDrawer || $[34] !== Label || $[35] !== Table || $[36] !== canCreate || $[37] !== collectionConfig || $[38] !== columnState || $[39] !== data || $[40] !== i18n || $[41] !== initialDrawerData || $[42] !== isLoadingTable || $[43] !== onDrawerCreate || $[44] !== onDrawerSave || $[45] !== openColumnSelector || $[46] !== openDrawer || $[47] !== preferenceKey || $[48] !== relationTo || $[49] !== t || $[50] !== t12 || $[51] !== t13 || $[52] !== t14) {
227
+ if ($[33] !== AfterInput || $[34] !== BeforeInput || $[35] !== DocumentDrawer || $[36] !== Label || $[37] !== Table || $[38] !== canCreate || $[39] !== collectionConfig || $[40] !== columnState || $[41] !== data || $[42] !== i18n || $[43] !== initialDrawerData || $[44] !== isLoadingTable || $[45] !== onDrawerCreate || $[46] !== onDrawerSave || $[47] !== openColumnSelector || $[48] !== openDrawer || $[49] !== preferenceKey || $[50] !== relationTo || $[51] !== t || $[52] !== t12 || $[53] !== t13 || $[54] !== t14) {
226
228
  let t16;
227
- if ($[54] !== openColumnSelector) {
229
+ if ($[56] !== openColumnSelector) {
228
230
  t16 = () => setOpenColumnSelector(!openColumnSelector);
229
- $[54] = openColumnSelector;
230
- $[55] = t16;
231
+ $[56] = openColumnSelector;
232
+ $[57] = t16;
231
233
  } else {
232
- t16 = $[55];
234
+ t16 = $[57];
233
235
  }
234
236
  t15 = _jsxs("div", {
235
237
  className: baseClass,
@@ -249,7 +251,7 @@ export const RelationshipTable = props => {
249
251
  children: t("general:columns")
250
252
  })]
251
253
  })]
252
- }), isLoadingTable ? _jsx("p", {
254
+ }), BeforeInput, isLoadingTable ? _jsx("p", {
253
255
  children: t("general:loading")
254
256
  }) : _jsxs(Fragment, {
255
257
  children: [data.docs && data.docs.length === 0 && _jsxs("div", {
@@ -300,34 +302,36 @@ export const RelationshipTable = props => {
300
302
  })
301
303
  })
302
304
  })]
303
- }), _jsx(DocumentDrawer, {
305
+ }), AfterInput, _jsx(DocumentDrawer, {
304
306
  initialData: initialDrawerData,
305
307
  onSave: onDrawerCreate
306
308
  })]
307
309
  });
308
- $[33] = DocumentDrawer;
309
- $[34] = Label;
310
- $[35] = Table;
311
- $[36] = canCreate;
312
- $[37] = collectionConfig;
313
- $[38] = columnState;
314
- $[39] = data;
315
- $[40] = i18n;
316
- $[41] = initialDrawerData;
317
- $[42] = isLoadingTable;
318
- $[43] = onDrawerCreate;
319
- $[44] = onDrawerSave;
320
- $[45] = openColumnSelector;
321
- $[46] = openDrawer;
322
- $[47] = preferenceKey;
323
- $[48] = relationTo;
324
- $[49] = t;
325
- $[50] = t12;
326
- $[51] = t13;
327
- $[52] = t14;
328
- $[53] = t15;
310
+ $[33] = AfterInput;
311
+ $[34] = BeforeInput;
312
+ $[35] = DocumentDrawer;
313
+ $[36] = Label;
314
+ $[37] = Table;
315
+ $[38] = canCreate;
316
+ $[39] = collectionConfig;
317
+ $[40] = columnState;
318
+ $[41] = data;
319
+ $[42] = i18n;
320
+ $[43] = initialDrawerData;
321
+ $[44] = isLoadingTable;
322
+ $[45] = onDrawerCreate;
323
+ $[46] = onDrawerSave;
324
+ $[47] = openColumnSelector;
325
+ $[48] = openDrawer;
326
+ $[49] = preferenceKey;
327
+ $[50] = relationTo;
328
+ $[51] = t;
329
+ $[52] = t12;
330
+ $[53] = t13;
331
+ $[54] = t14;
332
+ $[55] = t15;
329
333
  } else {
330
- t15 = $[53];
334
+ t15 = $[55];
331
335
  }
332
336
  return t15;
333
337
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useState","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","$","allowCreate","t0","disableTable","t1","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","undefined","Table","setTable","getEntityConfig","permissions","t2","docs","Array","isArray","reduce","_temp","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","t3","collectionSlug","collectionConfig","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","t4","newQuery","where","newData","state","newColumnState","NewTable","enableRowSelections","renderRowTypes","tableAppearance","renderTable","t5","t6","t7","t8","DocumentDrawer","DocumentDrawerToggler","t9","closeDrawer","openDrawer","t10","args","foundDocIndex","findIndex","doc_0","doc","id","withNewOrUpdatedDoc","newDocs","onDrawerSave","t11","args_0","onDrawerCreate","preferenceKey","canCreate","collections","create","t12","_jsx","className","children","t13","t14","t15","t16","_jsxs","icon","direction","pillStyle","length","label","labels","plural","onClick","singular","defaultLimit","admin","pagination","modifySearchParams","onQueryChange","LinkedCellOverride","height","slug","onSave","acc"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n JoinFieldClient,\n ListQuery,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport './index.scss'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly allowCreate?: boolean\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 allowCreate = true,\n disableTable = false,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug: relationTo }) as ClientCollectionConfig,\n )\n\n const [isLoadingTable, setIsLoadingTable] = useState(true)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [getTableState, relationTo, filterOptions, query],\n )\n\n useIgnoredEffect(\n () => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n },\n [query, disableTable],\n [Table, renderTable],\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n collectionSlug={relationTo}\n data={data}\n defaultLimit={collectionConfig?.admin?.pagination?.defaultLimit}\n modifySearchParams={false}\n onQueryChange={setQuery}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={<DrawerLink onDrawerSave={onDrawerSave} />}\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useState","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","$","AfterInput","allowCreate","t0","BeforeInput","disableTable","t1","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","undefined","Table","setTable","getEntityConfig","permissions","t2","docs","Array","isArray","reduce","_temp","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","t3","collectionSlug","collectionConfig","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","t4","newQuery","where","newData","state","newColumnState","NewTable","enableRowSelections","renderRowTypes","tableAppearance","renderTable","t5","t6","t7","t8","DocumentDrawer","DocumentDrawerToggler","t9","closeDrawer","openDrawer","t10","args","foundDocIndex","findIndex","doc_0","doc","id","withNewOrUpdatedDoc","newDocs","onDrawerSave","t11","args_0","onDrawerCreate","preferenceKey","canCreate","collections","create","t12","_jsx","className","children","t13","t14","t15","t16","_jsxs","icon","direction","pillStyle","length","label","labels","plural","onClick","singular","defaultLimit","admin","pagination","modifySearchParams","onQueryChange","LinkedCellOverride","height","slug","onSave","acc"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n JoinFieldClient,\n ListQuery,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport './index.scss'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly relationTo: string\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug: relationTo }) as ClientCollectionConfig,\n )\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [getTableState, relationTo, filterOptions, query],\n )\n\n useIgnoredEffect(\n () => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n },\n [query, disableTable],\n [Table, renderTable],\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n collectionSlug={relationTo}\n data={data}\n defaultLimit={collectionConfig?.admin?.pagination?.defaultLimit}\n modifySearchParams={false}\n onQueryChange={setQuery}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={<DrawerLink onDrawerSave={onDrawerSave} />}\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { getTranslation } from '@payloadcms/translations';
6
6
  import LinkImport from 'next/link.js';
7
- import { fieldAffectsData } from 'payload/shared';
7
+ import { fieldAffectsData, fieldIsID } from 'payload/shared';
8
8
  import React from 'react'; // TODO: abstract this out to support all routers
9
9
  import { useConfig } from '../../../providers/Config/index.js';
10
10
  import { useTranslation } from '../../../providers/Translation/index.js';
@@ -81,7 +81,7 @@ export const DefaultCell = props => {
81
81
  }
82
82
  wrapElementProps.onClick = t5;
83
83
  }
84
- if ("name" in field && field.name === "id") {
84
+ if (fieldIsID(field)) {
85
85
  t4 = _jsx(WrapElement, {
86
86
  ...wrapElementProps,
87
87
  children: _jsx(CodeCell, {