@payloadcms/ui 3.9.0 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/CopyLocaleData/index.js +1 -1
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +1 -0
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +28 -10
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +5 -0
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +40 -32
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +4 -4
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +1 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +10 -10
- package/dist/exports/client/index.js.map +3 -3
- package/dist/exports/shared/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +44 -6
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Relationship/index.js +6 -6
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +8 -8
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +2 -2
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +2 -2
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/handleTakeOver.d.ts +1 -1
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/views/Edit/index.js +3 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -84,8 +84,8 @@ export const CopyLocaleData = () => {
|
|
|
84
84
|
toLocale: to
|
|
85
85
|
});
|
|
86
86
|
setCopying(false);
|
|
87
|
-
toggleModal(drawerSlug);
|
|
88
87
|
router.push(`${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`);
|
|
88
|
+
toggleModal(drawerSlug);
|
|
89
89
|
} catch (error) {
|
|
90
90
|
toast.error(error.message);
|
|
91
91
|
}
|
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
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 router.push(\n `${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`,\n )\n toggleModal(drawerSlug)\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,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { DocumentDrawerProps } from '../../../DocumentDrawer/types.js';
|
|
3
3
|
import './index.scss';
|
|
4
4
|
export declare const DrawerLink: React.FC<{
|
|
5
|
+
readonly onDrawerDelete?: DocumentDrawerProps['onDelete'];
|
|
5
6
|
readonly onDrawerSave?: DocumentDrawerProps['onSave'];
|
|
6
7
|
}>;
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/RelationshipTable/cells/DrawerLink/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAM3E,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;CACtD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/RelationshipTable/cells/DrawerLink/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAM3E,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;CACtD,CAyCA,CAAA"}
|
|
@@ -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(
|
|
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] !==
|
|
52
|
-
t5 =
|
|
52
|
+
if ($[6] !== closeDrawer || $[7] !== onDrawerDeleteFromProps) {
|
|
53
|
+
t5 = args_0 => {
|
|
54
|
+
closeDrawer();
|
|
55
|
+
if (typeof onDrawerDeleteFromProps === "function") {
|
|
56
|
+
onDrawerDeleteFromProps(args_0);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
$[6] = closeDrawer;
|
|
60
|
+
$[7] = onDrawerDeleteFromProps;
|
|
61
|
+
$[8] = t5;
|
|
62
|
+
} else {
|
|
63
|
+
t5 = $[8];
|
|
64
|
+
}
|
|
65
|
+
const onDrawerDelete = t5;
|
|
66
|
+
let t6;
|
|
67
|
+
if ($[9] !== DocumentDrawer || $[10] !== DocumentDrawerToggler || $[11] !== cellProps || $[12] !== onDrawerDelete || $[13] !== onDrawerSave) {
|
|
68
|
+
t6 = _jsxs("div", {
|
|
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
|
-
$[
|
|
66
|
-
$[
|
|
67
|
-
$[
|
|
68
|
-
$[
|
|
69
|
-
$[
|
|
82
|
+
$[9] = DocumentDrawer;
|
|
83
|
+
$[10] = DocumentDrawerToggler;
|
|
84
|
+
$[11] = cellProps;
|
|
85
|
+
$[12] = onDrawerDelete;
|
|
86
|
+
$[13] = onDrawerSave;
|
|
87
|
+
$[14] = t6;
|
|
70
88
|
} else {
|
|
71
|
-
|
|
89
|
+
t6 = $[14];
|
|
72
90
|
}
|
|
73
|
-
return
|
|
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,
|
|
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,
|
|
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\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;
|
|
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(
|
|
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] !==
|
|
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 ($[
|
|
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
|
-
$[
|
|
187
|
-
$[
|
|
188
|
-
$[
|
|
189
|
-
$[
|
|
190
|
-
$[
|
|
191
|
-
$[
|
|
192
|
-
$[
|
|
193
|
-
$[
|
|
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 = $[
|
|
202
|
+
t5 = $[33];
|
|
196
203
|
}
|
|
197
204
|
let t6;
|
|
198
|
-
if ($[
|
|
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
|
-
$[
|
|
237
|
-
$[
|
|
238
|
-
$[
|
|
239
|
-
$[
|
|
240
|
-
$[
|
|
241
|
-
$[
|
|
242
|
-
$[
|
|
243
|
-
$[
|
|
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 = $[
|
|
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] =
|
|
263
|
-
$[16] =
|
|
264
|
-
$[17] =
|
|
265
|
-
$[18] =
|
|
266
|
-
$[19] =
|
|
267
|
-
$[20] =
|
|
268
|
-
$[21] =
|
|
269
|
-
$[22] =
|
|
270
|
-
$[23] =
|
|
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 = $[
|
|
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')}: </span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n — \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 — \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')}: </span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n — \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 — \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":[]}
|
|
@@ -42,17 +42,17 @@ export const Tooltip = props => {
|
|
|
42
42
|
let t7;
|
|
43
43
|
if ($[2] !== delay || $[3] !== showFromProps) {
|
|
44
44
|
t6 = () => {
|
|
45
|
-
let
|
|
45
|
+
let timerID;
|
|
46
46
|
if (delay && showFromProps) {
|
|
47
|
-
|
|
47
|
+
timerID = setTimeout(() => {
|
|
48
48
|
setShow(showFromProps);
|
|
49
49
|
}, delay);
|
|
50
50
|
} else {
|
|
51
51
|
setShow(showFromProps);
|
|
52
52
|
}
|
|
53
53
|
return () => {
|
|
54
|
-
if (
|
|
55
|
-
clearTimeout(
|
|
54
|
+
if (timerID) {
|
|
55
|
+
clearTimeout(timerID);
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useEffect","useIntersect","Tooltip","props","$","alignCaret","t0","boundingRef","children","className","delay","t1","position","positionFromProps","show","t2","staticPositioning","t3","undefined","showFromProps","setShow","useState","setPosition","getTitleAttribute","_temp","t4","current","t5","root","rootMargin","threshold","ref","intersectionEntry","t6","t7","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useEffect","useIntersect","Tooltip","props","$","alignCaret","t0","boundingRef","children","className","delay","t1","position","positionFromProps","show","t2","staticPositioning","t3","undefined","showFromProps","setShow","useState","setPosition","getTitleAttribute","_temp","t4","current","t5","root","rootMargin","threshold","ref","intersectionEntry","t6","t7","timerID","clearTimeout","t8","isIntersecting","t9","t10","t11","t12","t13","t14","filter","Boolean","_jsxs","Fragment","_jsx","join","style","opacity","title","content"],"sources":["../../../src/elements/Tooltip/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\n\nexport type Props = {\n alignCaret?: 'center' | 'left' | 'right'\n boundingRef?: React.RefObject<HTMLElement | null>\n children: React.ReactNode\n className?: string\n delay?: number\n position?: 'bottom' | 'top'\n show?: boolean\n /**\n * If the tooltip position should not change depending on if the toolbar is outside the boundingRef. @default false\n */\n staticPositioning?: boolean\n}\n\nexport const Tooltip: React.FC<Props> = (props) => {\n const {\n alignCaret = 'center',\n boundingRef,\n children,\n className,\n delay = 350,\n position: positionFromProps,\n show: showFromProps = true,\n staticPositioning = false,\n } = props\n\n const [show, setShow] = React.useState(showFromProps)\n const [position, setPosition] = React.useState<'bottom' | 'top'>('top')\n\n const getTitleAttribute = (content) => (typeof content === 'string' ? content : '')\n\n const [ref, intersectionEntry] = useIntersect(\n {\n root: boundingRef?.current || null,\n rootMargin: '-145px 0px 0px 100px',\n threshold: 0,\n },\n staticPositioning,\n )\n\n useEffect(() => {\n let timerID: NodeJS.Timeout\n\n // do not use the delay on transition-out\n if (delay && showFromProps) {\n timerID = setTimeout(() => {\n setShow(showFromProps)\n }, delay)\n } else {\n setShow(showFromProps)\n }\n\n return () => {\n if (timerID) {\n clearTimeout(timerID)\n }\n }\n }, [showFromProps, delay])\n\n useEffect(() => {\n if (staticPositioning) {\n return\n }\n setPosition(intersectionEntry?.isIntersecting ? 'top' : 'bottom')\n }, [intersectionEntry, staticPositioning])\n\n // The first aside is always on top. The purpose of that is that it can reliably be used for the interaction observer (as it's not moving around), to calculate the position of the actual tooltip.\n return (\n <React.Fragment>\n {!staticPositioning && (\n <aside\n aria-hidden=\"true\"\n className={['tooltip', className, `tooltip--caret-${alignCaret}`, 'tooltip--position-top']\n .filter(Boolean)\n .join(' ')}\n ref={ref}\n style={{ opacity: '0' }}\n >\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n )}\n <aside\n className={[\n 'tooltip',\n className,\n show && 'tooltip--show',\n `tooltip--caret-${alignCaret}`,\n `tooltip--position-${positionFromProps || position}`,\n ]\n .filter(Boolean)\n .join(' ')}\n title={getTitleAttribute(children)}\n >\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAEjC,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAgBP,OAAO,MAAMC,OAAA,GAA2BC,KAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACtC;IAAAO,UAAA,EAAAC,EAAA;IAAAC,WAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,KAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC,iBAAA;IAAAC,IAAA,EAAAC,EAAA;IAAAC,iBAAA,EAAAC;EAAA,IASId,KAAA;EARF,MAAAE,UAAA,GAAAC,EAAqB,KAAAY,SAAA,GAAR,QAAQ,GAArBZ,EAAqB;EAIrB,MAAAI,KAAA,GAAAC,EAAW,KAAAO,SAAA,SAAXP,EAAW;EAEL,MAAAQ,aAAA,GAAAJ,EAAoB,KAAAG,SAAA,UAApBH,EAAoB;EAC1B,MAAAC,iBAAA,GAAAC,EAAyB,KAAAC,SAAA,WAAzBD,EAAyB;EAG3B,OAAAH,IAAA,EAAAM,OAAA,IAAwBrB,KAAA,CAAAsB,QAAA,CAAeF,aAAA;EACvC,OAAAP,QAAA,EAAAU,WAAA,IAAgCvB,KAAA,CAAAsB,QAAA,CAAiC;EAEjE,MAAAE,iBAAA,GAAAC,KAAA;EAIU,MAAAC,EAAA,GAAAlB,WAAA,EAAAmB,OAAA,QAAwB;EAAA,IAAAC,EAAA;EAAA,IAAAvB,CAAA,QAAAqB,EAAA;IADhCE,EAAA;MAAAC,IAAA,EACQH,EAAwB;MAAAI,UAAA,EAClB;MAAAC,SAAA;IAAA;IAEd1B,CAAA,MAAAqB,EAAA;IAAArB,CAAA,MAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EALF,OAAA2B,GAAA,EAAAC,iBAAA,IAAiC/B,YAAA,CAC/B0B,EAIA,EACAX,iBAAA;EAAA,IAAAiB,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA9B,CAAA,QAAAM,KAAA,IAAAN,CAAA,QAAAe,aAAA;IAGQc,EAAA,GAAAA,CAAA;MACJE,GAAA,CAAAA,OAAA;MAAA,IAGAzB,KAAA,IAASS,aAAA;QACXgB,OAAA,CAAAA,CAAA,CAAUA,aAAA,CAAAA,EAAA,CAAAA;UACRf,OAAA,CAAQD,aAAA;QAAA,GACPT,KAAA;MAFH;QAIAU,OAAA,CAAQD,aAAA;MAAA;MAAA;QAAA,IAIJgB,OAAA;UACFC,YAAA,CAAaD,OAAA;QAAA;MAAA;IAAA;IAGhBD,EAAA,IAACf,aAAA,EAAeT,KAAA;IAAMN,CAAA,MAAAM,KAAA;IAAAN,CAAA,MAAAe,aAAA;IAAAf,CAAA,MAAA6B,EAAA;IAAA7B,CAAA,MAAA8B,EAAA;EAAA;IAAAD,EAAA,GAAA7B,CAAA;IAAA8B,EAAA,GAAA9B,CAAA;EAAA;EAjBzBJ,SAAA,CAAUiC,EAiBV,EAAGC,EAAsB;EAAA,IAAAG,EAAA;EAAA,IAAAjC,CAAA,QAAA4B,iBAAA,EAAAM,cAAA,IAAAlC,CAAA,QAAAY,iBAAA;IAEfqB,EAAA,GAAAA,CAAA;MAAA,IACJrB,iBAAA;QAAA;MAAA;MAGJM,WAAA,CAAYU,iBAAA,EAAAM,cAAA,GAAoC,QAAQ;IAAA;IAC1DlC,CAAA,MAAA4B,iBAAA,EAAAM,cAAA;IAAAlC,CAAA,MAAAY,iBAAA;IAAAZ,CAAA,MAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAAA,IAAAmC,EAAA;EAAA,IAAAnC,CAAA,QAAA4B,iBAAA,IAAA5B,CAAA,SAAAY,iBAAA;IAAGuB,EAAA,IAACP,iBAAA,EAAmBhB,iBAAA;IAAkBZ,CAAA,MAAA4B,iBAAA;IAAA5B,CAAA,OAAAY,iBAAA;IAAAZ,CAAA,OAAAmC,EAAA;EAAA;IAAAA,EAAA,GAAAnC,CAAA;EAAA;EALzCJ,SAAA,CAAUqC,EAKV,EAAGE,EAAsC;EAAA,IAAAC,GAAA;EAAA,IAAApC,CAAA,SAAAC,UAAA,IAAAD,CAAA,SAAAI,QAAA,IAAAJ,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAQ,QAAA,IAAAR,CAAA,SAAAS,iBAAA,IAAAT,CAAA,SAAA2B,GAAA,IAAA3B,CAAA,SAAAU,IAAA,IAAAV,CAAA,SAAAY,iBAAA;IAqBjC,MAAAyB,GAAA,GAAA3B,IAAA,IAAQ;IACR,MAAA4B,GAAA,qBAAkBrC,UAAA,EAAY;IAC9B,MAAAsC,GAAA,wBAAqB9B,iBAAA,IAAqBD,QAAA,EAAU;IAAA,IAAAgC,GAAA;IAAA,IAAAxC,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAqC,GAAA,IAAArC,CAAA,SAAAsC,GAAA,IAAAtC,CAAA,SAAAuC,GAAA;MAL3CC,GAAA,IACT,WACAnC,SAAA,EACAgC,GAAQ,EACRC,GAA8B,EAC9BC,GAAoD,EAAAE,MAAA,CAAAC,OAE5C;MAAA1C,CAAA,OAAAK,SAAA;MAAAL,CAAA,OAAAqC,GAAA;MAAArC,CAAA,OAAAsC,GAAA;MAAAtC,CAAA,OAAAuC,GAAA;MAAAvC,CAAA,OAAAwC,GAAA;IAAA;MAAAA,GAAA,GAAAxC,CAAA;IAAA;IArBdoC,GAAA,GAAAO,KAAA,CAAAhD,KAAA,CAAAiD,QAAA;MAAAxC,QAAA,GACG,CAACQ,iBAAA,IACAiC,IAAA,CAAC;QAAA,eACa;QAAAxC,SAAA,EACD,CAAC,WAAWA,SAAA,EAAW,kBAAkBJ,UAAA,EAAY,EAAE,yBAAAwC,MAAA,CAAAC,OACxD,EAAAI,IAAA,CACF;QAAAnB,GAAA;QAAAoB,KAAA;UAAAC,OAAA,EAEU;QAAA;QAAA5C,QAAA,EAElByC,IAAA,CAAC;UAAAxC,SAAA,EAAc;UAAAD;QAAA,C;UAGnByC,IAAA,CAAC;QAAAxC,SAAA,EACYmC,GAOD,CAAAM,IAAA,CACF;QAAAG,KAAA,EACD9B,iBAAA,CAAkBf,QAAA;QAAAA,QAAA,EAEzByC,IAAA,CAAC;UAAAxC,SAAA,EAAc;UAAAD;QAAA,C;;;;;;;;;;;;;;;SAzBnBgC,G;CA6BJ;AAnFwC,SAAAhB,MAAA8B,OAAA;EAAA,OAeE,OAAOA,OAAA,KAAY,WAAWA,OAAA,GAAU;AAAA","ignoreList":[]}
|
|
@@ -91,6 +91,7 @@ export { EditUpload } from '../../elements/EditUpload/index.js';
|
|
|
91
91
|
export { FileDetails } from '../../elements/FileDetails/index.js';
|
|
92
92
|
export { PreviewSizes } from '../../elements/PreviewSizes/index.js';
|
|
93
93
|
export { PreviewButton } from '../../elements/PreviewButton/index.js';
|
|
94
|
+
export { RelationshipTable } from '../../elements/RelationshipTable/index.js';
|
|
94
95
|
export { BlocksDrawer } from '../../fields/Blocks/BlocksDrawer/index.js';
|
|
95
96
|
export { SectionTitle } from '../../fields/Blocks/SectionTitle/index.js';
|
|
96
97
|
export { HiddenField } from '../../fields/Hidden/index.js';
|