@payloadcms/ui 3.1.2-canary.eb1a61e → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/CopyLocaleData/index.d.ts +4 -0
  4. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -0
  5. package/dist/elements/CopyLocaleData/index.js +182 -0
  6. package/dist/elements/CopyLocaleData/index.js.map +1 -0
  7. package/dist/elements/CopyLocaleData/index.scss +24 -0
  8. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  9. package/dist/elements/DocumentControls/index.js +3 -1
  10. package/dist/elements/DocumentControls/index.js.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  12. package/dist/elements/DocumentDrawer/DrawerContent.js +3 -1
  13. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  14. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentDrawer/index.js +30 -27
  16. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  17. package/dist/elements/DocumentDrawer/types.d.ts +2 -0
  18. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  19. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  20. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  21. package/dist/elements/ListDrawer/DrawerContent.js +3 -1
  22. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  23. package/dist/elements/ListDrawer/types.d.ts +2 -0
  24. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  25. package/dist/elements/ListDrawer/types.js.map +1 -1
  26. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  27. package/dist/elements/Popup/PopupTrigger/index.js +5 -0
  28. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  29. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  30. package/dist/elements/RelationshipTable/index.js +1 -0
  31. package/dist/elements/RelationshipTable/index.js.map +1 -1
  32. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  33. package/dist/elements/SearchFilter/index.js +0 -1
  34. package/dist/elements/SearchFilter/index.js.map +1 -1
  35. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  36. package/dist/elements/Thumbnail/index.js.map +1 -1
  37. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  38. package/dist/elements/WhereBuilder/index.js.map +1 -1
  39. package/dist/exports/client/index.d.ts +1 -0
  40. package/dist/exports/client/index.d.ts.map +1 -1
  41. package/dist/exports/client/index.js +10 -10
  42. package/dist/exports/client/index.js.map +4 -4
  43. package/dist/exports/rsc/index.d.ts +1 -0
  44. package/dist/exports/rsc/index.d.ts.map +1 -1
  45. package/dist/exports/rsc/index.js +1 -0
  46. package/dist/exports/rsc/index.js.map +1 -1
  47. package/dist/fields/Join/index.d.ts.map +1 -1
  48. package/dist/fields/Join/index.js +1 -0
  49. package/dist/fields/Join/index.js.map +1 -1
  50. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  51. package/dist/providers/ListQuery/index.js +0 -1
  52. package/dist/providers/ListQuery/index.js.map +1 -1
  53. package/dist/providers/Selection/index.d.ts.map +1 -1
  54. package/dist/providers/Selection/index.js +0 -4
  55. package/dist/providers/Selection/index.js.map +1 -1
  56. package/dist/providers/ServerFunctions/index.d.ts +8 -0
  57. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  58. package/dist/providers/ServerFunctions/index.js +19 -0
  59. package/dist/providers/ServerFunctions/index.js.map +1 -1
  60. package/dist/styles.css +1 -1
  61. package/dist/utilities/copyDataFromLocale.d.ts +13 -0
  62. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -0
  63. package/dist/utilities/copyDataFromLocale.js +195 -0
  64. package/dist/utilities/copyDataFromLocale.js.map +1 -0
  65. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AddNewRelation/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqD,MAAM,OAAO,CAAA;AAIzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmM1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AddNewRelation/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqD,MAAM,OAAO,CAAA;AAIzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsM1C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","Popup","PopupList","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","collection","t9","t10","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","filter","Boolean","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup } from '../Popup/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n const relatedToMany = relatedCollections.length > 1\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentDrawerContextType['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n unstyled && `${baseClass}__add-button--unstyled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig && permissions.collections[collectionConfig?.slug]?.create && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","Popup","PopupList","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","collection","t9","t10","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","filter","Boolean","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup } from '../Popup/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n\n const relatedToMany = relatedCollections.length > 1\n\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentDrawerContextType['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n unstyled && `${baseClass}__add-button--unstyled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig && permissions.collections[collectionConfig?.slug]?.create && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ export declare const CopyLocaleData: React.FC;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,182 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { useModal } from '@faceless-ui/modal';
