@payloadcms/next 3.0.0-beta.106 → 3.0.0-beta.108
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/cjs/withPayload.js +4 -4
- package/dist/cjs/withPayload.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +28 -24
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts +12 -0
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
- package/dist/elements/DocumentLocked/index.js +142 -0
- package/dist/elements/DocumentLocked/index.js.map +1 -0
- package/dist/elements/DocumentLocked/index.scss +37 -0
- package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
- package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
- package/dist/elements/DocumentTakeOver/index.js +98 -0
- package/dist/elements/DocumentTakeOver/index.js.map +1 -0
- package/dist/elements/DocumentTakeOver/index.scss +37 -0
- package/dist/elements/Nav/NavWrapper/index.scss +5 -0
- package/dist/elements/Nav/index.scss +5 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +52 -20
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/rest/collections/find.d.ts.map +1 -1
- package/dist/routes/rest/collections/find.js +3 -0
- package/dist/routes/rest/collections/find.js.map +1 -1
- package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/findByID.js +2 -0
- package/dist/routes/rest/collections/findByID.js.map +1 -1
- package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/updateByID.js +2 -0
- package/dist/routes/rest/collections/updateByID.js.map +1 -1
- package/dist/routes/rest/globals/update.d.ts.map +1 -1
- package/dist/routes/rest/globals/update.js +2 -0
- package/dist/routes/rest/globals/update.js.map +1 -1
- package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
- package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
- package/dist/routes/rest/utilities/sanitizeJoinParams.js +17 -0
- package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +18 -6
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Default/index.scss +13 -3
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +22 -32
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initReq.d.ts +11 -0
- package/dist/utilities/initReq.d.ts.map +1 -0
- package/dist/utilities/initReq.js +46 -0
- package/dist/utilities/initReq.js.map +1 -0
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +4 -1
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts +8 -1
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js +14 -2
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.scss +5 -0
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +16 -1
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +5 -2
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +13 -2
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +162 -14
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +3 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/List/Default/index.d.ts.map +1 -1
- package/dist/views/List/Default/index.js +62 -58
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/Default/index.scss +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +1 -0
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +4 -1
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.js +119 -74
- package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +2 -2
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +2 -0
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +24 -3
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/types.d.ts +1 -0
- package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +63 -48
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +48 -20
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +23 -6
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +4 -4
- package/dist/withPayload.js.map +1 -1
- package/package.json +24 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["c","_c","DocumentControls","DocumentFields","Form","OperationProvider","SetViewActions","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useTranslation","getFormState","React","Fragment","useCallback","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","t0","$","apiRoute","collectionConfig","config","fields","globalConfig","schemaPath","serverURL","id","action","AfterDocument","AfterFields","apiURL","BeforeDocument","BeforeFields","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","isEditing","isInitializing","onSave","onSaveFromProps","operation","t1","admin","t2","user","userSlug","t","previewWindowType","refreshCookieAsync","reportUpdate","t3","json","entitySlug","updatedAt","result","Date","toISOString","t4","t5","formState","prevFormState","docPreferences","body","onChange","t6","t7","t8","versions","drafts","autosave","_jsx","t9","globalLabel","label","pluralLabel","labels","plural","undefined","useAsTitle","view","t10","fallback","toString","t11","data","permissions","slug","t12","t13","filter","Boolean","t14","join","t15","t16","children","_jsxs","className","disabled","method","onSuccess","forceSidebarWrap","readOnly","LivePreviewClient","props","breakpoints","url","getEntityConfig","routes","api","eventType","isPopupOpen","openPopupWindow","popupRef","actions","components","views","edit","livePreview","fieldSchema"],"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n ClientGlobalConfig,\n Data,\n LivePreviewConfig,\n} from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n OperationProvider,\n SetViewActions,\n useAuth,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js'\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport './index.scss'\nimport { LivePreview } from './Preview/index.js'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n readonly apiRoute: string\n readonly collectionConfig?: ClientCollectionConfig\n readonly config: ClientConfig\n readonly fields: ClientField[]\n readonly globalConfig?: ClientGlobalConfig\n readonly schemaPath: string\n readonly serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fields,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeDocument,\n BeforeFields,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromProps,\n } = useDocumentInfo()\n\n const operation = id ? 'update' : 'create'\n\n const {\n config: {\n admin: { user: userSlug },\n },\n } = useConfig()\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n const { refreshCookieAsync, user } = useAuth()\n const { reportUpdate } = useDocumentEvents()\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [collectionSlug, id, onSaveFromProps, refreshCookieAsync, reportUpdate, user, userSlug],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n docPreferences,\n formState: prevFormState,\n operation,\n schemaPath,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, schemaPath, getDocPreferences],\n )\n\n return (\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={!hasSavePermission}\n initialState={initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeDocument}\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fields={fields}\n forceSidebarWrap\n readOnly={!hasSavePermission}\n schemaPath={collectionSlug || globalSlug}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n config,\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const schemaPath = collectionSlug || globalSlug\n\n return (\n <Fragment>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.livePreview?.actions\n }\n />\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["c","_c","DocumentControls","DocumentFields","Form","OperationProvider","SetViewActions","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useTranslation","getFormState","React","Fragment","useCallback","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","t0","$","apiRoute","collectionConfig","config","fields","globalConfig","schemaPath","serverURL","id","action","AfterDocument","AfterFields","apiURL","BeforeDocument","BeforeFields","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","isEditing","isInitializing","onSave","onSaveFromProps","operation","t1","admin","t2","user","userSlug","t","previewWindowType","refreshCookieAsync","reportUpdate","t3","json","entitySlug","updatedAt","result","Date","toISOString","t4","t5","formState","prevFormState","docPreferences","state","body","onChange","t6","t7","t8","versions","drafts","autosave","_jsx","t9","globalLabel","label","pluralLabel","labels","plural","undefined","useAsTitle","view","t10","fallback","toString","t11","data","permissions","slug","t12","t13","filter","Boolean","t14","join","t15","t16","children","_jsxs","className","disabled","method","onSuccess","forceSidebarWrap","readOnly","LivePreviewClient","props","breakpoints","url","getEntityConfig","routes","api","eventType","isPopupOpen","openPopupWindow","popupRef","actions","components","views","edit","livePreview","fieldSchema"],"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n ClientGlobalConfig,\n Data,\n LivePreviewConfig,\n} from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n OperationProvider,\n SetViewActions,\n useAuth,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js'\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport './index.scss'\nimport { LivePreview } from './Preview/index.js'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n readonly apiRoute: string\n readonly collectionConfig?: ClientCollectionConfig\n readonly config: ClientConfig\n readonly fields: ClientField[]\n readonly globalConfig?: ClientGlobalConfig\n readonly schemaPath: string\n readonly serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fields,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeDocument,\n BeforeFields,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromProps,\n } = useDocumentInfo()\n\n const operation = id ? 'update' : 'create'\n\n const {\n config: {\n admin: { user: userSlug },\n },\n } = useConfig()\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n const { refreshCookieAsync, user } = useAuth()\n const { reportUpdate } = useDocumentEvents()\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [collectionSlug, id, onSaveFromProps, refreshCookieAsync, reportUpdate, user, userSlug],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n apiRoute,\n body: {\n id,\n docPreferences,\n formState: prevFormState,\n operation,\n schemaPath,\n },\n serverURL,\n })\n\n return state\n },\n [serverURL, apiRoute, id, operation, schemaPath, getDocPreferences],\n )\n\n return (\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={!hasSavePermission}\n initialState={initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeDocument}\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fields={fields}\n forceSidebarWrap\n readOnly={!hasSavePermission}\n schemaPath={collectionSlug || globalSlug}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n config,\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const schemaPath = collectionSlug || globalSlug\n\n return (\n <Fragment>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.livePreview?.actions\n }\n />\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
3
4
|
import { useConfig } from '@payloadcms/ui';
|
|
4
5
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
5
6
|
export const usePopupWindow = props => {
|
|
7
|
+
const $ = _c(15);
|
|
6
8
|
const {
|
|
7
9
|
eventType,
|
|
8
10
|
onMessage,
|
|
@@ -11,89 +13,132 @@ export const usePopupWindow = props => {
|
|
|
11
13
|
const isReceivingMessage = useRef(false);
|
|
12
14
|
const [isOpen, setIsOpen] = useState(false);
|
|
13
15
|
const {
|
|
14
|
-
config:
|
|
15
|
-
serverURL
|
|
16
|
-
}
|
|
16
|
+
config: t0
|
|
17
17
|
} = useConfig();
|
|
18
|
+
const {
|
|
19
|
+
serverURL
|
|
20
|
+
} = t0;
|
|
18
21
|
const popupRef = useRef(null);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
isReceivingMessage.current
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
let t1;
|
|
23
|
+
let t2;
|
|
24
|
+
if ($[0] !== url || $[1] !== serverURL || $[2] !== onMessage || $[3] !== eventType || $[4] !== isOpen) {
|
|
25
|
+
t1 = () => {
|
|
26
|
+
const receiveMessage = async event => {
|
|
27
|
+
if (event.origin !== window.location.origin || event.origin !== url || event.origin !== serverURL) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (typeof onMessage === "function" && event.data?.type === eventType && !isReceivingMessage.current) {
|
|
31
|
+
isReceivingMessage.current = true;
|
|
32
|
+
await onMessage(event.data?.searchParams);
|
|
33
|
+
isReceivingMessage.current = false;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
if (isOpen && popupRef.current) {
|
|
37
|
+
window.addEventListener("message", receiveMessage, false);
|
|
30
38
|
}
|
|
39
|
+
return () => {
|
|
40
|
+
window.removeEventListener("message", receiveMessage);
|
|
41
|
+
};
|
|
31
42
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
43
|
+
t2 = [onMessage, eventType, url, serverURL, isOpen];
|
|
44
|
+
$[0] = url;
|
|
45
|
+
$[1] = serverURL;
|
|
46
|
+
$[2] = onMessage;
|
|
47
|
+
$[3] = eventType;
|
|
48
|
+
$[4] = isOpen;
|
|
49
|
+
$[5] = t1;
|
|
50
|
+
$[6] = t2;
|
|
51
|
+
} else {
|
|
52
|
+
t1 = $[5];
|
|
53
|
+
t2 = $[6];
|
|
54
|
+
}
|
|
55
|
+
useEffect(t1, t2);
|
|
56
|
+
let t3;
|
|
57
|
+
if ($[7] !== url) {
|
|
58
|
+
t3 = e => {
|
|
59
|
+
if (e) {
|
|
60
|
+
e.preventDefault();
|
|
61
|
+
}
|
|
62
|
+
const features = {
|
|
63
|
+
height: 700,
|
|
64
|
+
left: "auto",
|
|
65
|
+
menubar: "no",
|
|
66
|
+
popup: "yes",
|
|
67
|
+
toolbar: "no",
|
|
68
|
+
top: "auto",
|
|
69
|
+
width: 800
|
|
70
|
+
};
|
|
71
|
+
const popupOptions = Object.entries(features).reduce((str, t4) => {
|
|
72
|
+
const [key, value] = t4;
|
|
73
|
+
let strCopy = str;
|
|
74
|
+
if (value === "auto") {
|
|
75
|
+
if (key === "top") {
|
|
76
|
+
const v = Math.round(window.innerHeight / 2 - features.height / 2);
|
|
77
|
+
strCopy = strCopy + `top=${v},`;
|
|
78
|
+
} else {
|
|
79
|
+
if (key === "left") {
|
|
80
|
+
const v_0 = Math.round(window.innerWidth / 2 - features.width / 2);
|
|
81
|
+
strCopy = strCopy + `left=${v_0},`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return strCopy;
|
|
62
85
|
}
|
|
86
|
+
strCopy = strCopy + `${key}=${value},`;
|
|
63
87
|
return strCopy;
|
|
88
|
+
}, "").slice(0, -1);
|
|
89
|
+
const newWindow = window.open(url, "_blank", popupOptions);
|
|
90
|
+
popupRef.current = newWindow;
|
|
91
|
+
setIsOpen(true);
|
|
92
|
+
};
|
|
93
|
+
$[7] = url;
|
|
94
|
+
$[8] = t3;
|
|
95
|
+
} else {
|
|
96
|
+
t3 = $[8];
|
|
97
|
+
}
|
|
98
|
+
const openPopupWindow = t3;
|
|
99
|
+
let t4;
|
|
100
|
+
let t5;
|
|
101
|
+
if ($[9] !== isOpen) {
|
|
102
|
+
t4 = () => {
|
|
103
|
+
let timer;
|
|
104
|
+
if (isOpen) {
|
|
105
|
+
timer = setInterval(function () {
|
|
106
|
+
if (popupRef.current.closed) {
|
|
107
|
+
clearInterval(timer);
|
|
108
|
+
setIsOpen(false);
|
|
109
|
+
}
|
|
110
|
+
}, 1000);
|
|
111
|
+
} else {
|
|
112
|
+
clearInterval(timer);
|
|
64
113
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}, '').slice(0, -1) // remove last ',' (comma)
|
|
68
|
-
;
|
|
69
|
-
const newWindow = window.open(url, '_blank', popupOptions);
|
|
70
|
-
popupRef.current = newWindow;
|
|
71
|
-
setIsOpen(true);
|
|
72
|
-
}, [url]);
|
|
73
|
-
// this is the most stable and widely supported way to check if a popup window is no longer open
|
|
74
|
-
// we poll its ref every x ms and use the popup window's `closed` property
|
|
75
|
-
useEffect(() => {
|
|
76
|
-
let timer;
|
|
77
|
-
if (isOpen) {
|
|
78
|
-
timer = setInterval(function () {
|
|
79
|
-
if (popupRef.current.closed) {
|
|
114
|
+
return () => {
|
|
115
|
+
if (timer) {
|
|
80
116
|
clearInterval(timer);
|
|
81
|
-
setIsOpen(false);
|
|
82
117
|
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
t5 = [isOpen, popupRef];
|
|
121
|
+
$[9] = isOpen;
|
|
122
|
+
$[10] = t4;
|
|
123
|
+
$[11] = t5;
|
|
124
|
+
} else {
|
|
125
|
+
t4 = $[10];
|
|
126
|
+
t5 = $[11];
|
|
127
|
+
}
|
|
128
|
+
useEffect(t4, t5);
|
|
129
|
+
let t6;
|
|
130
|
+
if ($[12] !== isOpen || $[13] !== openPopupWindow) {
|
|
131
|
+
t6 = {
|
|
132
|
+
isPopupOpen: isOpen,
|
|
133
|
+
openPopupWindow,
|
|
134
|
+
popupRef
|
|
91
135
|
};
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
136
|
+
$[12] = isOpen;
|
|
137
|
+
$[13] = openPopupWindow;
|
|
138
|
+
$[14] = t6;
|
|
139
|
+
} else {
|
|
140
|
+
t6 = $[14];
|
|
141
|
+
}
|
|
142
|
+
return t6;
|
|
98
143
|
};
|
|
99
144
|
//# sourceMappingURL=usePopupWindow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePopupWindow.js","names":["useConfig","useCallback","useEffect","useRef","useState","usePopupWindow","props","eventType","onMessage","url","isReceivingMessage","isOpen","setIsOpen","config","serverURL","popupRef","receiveMessage","event","origin","window","location","data","type","current","searchParams","addEventListener","removeEventListener","
|
|
1
|
+
{"version":3,"file":"usePopupWindow.js","names":["c","_c","useConfig","useCallback","useEffect","useRef","useState","usePopupWindow","props","$","eventType","onMessage","url","isReceivingMessage","isOpen","setIsOpen","config","t0","serverURL","popupRef","t1","t2","receiveMessage","event","origin","window","location","data","type","current","searchParams","addEventListener","removeEventListener","t3","e","preventDefault","features","height","left","menubar","popup","toolbar","top","width","popupOptions","Object","entries","reduce","str","t4","key","value","strCopy","v","Math","round","innerHeight","v_0","innerWidth","slice","newWindow","open","openPopupWindow","t5","timer","closed","clearInterval","t6","isPopupOpen"],"sources":["../../../src/views/LivePreview/usePopupWindow.ts"],"sourcesContent":["'use client'\nimport type React from 'react'\n\nimport { useConfig } from '@payloadcms/ui'\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\nexport interface PopupMessage {\n searchParams: {\n [key: string]: string | undefined\n code: string\n installation_id: string\n state: string\n }\n type: string\n}\n\nexport const usePopupWindow = (props: {\n eventType?: string\n\n onMessage?: (searchParams: PopupMessage['searchParams']) => Promise<void>\n url: string\n}): {\n isPopupOpen: boolean\n openPopupWindow: () => void\n popupRef?: React.RefObject<null | Window>\n} => {\n const { eventType, onMessage, url } = props\n const isReceivingMessage = useRef(false)\n const [isOpen, setIsOpen] = useState(false)\n const {\n config: { serverURL },\n } = useConfig()\n const popupRef = useRef<null | Window>(null)\n\n // Optionally broadcast messages back out to the parent component\n useEffect(() => {\n const receiveMessage = async (event: MessageEvent): Promise<void> => {\n if (\n event.origin !== window.location.origin ||\n event.origin !== url ||\n event.origin !== serverURL\n ) {\n // console.warn(`Message received by ${event.origin}; IGNORED.`) // eslint-disable-line no-console\n return\n }\n\n if (\n typeof onMessage === 'function' &&\n event.data?.type === eventType &&\n !isReceivingMessage.current\n ) {\n isReceivingMessage.current = true\n await onMessage(event.data?.searchParams)\n isReceivingMessage.current = false\n }\n }\n\n if (isOpen && popupRef.current) {\n window.addEventListener('message', receiveMessage, false)\n }\n\n return () => {\n window.removeEventListener('message', receiveMessage)\n }\n }, [onMessage, eventType, url, serverURL, isOpen])\n\n // Customize the size, position, and style of the popup window\n const openPopupWindow = useCallback(\n (e?: MouseEvent) => {\n if (e) {\n e.preventDefault()\n }\n\n const features = {\n height: 700,\n left: 'auto',\n menubar: 'no',\n popup: 'yes',\n toolbar: 'no',\n top: 'auto',\n width: 800,\n }\n\n const popupOptions = Object.entries(features)\n .reduce((str, [key, value]) => {\n let strCopy = str\n if (value === 'auto') {\n if (key === 'top') {\n const v = Math.round(window.innerHeight / 2 - features.height / 2)\n strCopy += `top=${v},`\n } else if (key === 'left') {\n const v = Math.round(window.innerWidth / 2 - features.width / 2)\n strCopy += `left=${v},`\n }\n return strCopy\n }\n\n strCopy += `${key}=${value},`\n return strCopy\n }, '')\n .slice(0, -1) // remove last ',' (comma)\n\n const newWindow = window.open(url, '_blank', popupOptions)\n\n popupRef.current = newWindow\n\n setIsOpen(true)\n },\n [url],\n )\n\n // this is the most stable and widely supported way to check if a popup window is no longer open\n // we poll its ref every x ms and use the popup window's `closed` property\n useEffect(() => {\n let timer: NodeJS.Timeout\n\n if (isOpen) {\n timer = setInterval(function () {\n if (popupRef.current.closed) {\n clearInterval(timer)\n setIsOpen(false)\n }\n }, 1000)\n } else {\n clearInterval(timer)\n }\n\n return () => {\n if (timer) {\n clearInterval(timer)\n }\n }\n }, [isOpen, popupRef])\n\n return {\n isPopupOpen: isOpen,\n openPopupWindow,\n popupRef,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -78,7 +78,7 @@ export const LoginForm = t0 => {
|
|
|
78
78
|
const t6 = prefillPassword ?? undefined;
|
|
79
79
|
const t7 = prefillPassword ?? undefined;
|
|
80
80
|
let t8;
|
|
81
|
-
if ($[6] !== t6 || $[7] !== t7 || $[8] !== loginWithUsername || $[9] !== prefillUsername || $[10] !== prefillEmail || $[11] !== setUser || $[12] !== apiRoute || $[13] !== userSlug || $[14] !== searchParams || $[15] !== adminRoute || $[16] !== loginType || $[17] !== t || $[18] !== forgotRoute) {
|
|
81
|
+
if ($[6] !== t6 || $[7] !== t7 || $[8] !== loginWithUsername || $[9] !== prefillUsername || $[10] !== prefillEmail || $[11] !== setUser || $[12] !== apiRoute || $[13] !== userSlug || $[14] !== searchParams?.redirect || $[15] !== adminRoute || $[16] !== loginType || $[17] !== t || $[18] !== forgotRoute) {
|
|
82
82
|
const initialState = {
|
|
83
83
|
password: {
|
|
84
84
|
initialValue: t6,
|
|
@@ -149,7 +149,7 @@ export const LoginForm = t0 => {
|
|
|
149
149
|
$[11] = setUser;
|
|
150
150
|
$[12] = apiRoute;
|
|
151
151
|
$[13] = userSlug;
|
|
152
|
-
$[14] = searchParams;
|
|
152
|
+
$[14] = searchParams?.redirect;
|
|
153
153
|
$[15] = adminRoute;
|
|
154
154
|
$[16] = loginType;
|
|
155
155
|
$[17] = t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","LinkImport","React","baseClass","Link","default","Form","FormSubmit","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","LoginField","LoginForm","t0","$","prefillEmail","prefillPassword","prefillUsername","searchParams","config","admin","t1","routes","t2","t3","user","userSlug","forgot","forgotRoute","adminRoute","api","apiRoute","t4","collections","find","collection","slug","collectionConfig","auth","authOptions","loginWithUsername","canLoginWithEmail","allowEmailLogin","canLoginWithUsername","t5","loginType","useState","t","setUser","t6","undefined","t7","t8","initialState","password","initialValue","valid","value","username","email","t9","data","handleLogin","_jsxs","action","className","disableSuccessStatus","method","onSuccess","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","LinkImport","React","baseClass","Link","default","Form","FormSubmit","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","LoginField","LoginForm","t0","$","prefillEmail","prefillPassword","prefillUsername","searchParams","config","admin","t1","routes","t2","t3","user","userSlug","forgot","forgotRoute","adminRoute","api","apiRoute","t4","collections","find","collection","slug","collectionConfig","auth","authOptions","loginWithUsername","canLoginWithEmail","allowEmailLogin","canLoginWithUsername","t5","loginType","useState","t","setUser","t6","undefined","t7","t8","redirect","initialState","password","initialValue","valid","value","username","email","t9","data","handleLogin","_jsxs","action","className","disableSuccessStatus","method","onSuccess","waitForAutocomplete","children","_jsx","type","field","name","label","required","href","path","size"],"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { ClientUser, FormState } from 'payload'\n\nimport { Form, FormSubmit, PasswordField, useAuth, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { LoginFieldProps } from '../LoginField/index.js'\n\nimport { LoginField } from '../LoginField/index.js'\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n prefillEmail?: string\n prefillPassword?: string\n prefillUsername?: string\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ prefillEmail, prefillPassword, prefillUsername, searchParams }) => {\n const { config } = useConfig()\n\n const {\n admin: {\n routes: { forgot: forgotRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n const canLoginWithEmail =\n !authOptions.loginWithUsername || authOptions.loginWithUsername.allowEmailLogin\n const canLoginWithUsername = authOptions.loginWithUsername\n\n const [loginType] = React.useState<LoginFieldProps['type']>(() => {\n if (canLoginWithEmail && canLoginWithUsername) {\n return 'emailOrUsername'\n }\n if (canLoginWithUsername) {\n return 'username'\n }\n return 'email'\n })\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const initialState: FormState = {\n password: {\n initialValue: prefillPassword ?? undefined,\n valid: true,\n value: prefillPassword ?? undefined,\n },\n }\n\n if (loginWithUsername) {\n initialState.username = {\n initialValue: prefillUsername ?? undefined,\n valid: true,\n value: prefillUsername ?? undefined,\n }\n } else {\n initialState.email = {\n initialValue: prefillEmail ?? undefined,\n valid: true,\n value: prefillEmail ?? undefined,\n }\n }\n\n const handleLogin = (data: { user: ClientUser }) => {\n setUser(data.user)\n }\n\n return (\n <Form\n action={`${apiRoute}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n onSuccess={handleLogin}\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : adminRoute}\n waitForAutocomplete\n >\n <div className={`${baseClass}__inputWrap`}>\n <LoginField type={loginType} />\n <PasswordField\n field={{\n name: 'password',\n label: t('general:password'),\n required: true,\n }}\n />\n </div>\n <Link\n href={formatAdminURL({\n adminRoute,\n path: forgotRoute,\n })}\n >\n {t('authentication:forgotPasswordQuestion')}\n </Link>\n <FormSubmit size=\"large\">{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAOzE,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAOzE,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAkIjE,CAAA"}
|
|
@@ -117,6 +117,7 @@ export const DefaultVersionView = t0 => {
|
|
|
117
117
|
t8 = $[10];
|
|
118
118
|
}
|
|
119
119
|
const localeValues = t8;
|
|
120
|
+
const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts);
|
|
120
121
|
let t9;
|
|
121
122
|
if ($[11] !== localization || $[12] !== localeOptions || $[13] !== locales) {
|
|
122
123
|
t9 = localization && _jsx(SelectLocales, {
|
|
@@ -197,6 +198,7 @@ export const DefaultVersionView = t0 => {
|
|
|
197
198
|
className: `${baseClass}__controls`,
|
|
198
199
|
children: [_jsx(SelectComparison, {
|
|
199
200
|
baseURL: compareBaseURL,
|
|
201
|
+
draftsEnabled,
|
|
200
202
|
latestDraftVersion,
|
|
201
203
|
latestPublishedVersion,
|
|
202
204
|
onChange: setCompareValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","Gutter","SetViewActions","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","t0","$","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","getEntityConfig","i18n","id","collectionSlug","globalSlug","t1","collectionConfig","t2","globalConfig","locales","setLocales","compareValue","setCompareValue","admin","t3","localization","routes","t4","serverURL","dateFormat","api","apiRoute","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","t5","Symbol","for","depth","draft","locale","t6","initialData","initialParams","t7","data","currentComparisonDoc","comparison","version","canUpdate","update","permission","t8","map","_temp","localeValues","t9","_jsx","onChange","options","t10","fieldPermissions","fields","createdAt","_jsxs","className","children","actions","components","views","edit","t","autosave","label","labels","singular","originalDocID","status","_status","versionDate","baseURL","parentID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientGlobalConfig, OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { diffComponents } from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport './index.scss'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug }) as ClientCollectionConfig,\n )\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }) as ClientGlobalConfig)\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: 'all' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n const localeValues = locales && locales.map((locale) => locale.value)\n\n return (\n <main className={baseClass}>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.version?.actions\n }\n />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldPermissions={docPermissions?.fields}\n fields={(collectionConfig || globalConfig)?.fields}\n i18n={i18n}\n locales={localeValues}\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","Gutter","SetViewActions","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","t0","$","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","getEntityConfig","i18n","id","collectionSlug","globalSlug","t1","collectionConfig","t2","globalConfig","locales","setLocales","compareValue","setCompareValue","admin","t3","localization","routes","t4","serverURL","dateFormat","api","apiRoute","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","t5","Symbol","for","depth","draft","locale","t6","initialData","initialParams","t7","data","currentComparisonDoc","comparison","version","canUpdate","update","permission","t8","map","_temp","localeValues","draftsEnabled","Boolean","versions","drafts","t9","_jsx","onChange","options","t10","fieldPermissions","fields","createdAt","_jsxs","className","children","actions","components","views","edit","t","autosave","label","labels","singular","originalDocID","status","_status","versionDate","baseURL","parentID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientGlobalConfig, OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { diffComponents } from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport './index.scss'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug }) as ClientCollectionConfig,\n )\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }) as ClientGlobalConfig)\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: 'all' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n const localeValues = locales && locales.map((locale) => locale.value)\n\n const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.version?.actions\n }\n />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldPermissions={docPermissions?.fields}\n fields={(collectionConfig || globalConfig)?.fields}\n i18n={i18n}\n locales={localeValues}\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqL5C,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import { fieldBaseClass, ReactSelect, useConfig, useTranslation } from '@payloadcms/ui';
|
|
4
|
+
import { fieldBaseClass, Pill, ReactSelect, useConfig, useTranslation } from '@payloadcms/ui';
|
|
5
5
|
import { formatDate } from '@payloadcms/ui/shared';
|
|
6
6
|
import * as qs from 'qs-esm';
|
|
7
7
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
@@ -12,6 +12,7 @@ const baseOptions = [];
|
|
|
12
12
|
export const SelectComparison = props => {
|
|
13
13
|
const {
|
|
14
14
|
baseURL,
|
|
15
|
+
draftsEnabled,
|
|
15
16
|
latestDraftVersion,
|
|
16
17
|
latestPublishedVersion,
|
|
17
18
|
onChange,
|
|
@@ -23,7 +24,8 @@ export const SelectComparison = props => {
|
|
|
23
24
|
config: {
|
|
24
25
|
admin: {
|
|
25
26
|
dateFormat
|
|
26
|
-
}
|
|
27
|
+
},
|
|
28
|
+
localization
|
|
27
29
|
}
|
|
28
30
|
} = useConfig();
|
|
29
31
|
const [options, setOptions] = useState(baseOptions);
|
|
@@ -59,6 +61,13 @@ export const SelectComparison = props => {
|
|
|
59
61
|
}
|
|
60
62
|
});
|
|
61
63
|
}
|
|
64
|
+
if (localization && draftsEnabled) {
|
|
65
|
+
query.where.and.push({
|
|
66
|
+
snapshot: {
|
|
67
|
+
not_equals: true
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
62
71
|
const search = qs.stringify(query);
|
|
63
72
|
const response = await fetch(`${baseURL}?${search}`, {
|
|
64
73
|
credentials: 'include',
|
|
@@ -85,19 +94,31 @@ export const SelectComparison = props => {
|
|
|
85
94
|
};
|
|
86
95
|
const additionalOptions = data.docs.map(doc => {
|
|
87
96
|
const status = doc.version._status;
|
|
97
|
+
let publishedLocalePill = null;
|
|
98
|
+
const publishedLocale = doc.publishedLocale || undefined;
|
|
88
99
|
const {
|
|
89
100
|
currentLabel,
|
|
90
101
|
latestVersion,
|
|
91
102
|
pillStyle,
|
|
92
103
|
previousLabel
|
|
93
104
|
} = versionInfo[status] || {};
|
|
105
|
+
if (localization && localization?.locales && publishedLocale) {
|
|
106
|
+
const localeCode = Array.isArray(publishedLocale) ? publishedLocale[0] : publishedLocale;
|
|
107
|
+
const locale = localization.locales.find(loc => loc.code === localeCode);
|
|
108
|
+
const formattedLabel = locale?.label?.[i18n?.language] || locale?.label;
|
|
109
|
+
if (formattedLabel) {
|
|
110
|
+
publishedLocalePill = /*#__PURE__*/_jsx(Pill, {
|
|
111
|
+
children: formattedLabel
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
94
115
|
return {
|
|
95
116
|
label: /*#__PURE__*/_jsxs("div", {
|
|
96
117
|
children: [formatDate({
|
|
97
118
|
date: doc.updatedAt,
|
|
98
119
|
i18n,
|
|
99
120
|
pattern: dateFormat
|
|
100
|
-
}), " ", renderPill(doc, latestVersion, currentLabel, previousLabel, pillStyle)]
|
|
121
|
+
}), " ", renderPill(doc, latestVersion, currentLabel, previousLabel, pillStyle), publishedLocalePill]
|
|
101
122
|
}),
|
|
102
123
|
value: doc.id
|
|
103
124
|
};
|