5
+ import { useRouter } from 'next/navigation.js';
6
+ import React, { useCallback } from 'react';
7
+ import { toast } from 'sonner';
8
+ import { CheckboxField } from '../../fields/Checkbox/index.js';
9
+ import { SelectInput } from '../../fields/Select/index.js';
10
+ import { useFormModified } from '../../forms/Form/context.js';
11
+ import { useConfig } from '../../providers/Config/index.js';
12
+ import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
13
+ import { useLocale } from '../../providers/Locale/index.js';
14
+ import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
15
+ import { useTranslation } from '../../providers/Translation/index.js';
16
+ import { DrawerHeader } from '../BulkUpload/Header/index.js';
17
+ import { Button } from '../Button/index.js';
18
+ import { Drawer } from '../Drawer/index.js';
19
+ import { PopupList } from '../Popup/index.js';
20
+ import './index.scss';
21
+ const baseClass = 'copy-locale-data';
22
+ const drawerSlug = 'copy-locale';
23
+ export const CopyLocaleData = () => {
24
+ const {
25
+ config: {
26
+ localization,
27
+ routes: {
28
+ admin
29
+ },
30
+ serverURL
31
+ }
32
+ } = useConfig();
33
+ const {
34
+ code
35
+ } = useLocale();
36
+ const {
37
+ id,
38
+ collectionSlug,
39
+ globalSlug
40
+ } = useDocumentInfo();
41
+ const {
42
+ t
43
+ } = useTranslation();
44
+ const modified = useFormModified();
45
+ const {
46
+ toggleModal
47
+ } = useModal();
48
+ const {
49
+ copyDataFromLocale
50
+ } = useServerFunctions();
51
+ const router = useRouter();
52
+ const localeOptions = localization && localization.locales.map(locale => ({
53
+ label: locale.label,
54
+ value: locale.code
55
+ })) || [];
56
+ const localeOptionsWithoutCurrent = localeOptions.filter(locale_0 => locale_0.value !== code);
57
+ const getLocaleLabel = code_0 => {
58
+ const locale_1 = localization && localization.locales.find(l => l.code === code_0);
59
+ return locale_1 && locale_1.label ? locale_1.label : code_0;
60
+ };
61
+ const [copying, setCopying] = React.useState(false);
62
+ const [toLocale, setToLocale] = React.useState(null);
63
+ const [fromLocale, setFromLocale] = React.useState(code);
64
+ const [overwriteExisting, setOverwriteExisting] = React.useState(false);
65
+ React.useEffect(() => {
66
+ if (fromLocale !== code) {
67
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
68
+ setFromLocale(code);
69
+ }
70
+ }, [code, fromLocale]);
71
+ const copyLocaleData = useCallback(async ({
72
+ from,
73
+ to
74
+ }) => {
75
+ setCopying(true);
76
+ try {
77
+ await copyDataFromLocale({
78
+ collectionSlug,
79
+ docID: id,
80
+ fromLocale: from,
81
+ globalSlug,
82
+ overrideData: overwriteExisting,
83
+ toLocale: to
84
+ });
85
+ setCopying(false);
86
+ toggleModal(drawerSlug);
87
+ router.push(`${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`);
88
+ } catch (error) {
89
+ toast.error(error.message);
90
+ }
91
+ }, [copyDataFromLocale, collectionSlug, id, globalSlug, overwriteExisting, toggleModal, router, serverURL, admin]);
92
+ if (!id && !globalSlug) {
93
+ return null;
94
+ }
95
+ return /*#__PURE__*/_jsxs(React.Fragment, {
96
+ children: [/*#__PURE__*/_jsx(PopupList.Button, {
97
+ id: `${baseClass}__button`,
98
+ onClick: () => {
99
+ if (modified) {
100
+ toast.info(t('general:unsavedChanges'));
101
+ } else {
102
+ toggleModal(drawerSlug);
103
+ }
104
+ },
105
+ children: t('localization:copyToLocale')
106
+ }), /*#__PURE__*/_jsxs(Drawer, {
107
+ className: baseClass,
108
+ gutter: false,
109
+ Header: /*#__PURE__*/_jsx(DrawerHeader, {
110
+ onClose: () => {
111
+ toggleModal(drawerSlug);
112
+ },
113
+ title: t('localization:copyToLocale')
114
+ }),
115
+ slug: drawerSlug,
116
+ children: [/*#__PURE__*/_jsxs("div", {
117
+ className: `${baseClass}__sub-header`,
118
+ children: [/*#__PURE__*/_jsx("span", {
119
+ children: fromLocale && toLocale ? /*#__PURE__*/_jsx("div", {
120
+ children: t('localization:copyFromTo', {
121
+ from: getLocaleLabel(fromLocale),
122
+ to: getLocaleLabel(toLocale)
123
+ })
124
+ }) : t('localization:selectLocaleToCopy')
125
+ }), /*#__PURE__*/_jsx(Button, {
126
+ buttonStyle: "primary",
127
+ disabled: !fromLocale || !toLocale,
128
+ iconPosition: "left",
129
+ onClick: async () => {
130
+ if (fromLocale === toLocale) {
131
+ toast.error(t('localization:cannotCopySameLocale'));
132
+ return;
133
+ }
134
+ if (!copying) {
135
+ await copyLocaleData({
136
+ from: fromLocale,
137
+ to: toLocale
138
+ });
139
+ }
140
+ },
141
+ size: "medium",
142
+ children: copying ? t('general:copying') + '...' : t('general:copy')
143
+ })]
144
+ }), /*#__PURE__*/_jsxs("div", {
145
+ className: `${baseClass}__content`,
146
+ children: [/*#__PURE__*/_jsx(SelectInput, {
147
+ label: t('localization:copyFrom'),
148
+ name: 'fromLocale',
149
+ onChange: selectedOption => {
150
+ if (selectedOption?.value) {
151
+ setFromLocale(selectedOption.value);
152
+ }
153
+ },
154
+ options: localeOptions,
155
+ path: "fromLocale",
156
+ readOnly: true,
157
+ value: fromLocale
158
+ }), /*#__PURE__*/_jsx(SelectInput, {
159
+ label: t('localization:copyTo'),
160
+ name: "toLocale",
161
+ onChange: selectedOption_0 => {
162
+ if (selectedOption_0?.value) {
163
+ setToLocale(selectedOption_0.value);
164
+ }
165
+ },
166
+ options: localeOptionsWithoutCurrent,
167
+ path: "toLocale",
168
+ value: toLocale
169
+ }), /*#__PURE__*/_jsx(CheckboxField, {
170
+ checked: overwriteExisting,
171
+ field: {
172
+ name: 'overwriteExisting',
173
+ label: t('general:overwriteExistingData')
174
+ },
175
+ onChange: () => setOverwriteExisting(!overwriteExisting),
176
+ path: 'overwriteExisting'
177
+ })]
178
+ })]
179
+ })]
180
+ });
181
+ };
182
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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":[]}
@@ -0,0 +1,24 @@
1
+ @import '../../scss/styles.scss';
2
+
3
+ .copy-locale-data {
4
+ &__sub-header {
5
+ padding: 0 var(--gutter-h);
6
+ display: flex;
7
+ justify-content: space-between;
8
+ align-items: center;
9
+ border-bottom: 1px solid var(--theme-border-color);
10
+ }
11
+
12
+ &__content {
13
+ padding: calc(var(--base) * 1.5) var(--gutter-h);
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: var(--base);
17
+
18
+ > * {
19
+ display: flex;
20
+ flex-direction: column;
21
+ gap: calc(var(--base) * 0.25);
22
+ }
23
+ }
24
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,UAAU,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAoB9E,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3C,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAA;IACnB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEvC,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,6BAA6B,GAAG,yBAAyB,CAAA;IACtF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC3B,CAsPA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,UAAU,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAqB9E,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3C,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAA;IACnB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEvC,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,6BAA6B,GAAG,yBAAyB,CAAA;IACtF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC3B,CAwPA,CAAA"}
@@ -11,6 +11,7 @@ import { formatAdminURL } from '../../utilities/formatAdminURL.js';
11
11
  import { formatDate } from '../../utilities/formatDate.js';
12
12
  import { Autosave } from '../Autosave/index.js';
13
13
  import { Button } from '../Button/index.js';
14
+ import { CopyLocaleData } from '../CopyLocaleData/index.js';
14
15
  import { DeleteDocument } from '../DeleteDocument/index.js';
15
16
  import { DuplicateDocument } from '../DuplicateDocument/index.js';
16
17
  import { Gutter } from '../Gutter/index.js';
@@ -77,6 +78,7 @@ export const DocumentControls = props => {
77
78
  });
78
79
  const {
79
80
  admin: t2,
81
+ localization,
80
82
  routes: t3
81
83
  } = config;
82
84
  const {
@@ -236,7 +238,7 @@ export const DocumentControls = props => {
236
238
  size: "large",
237
239
  verticalAlign: "bottom",
238
240
  children: _jsxs(PopupList.ButtonGroup, {
239
- children: [hasCreatePermission && _jsxs(React.Fragment, {
241
+ children: [localization && _jsx(CopyLocaleData, {}), hasCreatePermission && _jsxs(React.Fragment, {
240
242
  children: [!disableCreate && _jsx(Fragment, {
241
243
  children: editDepth > 1 ? _jsx(PopupList.Button, {
242
244
  id: "action-create",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useEffect","useConfig","useEditDepth","useTranslation","formatAdminURL","formatDate","Autosave","Button","DeleteDocument","DuplicateDocument","Gutter","Locked","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","customComponents","t0","data","disableActions","disableCreate","hasSavePermission","isAccountView","isEditing","onDelete","onDrawerCreateNew","onDuplicate","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","user","t1","undefined","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","admin","t2","routes","t3","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","t4","t5","date","pattern","hasCreatePermission","create","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","autosaveEnabled","autosave","t6","_jsx","className","t7","buttonStyle","onClick","size","type","children","_jsxs","label","labels","singular","filter","join","collection","global","publishedDocUpdatedAt","timestamps","title","preview","CustomComponent","Fallback","button","horizontalAlign","verticalAlign","ButtonGroup","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { formatDate } from '../../utilities/formatDate.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n }\n readonly data?: any\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n}> = (props) => {\n const {\n id,\n slug,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n hasSavePermission,\n isAccountView,\n isEditing,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n user,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug: slug }) as ClientGlobalConfig\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const hasDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const autosaveEnabled =\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n {user && readOnlyForIncomingUser && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {hasSavePermission && autosaveEnabled && !unsavedDraftWithValidations && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasSavePermission && (\n <Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <Fragment>\n {(unsavedDraftWithValidations || !autosaveEnabled) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useEffect","useConfig","useEditDepth","useTranslation","formatAdminURL","formatDate","Autosave","Button","CopyLocaleData","DeleteDocument","DuplicateDocument","Gutter","Locked","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","customComponents","t0","data","disableActions","disableCreate","hasSavePermission","isAccountView","isEditing","onDelete","onDrawerCreateNew","onDuplicate","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","user","t1","undefined","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","admin","t2","localization","routes","t3","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","t4","t5","date","pattern","hasCreatePermission","create","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","autosaveEnabled","autosave","t6","_jsx","className","t7","buttonStyle","onClick","size","type","children","_jsxs","label","labels","singular","filter","join","collection","global","publishedDocUpdatedAt","timestamps","title","preview","CustomComponent","Fallback","button","horizontalAlign","verticalAlign","ButtonGroup","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { formatDate } from '../../utilities/formatDate.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { CopyLocaleData } from '../CopyLocaleData/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n }\n readonly data?: any\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n}> = (props) => {\n const {\n id,\n slug,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n hasSavePermission,\n isAccountView,\n isEditing,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n user,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug: slug }) as ClientGlobalConfig\n\n const {\n admin: { dateFormat },\n localization,\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const hasDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const autosaveEnabled =\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n {user && readOnlyForIncomingUser && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {hasSavePermission && autosaveEnabled && !unsavedDraftWithValidations && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasSavePermission && (\n <Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <Fragment>\n {(unsavedDraftWithValidations || !autosaveEnabled) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {localization && <CopyLocaleData />}\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AASrD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8J/D,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AASrD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiK/D,CAAA"}
@@ -22,6 +22,7 @@ export const DocumentDrawerContent = ({
22
22
  onDelete: onDeleteFromProps,
23
23
  onDuplicate: onDuplicateFromProps,
24
24
  onSave: onSaveFromProps,
25
+ overrideEntityVisibility = true,
25
26
  redirectAfterDelete,
26
27
  redirectAfterDuplicate
27
28
  }) => {
@@ -57,6 +58,7 @@ export const DocumentDrawerContent = ({
57
58
  docID,
58
59
  drawerSlug,
59
60
  initialData,
61
+ overrideEntityVisibility,
60
62
  redirectAfterDelete: redirectAfterDelete !== undefined ? redirectAfterDelete : false,
61
63
  redirectAfterDuplicate: redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false,
62
64
  signal: controller.signal
@@ -72,7 +74,7 @@ export const DocumentDrawerContent = ({
72
74
  }
73
75
  };
74
76
  void fetchDocumentView();
75
- }, [collectionSlug, disableActions, drawerSlug, initialData, redirectAfterDelete, redirectAfterDuplicate, renderDocument, closeModal, t]);
77
+ }, [collectionSlug, disableActions, drawerSlug, initialData, redirectAfterDelete, redirectAfterDuplicate, renderDocument, closeModal, overrideEntityVisibility, t]);
76
78
  const onSave = useCallback(args => {
77
79
  getDocumentView(args.doc.id);
78
80
  if (typeof onSaveFromProps === 'function') {
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useRef","useState","toast","LoadingOverlay","useConfig","useServerFunctions","useTranslation","abortAndIgnore","DocumentDrawerContextProvider","DocumentDrawerContent","id","existingDocID","AfterFields","collectionSlug","disableActions","drawerSlug","Header","initialData","initialState","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","redirectAfterDelete","redirectAfterDuplicate","config","collections","collectionConfig","find","collection","slug","documentViewAbortControllerRef","closeModal","t","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasRenderedDocument","getDocumentView","docID","current","controller","AbortController","fetchDocumentView","result","signal","Document","error","message","args","doc","clearDoc","_jsx"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\nimport { DocumentDrawerContextProvider } from './Provider.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n AfterFields,\n collectionSlug,\n disableActions,\n drawerSlug,\n Header,\n initialData,\n initialState,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n redirectAfterDelete,\n redirectAfterDuplicate,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n\n const [collectionConfig] = useState(() =>\n collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const documentViewAbortControllerRef = React.useRef<AbortController>(null)\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n const hasRenderedDocument = useRef(false)\n\n const getDocumentView = useCallback(\n (docID?: number | string) => {\n abortAndIgnore(documentViewAbortControllerRef.current)\n\n const controller = new AbortController()\n documentViewAbortControllerRef.current = controller\n\n const fetchDocumentView = async () => {\n setIsLoading(true)\n\n try {\n const result = await renderDocument({\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n redirectAfterDelete: redirectAfterDelete !== undefined ? redirectAfterDelete : false,\n redirectAfterDuplicate:\n redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false,\n signal: controller.signal,\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n // toast.error(data?.errors?.[0].message || t('error:unspecific'))\n }\n }\n\n void fetchDocumentView()\n },\n [\n collectionSlug,\n disableActions,\n drawerSlug,\n initialData,\n redirectAfterDelete,\n redirectAfterDuplicate,\n renderDocument,\n closeModal,\n t,\n ],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig, getDocumentView],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onDuplicate']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig, getDocumentView],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n if (typeof onDeleteFromProps === 'function') {\n void onDeleteFromProps({\n ...args,\n collectionConfig,\n })\n }\n\n closeModal(drawerSlug)\n },\n [onDeleteFromProps, closeModal, drawerSlug, collectionConfig],\n )\n\n const clearDoc = useCallback(() => {\n getDocumentView()\n }, [getDocumentView])\n\n useEffect(() => {\n if (!DocumentView && !hasRenderedDocument.current) {\n getDocumentView(existingDocID)\n hasRenderedDocument.current = true\n }\n }, [DocumentView, getDocumentView, existingDocID])\n\n // Cleanup any pending requests when the component unmounts\n useEffect(() => {\n return () => {\n abortAndIgnore(documentViewAbortControllerRef.current)\n }\n }, [])\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <DocumentDrawerContextProvider\n clearDoc={clearDoc}\n drawerSlug={drawerSlug}\n onDelete={onDelete}\n onDuplicate={onDuplicate}\n onSave={onSave}\n >\n {DocumentView}\n </DocumentDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useRef","useState","toast","LoadingOverlay","useConfig","useServerFunctions","useTranslation","abortAndIgnore","DocumentDrawerContextProvider","DocumentDrawerContent","id","existingDocID","AfterFields","collectionSlug","disableActions","drawerSlug","Header","initialData","initialState","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","overrideEntityVisibility","redirectAfterDelete","redirectAfterDuplicate","config","collections","collectionConfig","find","collection","slug","documentViewAbortControllerRef","closeModal","t","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasRenderedDocument","getDocumentView","docID","current","controller","AbortController","fetchDocumentView","result","signal","Document","error","message","args","doc","clearDoc","_jsx"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\nimport { DocumentDrawerContextProvider } from './Provider.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n AfterFields,\n collectionSlug,\n disableActions,\n drawerSlug,\n Header,\n initialData,\n initialState,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n overrideEntityVisibility = true,\n redirectAfterDelete,\n redirectAfterDuplicate,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n\n const [collectionConfig] = useState(() =>\n collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const documentViewAbortControllerRef = React.useRef<AbortController>(null)\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n const hasRenderedDocument = useRef(false)\n\n const getDocumentView = useCallback(\n (docID?: number | string) => {\n abortAndIgnore(documentViewAbortControllerRef.current)\n\n const controller = new AbortController()\n documentViewAbortControllerRef.current = controller\n\n const fetchDocumentView = async () => {\n setIsLoading(true)\n\n try {\n const result = await renderDocument({\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n overrideEntityVisibility,\n redirectAfterDelete: redirectAfterDelete !== undefined ? redirectAfterDelete : false,\n redirectAfterDuplicate:\n redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false,\n signal: controller.signal,\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n // toast.error(data?.errors?.[0].message || t('error:unspecific'))\n }\n }\n\n void fetchDocumentView()\n },\n [\n collectionSlug,\n disableActions,\n drawerSlug,\n initialData,\n redirectAfterDelete,\n redirectAfterDuplicate,\n renderDocument,\n closeModal,\n overrideEntityVisibility,\n t,\n ],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig, getDocumentView],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onDuplicate']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig, getDocumentView],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n if (typeof onDeleteFromProps === 'function') {\n void onDeleteFromProps({\n ...args,\n collectionConfig,\n })\n }\n\n closeModal(drawerSlug)\n },\n [onDeleteFromProps, closeModal, drawerSlug, collectionConfig],\n )\n\n const clearDoc = useCallback(() => {\n getDocumentView()\n }, [getDocumentView])\n\n useEffect(() => {\n if (!DocumentView && !hasRenderedDocument.current) {\n getDocumentView(existingDocID)\n hasRenderedDocument.current = true\n }\n }, [DocumentView, getDocumentView, existingDocID])\n\n // Cleanup any pending requests when the component unmounts\n useEffect(() => {\n return () => {\n abortAndIgnore(documentViewAbortControllerRef.current)\n }\n }, [])\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <DocumentDrawerContextProvider\n clearDoc={clearDoc}\n drawerSlug={drawerSlug}\n onDelete={onDelete}\n onDuplicate={onDuplicate}\n onSave={onSave}\n >\n {DocumentView}\n </DocumentDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAO9F,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,eAAe,CAAA;AAcrC,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA2BhE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAQxD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,iBAiE/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAO9F,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,eAAe,CAAA;AAcrC,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA2BhE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAQxD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,iBAsE/B,CAAA"}