@payloadcms/next 3.0.0-beta.122 → 3.0.0-beta.124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +24 -14
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.scss +1 -0
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +1 -0
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/views/Dashboard/Default/index.d.ts +1 -1
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +31 -28
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +3 -3
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +2 -0
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +3 -3
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +1 -0
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +2 -0
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +1 -0
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Dashboard/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAUpF,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE;YAAE,SAAS,EAAE,OAAO,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Dashboard/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAUpF,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE;YAAE,SAAS,EAAE,OAAO,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;QAC/F,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,IAAI,EAAE,MAAM,CAAA;KACb,CAAC,CAAA;IACF,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IAC5C,WAAW,EAAE,WAAW,CAAA;IACxB,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAyKrD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","Button","Card","Gutter","Locked","SetStepNav","SetViewActions","EntityType","formatAdminURL","getCreateMappedComponent","RenderComponent","React","Fragment","baseClass","DefaultDashboard","props","globalData","i18n","t","Link","locale","navGroups","params","payload","config","admin","components","afterDashboard","beforeDashboard","routes","adminRoute","permissions","searchParams","user","createMappedComponent","importMap","serverProps","mappedBeforeDashboards","undefined","mappedAfterDashboards","_jsxs","className","_jsx","nav","actions","mappedComponent","length","map","entities","label","groupIndex","type","entity","entityIndex","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","labels","plural","path","slug","collections","create","permission","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","id","singular","buttonStyle","el","icon","iconStyle","round","to","titleAs"],"sources":["../../../../src/views/Dashboard/Default/index.tsx"],"sourcesContent":["import type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { ClientUser, Permissions, ServerProps, VisibleEntities } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, Card, Gutter, Locked, SetStepNav, SetViewActions } from '@payloadcms/ui'\nimport {\n EntityType,\n formatAdminURL,\n getCreateMappedComponent,\n RenderComponent,\n} from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'dashboard'\n\nexport type DashboardProps = {\n globalData: Array<{\n data: { _isLocked: boolean; _lastEditedAt: string; _userEditing: ClientUser | null }\n lockDuration?: number\n slug: string\n }>\n Link: React.ComponentType<any>\n navGroups?: ReturnType<typeof groupNavItems>\n permissions: Permissions\n visibleEntities: VisibleEntities\n} & ServerProps\n\nexport const DefaultDashboard: React.FC<DashboardProps> = (props) => {\n const {\n globalData,\n i18n,\n i18n: { t },\n Link,\n locale,\n navGroups,\n params,\n payload: {\n config: {\n admin: {\n components: { afterDashboard, beforeDashboard },\n },\n routes: { admin: adminRoute },\n },\n },\n payload,\n permissions,\n searchParams,\n user,\n } = props\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const mappedBeforeDashboards = createMappedComponent(\n beforeDashboard,\n undefined,\n undefined,\n 'beforeDashboard',\n )\n\n const mappedAfterDashboards = createMappedComponent(\n afterDashboard,\n undefined,\n undefined,\n 'afterDashboard',\n )\n\n return (\n <div className={baseClass}>\n <SetStepNav nav={[]} />\n <SetViewActions actions={[]} />\n <Gutter className={`${baseClass}__wrap`}>\n <RenderComponent mappedComponent={mappedBeforeDashboards} />\n <Fragment>\n <SetViewActions actions={[]} />\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ type, entity }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing = null\n\n if (type === EntityType.collection) {\n title = getTranslation(entity.labels.plural, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({ adminRoute, path: `/collections/${entity.slug}` })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${entity.slug}/create`,\n })\n\n hasCreatePermission =\n permissions?.collections?.[entity.slug]?.create?.permission\n }\n\n if (type === EntityType.global) {\n title = getTranslation(entity.label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(entity.label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${entity.slug}`,\n })\n\n // Find the lock status for the global\n const globalLockData = globalData.find(\n (global) => global.slug === entity.slug,\n )\n\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing\n\n // Check if the lock is expired\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(\n globalLockData.data?._lastEditedAt,\n ).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n isLocked && user?.id !== userEditing?.id ? (\n <Locked className={`${baseClass}__locked`} user={userEditing} />\n ) : hasCreatePermission && type === EntityType.collection ? (\n <Button\n aria-label={t('general:createNewLabel', {\n label: getTranslation(entity.labels.singular, i18n),\n })}\n buttonStyle=\"icon-label\"\n el=\"link\"\n icon=\"plus\"\n iconStyle=\"with-border\"\n Link={Link}\n round\n to={createHREF}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${entity.slug}`}\n Link={Link}\n title={title}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </Fragment>\n <RenderComponent mappedComponent={mappedAfterDashboards} />\n </Gutter>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","Button","Card","Gutter","Locked","SetStepNav","SetViewActions","EntityType","formatAdminURL","getCreateMappedComponent","RenderComponent","React","Fragment","baseClass","DefaultDashboard","props","globalData","i18n","t","Link","locale","navGroups","params","payload","config","admin","components","afterDashboard","beforeDashboard","routes","adminRoute","permissions","searchParams","user","createMappedComponent","importMap","serverProps","mappedBeforeDashboards","undefined","mappedAfterDashboards","_jsxs","className","_jsx","nav","actions","mappedComponent","length","map","entities","label","groupIndex","type","entity","entityIndex","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","labels","plural","path","slug","collections","create","permission","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","id","singular","buttonStyle","el","icon","iconStyle","round","to","titleAs"],"sources":["../../../../src/views/Dashboard/Default/index.tsx"],"sourcesContent":["import type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { ClientUser, Permissions, ServerProps, VisibleEntities } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, Card, Gutter, Locked, SetStepNav, SetViewActions } from '@payloadcms/ui'\nimport {\n EntityType,\n formatAdminURL,\n getCreateMappedComponent,\n RenderComponent,\n} from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'dashboard'\n\nexport type DashboardProps = {\n globalData: Array<{\n data: { _isLocked: boolean; _lastEditedAt: string; _userEditing: ClientUser | number | string }\n lockDuration?: number\n slug: string\n }>\n Link: React.ComponentType<any>\n navGroups?: ReturnType<typeof groupNavItems>\n permissions: Permissions\n visibleEntities: VisibleEntities\n} & ServerProps\n\nexport const DefaultDashboard: React.FC<DashboardProps> = (props) => {\n const {\n globalData,\n i18n,\n i18n: { t },\n Link,\n locale,\n navGroups,\n params,\n payload: {\n config: {\n admin: {\n components: { afterDashboard, beforeDashboard },\n },\n routes: { admin: adminRoute },\n },\n },\n payload,\n permissions,\n searchParams,\n user,\n } = props\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const mappedBeforeDashboards = createMappedComponent(\n beforeDashboard,\n undefined,\n undefined,\n 'beforeDashboard',\n )\n\n const mappedAfterDashboards = createMappedComponent(\n afterDashboard,\n undefined,\n undefined,\n 'afterDashboard',\n )\n\n return (\n <div className={baseClass}>\n <SetStepNav nav={[]} />\n <SetViewActions actions={[]} />\n <Gutter className={`${baseClass}__wrap`}>\n <RenderComponent mappedComponent={mappedBeforeDashboards} />\n <Fragment>\n <SetViewActions actions={[]} />\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ type, entity }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing = null\n\n if (type === EntityType.collection) {\n title = getTranslation(entity.labels.plural, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({ adminRoute, path: `/collections/${entity.slug}` })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${entity.slug}/create`,\n })\n\n hasCreatePermission =\n permissions?.collections?.[entity.slug]?.create?.permission\n }\n\n if (type === EntityType.global) {\n title = getTranslation(entity.label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(entity.label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${entity.slug}`,\n })\n\n // Find the lock status for the global\n const globalLockData = globalData.find(\n (global) => global.slug === entity.slug,\n )\n\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing\n\n // Check if the lock is expired\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(\n globalLockData.data?._lastEditedAt,\n ).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n isLocked && user?.id !== userEditing?.id ? (\n <Locked className={`${baseClass}__locked`} user={userEditing} />\n ) : hasCreatePermission && type === EntityType.collection ? (\n <Button\n aria-label={t('general:createNewLabel', {\n label: getTranslation(entity.labels.singular, i18n),\n })}\n buttonStyle=\"icon-label\"\n el=\"link\"\n icon=\"plus\"\n iconStyle=\"with-border\"\n Link={Link}\n round\n to={createHREF}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${entity.slug}`}\n Link={Link}\n title={title}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </Fragment>\n <RenderComponent mappedComponent={mappedAfterDashboards} />\n </Gutter>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Dashboard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAU7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAA;AAIrD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Dashboard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAU7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAA;AAIrD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkI9C,CAAA"}
|
|
@@ -22,40 +22,43 @@ export const Dashboard = async ({
|
|
|
22
22
|
payload,
|
|
23
23
|
user
|
|
24
24
|
},
|
|
25
|
+
req,
|
|
25
26
|
visibleEntities
|
|
26
27
|
} = initPageResult;
|
|
27
|
-
const lockDurationDefault = 300 // Default 5 minutes in seconds
|
|
28
|
-
;
|
|
29
28
|
const CustomDashboardComponent = config.admin.components?.views?.Dashboard;
|
|
30
29
|
const collections = config.collections.filter(collection => permissions?.collections?.[collection.slug]?.read?.permission && visibleEntities.collections.includes(collection.slug));
|
|
31
30
|
const globals = config.globals.filter(global => permissions?.globals?.[global.slug]?.read?.permission && visibleEntities.globals.includes(global.slug));
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
lockDuration
|
|
47
|
-
}) => {
|
|
48
|
-
const data = await payload.findGlobal({
|
|
49
|
-
slug,
|
|
50
|
-
depth: 0,
|
|
51
|
-
includeLockStatus: true
|
|
31
|
+
// Query locked global documents only if there are globals in the config
|
|
32
|
+
let globalData = [];
|
|
33
|
+
if (config.globals.length > 0) {
|
|
34
|
+
const lockedDocuments = await payload.find({
|
|
35
|
+
collection: 'payload-locked-documents',
|
|
36
|
+
depth: 1,
|
|
37
|
+
overrideAccess: false,
|
|
38
|
+
pagination: false,
|
|
39
|
+
req,
|
|
40
|
+
where: {
|
|
41
|
+
globalSlug: {
|
|
42
|
+
exists: true
|
|
43
|
+
}
|
|
44
|
+
}
|
|
52
45
|
});
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
lockDuration
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
// Map over globals to include `lockDuration` and lock data for each global slug
|
|
47
|
+
globalData = config.globals.map(global => {
|
|
48
|
+
const lockDurationDefault = 300;
|
|
49
|
+
const lockDuration = typeof global.lockDocuments === 'object' ? global.lockDocuments.duration : lockDurationDefault;
|
|
50
|
+
const lockedDoc = lockedDocuments.docs.find(doc => doc.globalSlug === global.slug);
|
|
51
|
+
return {
|
|
52
|
+
slug: global.slug,
|
|
53
|
+
data: {
|
|
54
|
+
_isLocked: !!lockedDoc,
|
|
55
|
+
_lastEditedAt: lockedDoc?.updatedAt ?? null,
|
|
56
|
+
_userEditing: lockedDoc?.user?.value ?? null
|
|
57
|
+
},
|
|
58
|
+
lockDuration
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
}
|
|
59
62
|
const navGroups = groupNavItems([...(collections.map(collection => {
|
|
60
63
|
const entityToGroup = {
|
|
61
64
|
type: EntityType.collection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["HydrateAuthProvider","EntityType","getCreateMappedComponent","groupNavItems","RenderComponent","LinkImport","React","Fragment","DefaultDashboard","generateDashboardMetadata","Link","default","Dashboard","initPageResult","params","searchParams","locale","permissions","req","i18n","payload","config","user","visibleEntities","
|
|
1
|
+
{"version":3,"file":"index.js","names":["HydrateAuthProvider","EntityType","getCreateMappedComponent","groupNavItems","RenderComponent","LinkImport","React","Fragment","DefaultDashboard","generateDashboardMetadata","Link","default","Dashboard","initPageResult","params","searchParams","locale","permissions","req","i18n","payload","config","user","visibleEntities","CustomDashboardComponent","admin","components","views","collections","filter","collection","slug","read","permission","includes","globals","global","globalData","length","lockedDocuments","find","depth","overrideAccess","pagination","where","globalSlug","exists","map","lockDurationDefault","lockDuration","lockDocuments","duration","lockedDoc","docs","doc","data","_isLocked","_lastEditedAt","updatedAt","_userEditing","value","navGroups","entityToGroup","type","entity","createMappedComponent","importMap","serverProps","mappedDashboardComponent","Component","undefined","_jsxs","_jsx","clientProps","mappedComponent"],"sources":["../../../src/views/Dashboard/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type { AdminViewProps } from 'payload'\n\nimport { HydrateAuthProvider } from '@payloadcms/ui'\nimport {\n EntityType,\n getCreateMappedComponent,\n groupNavItems,\n RenderComponent,\n} from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultDashboard } from './Default/index.js'\n\nexport { generateDashboardMetadata } from './meta.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const Dashboard: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n locale,\n permissions,\n req: {\n i18n,\n payload: { config },\n payload,\n user,\n },\n req,\n visibleEntities,\n } = initPageResult\n\n const CustomDashboardComponent = config.admin.components?.views?.Dashboard\n\n const collections = config.collections.filter(\n (collection) =>\n permissions?.collections?.[collection.slug]?.read?.permission &&\n visibleEntities.collections.includes(collection.slug),\n )\n\n const globals = config.globals.filter(\n (global) =>\n permissions?.globals?.[global.slug]?.read?.permission &&\n visibleEntities.globals.includes(global.slug),\n )\n\n // Query locked global documents only if there are globals in the config\n let globalData = []\n\n if (config.globals.length > 0) {\n const lockedDocuments = await payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n pagination: false,\n req,\n where: {\n globalSlug: {\n exists: true,\n },\n },\n })\n\n // Map over globals to include `lockDuration` and lock data for each global slug\n globalData = config.globals.map((global) => {\n const lockDurationDefault = 300\n const lockDuration =\n typeof global.lockDocuments === 'object'\n ? global.lockDocuments.duration\n : lockDurationDefault\n\n const lockedDoc = lockedDocuments.docs.find((doc) => doc.globalSlug === global.slug)\n\n return {\n slug: global.slug,\n data: {\n _isLocked: !!lockedDoc,\n _lastEditedAt: lockedDoc?.updatedAt ?? null,\n _userEditing: lockedDoc?.user?.value ?? null,\n },\n lockDuration,\n }\n })\n }\n\n const navGroups = groupNavItems(\n [\n ...(collections.map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }) ?? []),\n ...(globals.map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }) ?? []),\n ],\n permissions,\n i18n,\n )\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n globalData,\n i18n,\n Link,\n locale,\n navGroups,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n },\n })\n\n const mappedDashboardComponent = createMappedComponent(\n CustomDashboardComponent?.Component,\n undefined,\n DefaultDashboard,\n 'CustomDashboardComponent.Component',\n )\n\n return (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <RenderComponent\n clientProps={{\n Link,\n locale,\n }}\n mappedComponent={mappedDashboardComponent}\n />\n </Fragment>\n )\n}\n"],"mappings":";AAGA,SAASA,mBAAmB,QAAQ;AACpC,SACEC,UAAU,EACVC,wBAAwB,EACxBC,aAAa,EACbC,eAAe,QACV;AACP,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,gBAAgB,QAAQ;AAEjC,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,IAAA,GAAQL,UAAA,CAAWM,OAAO,IAAIN,UAAA;AAEpC,OAAO,MAAMO,SAAA,GAAsC,MAAAA,CAAO;EACxDC,cAAc;EACdC,MAAM;EACNC;AAAY,CACb;EACC,MAAM;IACJC,MAAM;IACNC,WAAW;IACXC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBD,OAAO;MACPE;IAAI,CACL;IACDJ,GAAG;IACHK;EAAe,CAChB,GAAGV,cAAA;EAEJ,MAAMW,wBAAA,GAA2BH,MAAA,CAAOI,KAAK,CAACC,UAAU,EAAEC,KAAA,EAAOf,SAAA;EAEjE,MAAMgB,WAAA,GAAcP,MAAA,CAAOO,WAAW,CAACC,MAAM,CAC1CC,UAAA,IACCb,WAAA,EAAaW,WAAA,GAAcE,UAAA,CAAWC,IAAI,CAAC,EAAEC,IAAA,EAAMC,UAAA,IACnDV,eAAA,CAAgBK,WAAW,CAACM,QAAQ,CAACJ,UAAA,CAAWC,IAAI;EAGxD,MAAMI,OAAA,GAAUd,MAAA,CAAOc,OAAO,CAACN,MAAM,CAClCO,MAAA,IACCnB,WAAA,EAAakB,OAAA,GAAUC,MAAA,CAAOL,IAAI,CAAC,EAAEC,IAAA,EAAMC,UAAA,IAC3CV,eAAA,CAAgBY,OAAO,CAACD,QAAQ,CAACE,MAAA,CAAOL,IAAI;EAGhD;EACA,IAAIM,UAAA,GAAa,EAAE;EAEnB,IAAIhB,MAAA,CAAOc,OAAO,CAACG,MAAM,GAAG,GAAG;IAC7B,MAAMC,eAAA,GAAkB,MAAMnB,OAAA,CAAQoB,IAAI,CAAC;MACzCV,UAAA,EAAY;MACZW,KAAA,EAAO;MACPC,cAAA,EAAgB;MAChBC,UAAA,EAAY;MACZzB,GAAA;MACA0B,KAAA,EAAO;QACLC,UAAA,EAAY;UACVC,MAAA,EAAQ;QACV;MACF;IACF;IAEA;IACAT,UAAA,GAAahB,MAAA,CAAOc,OAAO,CAACY,GAAG,CAAEX,MAAA;MAC/B,MAAMY,mBAAA,GAAsB;MAC5B,MAAMC,YAAA,GACJ,OAAOb,MAAA,CAAOc,aAAa,KAAK,WAC5Bd,MAAA,CAAOc,aAAa,CAACC,QAAQ,GAC7BH,mBAAA;MAEN,MAAMI,SAAA,GAAYb,eAAA,CAAgBc,IAAI,CAACb,IAAI,CAAEc,GAAA,IAAQA,GAAA,CAAIT,UAAU,KAAKT,MAAA,CAAOL,IAAI;MAEnF,OAAO;QACLA,IAAA,EAAMK,MAAA,CAAOL,IAAI;QACjBwB,IAAA,EAAM;UACJC,SAAA,EAAW,CAAC,CAACJ,SAAA;UACbK,aAAA,EAAeL,SAAA,EAAWM,SAAA,IAAa;UACvCC,YAAA,EAAcP,SAAA,EAAW9B,IAAA,EAAMsC,KAAA,IAAS;QAC1C;QACAX;MACF;IACF;EACF;EAEA,MAAMY,SAAA,GAAY1D,aAAA,CAChB,C,IACMyB,WAAA,CAAYmB,GAAG,CAAEjB,UAAA;IACnB,MAAMgC,aAAA,GAA+B;MACnCC,IAAA,EAAM9D,UAAA,CAAW6B,UAAU;MAC3BkC,MAAA,EAAQlC;IACV;IAEA,OAAOgC,aAAA;EACT,MAAM,EAAE,G,IACJ3B,OAAA,CAAQY,GAAG,CAAEX,MAAA;IACf,MAAM0B,aAAA,GAA+B;MACnCC,IAAA,EAAM9D,UAAA,CAAWmC,MAAM;MACvB4B,MAAA,EAAQ5B;IACV;IAEA,OAAO0B,aAAA;EACT,MAAM,EAAE,EACT,EACD7C,WAAA,EACAE,IAAA;EAGF,MAAM8C,qBAAA,GAAwB/D,wBAAA,CAAyB;IACrDgE,SAAA,EAAW9C,OAAA,CAAQ8C,SAAS;IAC5BC,WAAA,EAAa;MACX9B,UAAA;MACAlB,IAAA;MACAT,IAAA;MACAM,MAAA;MACA6C,SAAA;MACA/C,MAAA;MACAM,OAAA;MACAH,WAAA;MACAF,YAAA;MACAO,IAAA;MACAC;IACF;EACF;EAEA,MAAM6C,wBAAA,GAA2BH,qBAAA,CAC/BzC,wBAAA,EAA0B6C,SAAA,EAC1BC,SAAA,EACA9D,gBAAA,EACA;EAGF,oBACE+D,KAAA,CAAChE,QAAA;4BACCiE,IAAA,CAACxE,mBAAA;MAAoBiB,WAAA,EAAaA;qBAClCuD,IAAA,CAACpE,eAAA;MACCqE,WAAA,EAAa;QACX/D,IAAA;QACAM;MACF;MACA0D,eAAA,EAAiBN;;;AAIzB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAA6D,MAAM,OAAO,CAAA;AAMjF,OAAO,cAAc,CAAA;AASrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAA6D,MAAM,OAAO,CAAA;AAMjF,OAAO,cAAc,CAAA;AASrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EA4dnC,CAAA"}
|
|
@@ -198,7 +198,7 @@ export const DefaultEditView = () => {
|
|
|
198
198
|
});
|
|
199
199
|
setDocumentIsLocked(true);
|
|
200
200
|
if (isLockingEnabled) {
|
|
201
|
-
const previousOwnerId = documentLockStateRef.current?.user?.id;
|
|
201
|
+
const previousOwnerId = typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id : documentLockStateRef.current?.user;
|
|
202
202
|
if (lockedState) {
|
|
203
203
|
if (!documentLockStateRef.current || lockedState.user.id !== previousOwnerId) {
|
|
204
204
|
if (previousOwnerId === user.id && lockedState.user.id !== user.id) {
|
|
@@ -230,7 +230,7 @@ export const DefaultEditView = () => {
|
|
|
230
230
|
// Unlock the document only if we're actually navigating away from the document
|
|
231
231
|
if (documentId && documentIsLocked && !isStayingWithinDocument) {
|
|
232
232
|
// Check if this user is still the current editor
|
|
233
|
-
if (documentLockStateRef.current?.user?.id === user?.id) {
|
|
233
|
+
if (typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id === user?.id : documentLockStateRef.current?.user === user?.id) {
|
|
234
234
|
void unlockDocument(id, collectionSlug ?? globalSlug);
|
|
235
235
|
setDocumentIsLocked(false);
|
|
236
236
|
setCurrentEditor(null);
|
|
@@ -239,7 +239,7 @@ export const DefaultEditView = () => {
|
|
|
239
239
|
setShowTakeOverModal(false);
|
|
240
240
|
};
|
|
241
241
|
}, [collectionSlug, globalSlug, id, unlockDocument, user, setCurrentEditor, isLockingEnabled, documentIsLocked, setDocumentIsLocked]);
|
|
242
|
-
const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && currentEditor.id !== user?.id && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockStateRef.current?.hasShownLockedModal && !isLockExpired;
|
|
242
|
+
const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockStateRef.current?.hasShownLockedModal && !isLockExpired;
|
|
243
243
|
return /*#__PURE__*/_jsx("main", {
|
|
244
244
|
className: classes.filter(Boolean).join(' '),
|
|
245
245
|
children: /*#__PURE__*/_jsx(OperationProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DocumentControls","DocumentFields","Form","OperationProvider","RenderComponent","Upload","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useUploadEdits","formatAdminURL","getFormState","handleBackToDashboard","handleGoBack","handleTakeOver","useRouter","useSearchParams","React","Fragment","useCallback","useEffect","useRef","useState","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","action","AfterDocument","AfterFields","apiURL","BeforeDocument","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","isInitializing","lastUpdateTime","onDelete","onDrawerCreate","onDuplicate","onSave","onSaveFromContext","redirectAfterDelete","redirectAfterDuplicate","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","api","apiRoute","serverURL","getEntityConfig","router","depth","params","reportUpdate","resetUploadEdits","locale","get","collectionConfig","globalConfig","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","preventLeaveWithoutSaving","versions","drafts","autosave","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPath","setSchemaPath","disableLocalStrategy","validateBeforeSubmit","setValidateBeforeSubmit","json","updatedAt","result","toISOString","redirectRoute","path","doc","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","docPreferences","lockedState","state","body","returnLockStatus","previousOwnerId","current","currentPath","window","location","pathname","documentId","stayWithinDocumentPaths","isStayingWithinDocument","some","includes","shouldShowDocumentLockedModal","_jsx","className","filter","Boolean","join","_jsxs","disabled","disableValidationOnSubmit","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","components","edit","mappedComponent","uploadConfig","fields"],"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig, ClientUser } from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n type FormProps,\n OperationProvider,\n RenderComponent,\n Upload,\n useAuth,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useEditDepth,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport {\n formatAdminURL,\n getFormState,\n handleBackToDashboard,\n handleGoBack,\n handleTakeOver,\n} from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport { DocumentLocked } from '../../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport './index.scss'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeDocument,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n onDelete,\n onDrawerCreate,\n onDuplicate,\n onSave: onSaveFromContext,\n redirectAfterDelete,\n redirectAfterDuplicate,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n\n const locale = params.get('locale')\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n let preventLeaveWithoutSaving = true\n\n if (collectionConfig) {\n preventLeaveWithoutSaving = !(\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave\n )\n } else if (globalConfig) {\n preventLeaveWithoutSaving = !(\n globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave\n )\n } else if (typeof disableLeaveWithoutSaving !== 'undefined') {\n preventLeaveWithoutSaving = !disableLeaveWithoutSaving\n }\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const [schemaPath, setSchemaPath] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return `_${entitySlug}.auth`\n }\n\n return entitySlug\n })\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\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 void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n // Unlock the document after save\n if ((id || globalSlug) && isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n router,\n locale,\n resetUploadEdits,\n globalSlug,\n isLockingEnabled,\n setDocumentIsLocked,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n returnLockStatus: isLockingEnabled ? true : false,\n schemaPath,\n updateLastEdited,\n },\n serverURL,\n })\n\n setDocumentIsLocked(true)\n\n if (isLockingEnabled) {\n const previousOwnerId = documentLockStateRef.current?.user?.id\n\n if (lockedState) {\n if (!documentLockStateRef.current || lockedState.user.id !== previousOwnerId) {\n if (previousOwnerId === user.id && lockedState.user.id !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user,\n }\n setCurrentEditor(lockedState.user)\n }\n }\n }\n\n return state\n },\n [\n apiRoute,\n collectionSlug,\n editSessionStartTime,\n schemaPath,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n serverURL,\n user,\n documentLockStateRef,\n setCurrentEditor,\n isLockingEnabled,\n setDocumentIsLocked,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (!isLockingEnabled) {\n return\n }\n\n const currentPath = window.location.pathname\n\n const documentId = id || globalSlug\n\n // Routes where we do NOT want to unlock the document\n const stayWithinDocumentPaths = ['preview', 'api', 'versions']\n\n const isStayingWithinDocument = stayWithinDocumentPaths.some((path) =>\n currentPath.includes(path),\n )\n\n // Unlock the document only if we're actually navigating away from the document\n if (documentId && documentIsLocked && !isStayingWithinDocument) {\n // Check if this user is still the current editor\n if (documentLockStateRef.current?.user?.id === user?.id) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n currentEditor.id !== user?.id &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {BeforeDocument}\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreate={onDrawerCreate}\n onDuplicate={onDuplicate}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setSchemaPath={setSchemaPath}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {collectionConfig?.admin?.components?.edit?.Upload ? (\n <RenderComponent\n mappedComponent={collectionConfig.admin.components.edit.Upload}\n />\n ) : (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fields={(collectionConfig || globalConfig)?.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPath={schemaPath}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DocumentControls","DocumentFields","Form","OperationProvider","RenderComponent","Upload","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useUploadEdits","formatAdminURL","getFormState","handleBackToDashboard","handleGoBack","handleTakeOver","useRouter","useSearchParams","React","Fragment","useCallback","useEffect","useRef","useState","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","action","AfterDocument","AfterFields","apiURL","BeforeDocument","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","isInitializing","lastUpdateTime","onDelete","onDrawerCreate","onDuplicate","onSave","onSaveFromContext","redirectAfterDelete","redirectAfterDuplicate","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","api","apiRoute","serverURL","getEntityConfig","router","depth","params","reportUpdate","resetUploadEdits","locale","get","collectionConfig","globalConfig","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","preventLeaveWithoutSaving","versions","drafts","autosave","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPath","setSchemaPath","disableLocalStrategy","validateBeforeSubmit","setValidateBeforeSubmit","json","updatedAt","result","toISOString","redirectRoute","path","doc","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","docPreferences","lockedState","state","body","returnLockStatus","previousOwnerId","current","currentPath","window","location","pathname","documentId","stayWithinDocumentPaths","isStayingWithinDocument","some","includes","shouldShowDocumentLockedModal","_jsx","className","filter","Boolean","join","_jsxs","disabled","disableValidationOnSubmit","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","components","edit","mappedComponent","uploadConfig","fields"],"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig, ClientUser } from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n type FormProps,\n OperationProvider,\n RenderComponent,\n Upload,\n useAuth,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useEditDepth,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport {\n formatAdminURL,\n getFormState,\n handleBackToDashboard,\n handleGoBack,\n handleTakeOver,\n} from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport { DocumentLocked } from '../../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport './index.scss'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeDocument,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n onDelete,\n onDrawerCreate,\n onDuplicate,\n onSave: onSaveFromContext,\n redirectAfterDelete,\n redirectAfterDuplicate,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n\n const locale = params.get('locale')\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n let preventLeaveWithoutSaving = true\n\n if (collectionConfig) {\n preventLeaveWithoutSaving = !(\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave\n )\n } else if (globalConfig) {\n preventLeaveWithoutSaving = !(\n globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave\n )\n } else if (typeof disableLeaveWithoutSaving !== 'undefined') {\n preventLeaveWithoutSaving = !disableLeaveWithoutSaving\n }\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const [schemaPath, setSchemaPath] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return `_${entitySlug}.auth`\n }\n\n return entitySlug\n })\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\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 void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n // Unlock the document after save\n if ((id || globalSlug) && isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n router,\n locale,\n resetUploadEdits,\n globalSlug,\n isLockingEnabled,\n setDocumentIsLocked,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n returnLockStatus: isLockingEnabled ? true : false,\n schemaPath,\n updateLastEdited,\n },\n serverURL,\n })\n\n setDocumentIsLocked(true)\n\n if (isLockingEnabled) {\n const previousOwnerId =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n if (!documentLockStateRef.current || lockedState.user.id !== previousOwnerId) {\n if (previousOwnerId === user.id && lockedState.user.id !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user,\n }\n setCurrentEditor(lockedState.user)\n }\n }\n }\n\n return state\n },\n [\n apiRoute,\n collectionSlug,\n editSessionStartTime,\n schemaPath,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n serverURL,\n user,\n documentLockStateRef,\n setCurrentEditor,\n isLockingEnabled,\n setDocumentIsLocked,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (!isLockingEnabled) {\n return\n }\n\n const currentPath = window.location.pathname\n\n const documentId = id || globalSlug\n\n // Routes where we do NOT want to unlock the document\n const stayWithinDocumentPaths = ['preview', 'api', 'versions']\n\n const isStayingWithinDocument = stayWithinDocumentPaths.some((path) =>\n currentPath.includes(path),\n )\n\n // Unlock the document only if we're actually navigating away from the document\n if (documentId && documentIsLocked && !isStayingWithinDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {BeforeDocument}\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreate={onDrawerCreate}\n onDuplicate={onDuplicate}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setSchemaPath={setSchemaPath}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {collectionConfig?.admin?.components?.edit?.Upload ? (\n <RenderComponent\n mappedComponent={collectionConfig.admin.components.edit.Upload}\n />\n ) : (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fields={(collectionConfig || globalConfig)?.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPath={schemaPath}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ForgotPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAA;AAG1D,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ForgotPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAA;AAG1D,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8DvD,CAAA"}
|
|
@@ -43,6 +43,7 @@ export const ForgotPasswordView = ({
|
|
|
43
43
|
adminRoute,
|
|
44
44
|
path: accountRoute
|
|
45
45
|
}),
|
|
46
|
+
prefetch: false,
|
|
46
47
|
children: children
|
|
47
48
|
})
|
|
48
49
|
},
|
|
@@ -66,6 +67,7 @@ export const ForgotPasswordView = ({
|
|
|
66
67
|
adminRoute,
|
|
67
68
|
path: loginRoute
|
|
68
69
|
}),
|
|
70
|
+
prefetch: false,
|
|
69
71
|
children: i18n.t('authentication:backToLogin')
|
|
70
72
|
})]
|
|
71
73
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Button","formatAdminURL","Translation","LinkImport","React","Fragment","FormHeader","ForgotPasswordForm","generateForgotPasswordMetadata","Link","default","forgotPasswordBaseClass","ForgotPasswordView","initPageResult","req","i18n","payload","config","user","admin","routes","account","accountRoute","login","loginRoute","adminRoute","_jsxs","_jsx","description","elements","0","children","href","path","i18nKey","t","heading","buttonStyle","el","size","to"],"sources":["../../../src/views/ForgotPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL, Translation } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React, { Fragment } from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport { ForgotPasswordForm } from './ForgotPasswordForm/index.js'\n\nexport { generateForgotPasswordMetadata } from './meta.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\nexport const forgotPasswordBaseClass = 'forgot-password'\n\nexport const ForgotPasswordView: React.FC<AdminViewProps> = ({ initPageResult }) => {\n const {\n req: {\n i18n,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: {\n routes: { account: accountRoute, login: loginRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (user) {\n return (\n <Fragment>\n <FormHeader\n description={\n <Translation\n elements={{\n '0': ({ children }) => (\n <Link\n href={formatAdminURL({\n adminRoute,\n path: accountRoute,\n })}\n >\n {children}\n </Link>\n ),\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n }\n heading={i18n.t('authentication:alreadyLoggedIn')}\n />\n <Button buttonStyle=\"secondary\" el=\"link\" Link={Link} size=\"large\" to={adminRoute}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </Fragment>\n )\n }\n\n return (\n <Fragment>\n <ForgotPasswordForm />\n <Link\n href={formatAdminURL({\n adminRoute,\n path: loginRoute,\n })}\n >\n {i18n.t('authentication:backToLogin')}\n </Link>\n </Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,cAAc,EAAEC,WAAW,QAAQ;AAC5C,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,UAAU,QAAQ;AAC3B,SAASC,kBAAkB,QAAQ;AAEnC,SAASC,8BAA8B,QAAQ;AAE/C,MAAMC,IAAA,GAAQN,UAAA,CAAWO,OAAO,IAAIP,UAAA;AACpC,OAAO,MAAMQ,uBAAA,GAA0B;AAEvC,OAAO,MAAMC,kBAAA,GAA+CA,CAAC;EAAEC;AAAc,CAAE;EAC7E,MAAM;IACJC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBC;IAAI;EACL,CACF,GAAGL,cAAA;EAEJ,MAAM;IACJM,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,OAAA,EAASC,YAAY;QAAEC,KAAA,EAAOC;MAAU;IAAE,CACrD;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGR,MAAA;EAEJ,IAAIC,IAAA,EAAM;IACR,oBACEQ,KAAA,CAACrB,QAAA;8BACCsB,IAAA,CAACrB,UAAA;QACCsB,WAAA,eACED,IAAA,CAACzB,WAAA;UACC2B,QAAA,EAAU;YACR,KAAKC,CAAC;cAAEC;YAAQ,CAAE,kBAChBJ,IAAA,CAAClB,IAAA;cACCuB,IAAA,EAAM/B,cAAA,CAAe;gBACnBwB,UAAA;gBACAQ,IAAA,EAAMX;cACR;
|
|
1
|
+
{"version":3,"file":"index.js","names":["Button","formatAdminURL","Translation","LinkImport","React","Fragment","FormHeader","ForgotPasswordForm","generateForgotPasswordMetadata","Link","default","forgotPasswordBaseClass","ForgotPasswordView","initPageResult","req","i18n","payload","config","user","admin","routes","account","accountRoute","login","loginRoute","adminRoute","_jsxs","_jsx","description","elements","0","children","href","path","prefetch","i18nKey","t","heading","buttonStyle","el","size","to"],"sources":["../../../src/views/ForgotPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL, Translation } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React, { Fragment } from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport { ForgotPasswordForm } from './ForgotPasswordForm/index.js'\n\nexport { generateForgotPasswordMetadata } from './meta.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\nexport const forgotPasswordBaseClass = 'forgot-password'\n\nexport const ForgotPasswordView: React.FC<AdminViewProps> = ({ initPageResult }) => {\n const {\n req: {\n i18n,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: {\n routes: { account: accountRoute, login: loginRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (user) {\n return (\n <Fragment>\n <FormHeader\n description={\n <Translation\n elements={{\n '0': ({ children }) => (\n <Link\n href={formatAdminURL({\n adminRoute,\n path: accountRoute,\n })}\n prefetch={false}\n >\n {children}\n </Link>\n ),\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n }\n heading={i18n.t('authentication:alreadyLoggedIn')}\n />\n <Button buttonStyle=\"secondary\" el=\"link\" Link={Link} size=\"large\" to={adminRoute}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </Fragment>\n )\n }\n\n return (\n <Fragment>\n <ForgotPasswordForm />\n <Link\n href={formatAdminURL({\n adminRoute,\n path: loginRoute,\n })}\n prefetch={false}\n >\n {i18n.t('authentication:backToLogin')}\n </Link>\n </Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,cAAc,EAAEC,WAAW,QAAQ;AAC5C,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,UAAU,QAAQ;AAC3B,SAASC,kBAAkB,QAAQ;AAEnC,SAASC,8BAA8B,QAAQ;AAE/C,MAAMC,IAAA,GAAQN,UAAA,CAAWO,OAAO,IAAIP,UAAA;AACpC,OAAO,MAAMQ,uBAAA,GAA0B;AAEvC,OAAO,MAAMC,kBAAA,GAA+CA,CAAC;EAAEC;AAAc,CAAE;EAC7E,MAAM;IACJC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBC;IAAI;EACL,CACF,GAAGL,cAAA;EAEJ,MAAM;IACJM,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,OAAA,EAASC,YAAY;QAAEC,KAAA,EAAOC;MAAU;IAAE,CACrD;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGR,MAAA;EAEJ,IAAIC,IAAA,EAAM;IACR,oBACEQ,KAAA,CAACrB,QAAA;8BACCsB,IAAA,CAACrB,UAAA;QACCsB,WAAA,eACED,IAAA,CAACzB,WAAA;UACC2B,QAAA,EAAU;YACR,KAAKC,CAAC;cAAEC;YAAQ,CAAE,kBAChBJ,IAAA,CAAClB,IAAA;cACCuB,IAAA,EAAM/B,cAAA,CAAe;gBACnBwB,UAAA;gBACAQ,IAAA,EAAMX;cACR;cACAY,QAAA,EAAU;wBAETH;;UAGP;UACAI,OAAA,EAAQ;UACRC,CAAA,EAAGrB,IAAA,CAAKqB;;QAGZC,OAAA,EAAStB,IAAA,CAAKqB,CAAC,CAAC;uBAElBT,IAAA,CAAC3B,MAAA;QAAOsC,WAAA,EAAY;QAAYC,EAAA,EAAG;QAAO9B,IAAA,EAAMA,IAAA;QAAM+B,IAAA,EAAK;QAAQC,EAAA,EAAIhB,UAAA;kBACpEV,IAAA,CAAKqB,CAAC,CAAC;;;EAIhB;EAEA,oBACEV,KAAA,CAACrB,QAAA;4BACCsB,IAAA,CAACpB,kBAAA,O,aACDoB,IAAA,CAAClB,IAAA;MACCuB,IAAA,EAAM/B,cAAA,CAAe;QACnBwB,UAAA;QACAQ,IAAA,EAAMT;MACR;MACAU,QAAA,EAAU;gBAETnB,IAAA,CAAKqB,CAAC,CAAC;;;AAIhB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAMV,IAAI,EACJ,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAqBhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AASjF,OAAO,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/LivePreview/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAMV,IAAI,EACJ,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAqBhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AASjF,OAAO,cAAc,CAAA;AA4YrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IACtD,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAmDA,CAAA"}
|
|
@@ -149,7 +149,7 @@ const PreviewView = ({
|
|
|
149
149
|
});
|
|
150
150
|
setDocumentIsLocked(true);
|
|
151
151
|
if (isLockingEnabled) {
|
|
152
|
-
const previousOwnerId = documentLockStateRef.current?.user?.id;
|
|
152
|
+
const previousOwnerId = typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id : documentLockStateRef.current?.user;
|
|
153
153
|
if (lockedState) {
|
|
154
154
|
if (!documentLockStateRef.current || lockedState.user.id !== previousOwnerId) {
|
|
155
155
|
if (previousOwnerId === user.id && lockedState.user.id !== user.id) {
|
|
@@ -181,7 +181,7 @@ const PreviewView = ({
|
|
|
181
181
|
// Unlock the document only if we're actually navigating away from the document
|
|
182
182
|
if (documentId && documentIsLocked && !isStayingWithinDocument) {
|
|
183
183
|
// Check if this user is still the current editor
|
|
184
|
-
if (documentLockStateRef.current?.user?.id === user?.id) {
|
|
184
|
+
if (typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id === user?.id : documentLockStateRef.current?.user === user?.id) {
|
|
185
185
|
void unlockDocument(id, collectionSlug ?? globalSlug);
|
|
186
186
|
setDocumentIsLocked(false);
|
|
187
187
|
setCurrentEditor(null);
|
|
@@ -190,7 +190,7 @@ const PreviewView = ({
|
|
|
190
190
|
setShowTakeOverModal(false);
|
|
191
191
|
};
|
|
192
192
|
}, [collectionSlug, globalSlug, id, unlockDocument, user, setCurrentEditor, isLockingEnabled, documentIsLocked, setDocumentIsLocked]);
|
|
193
|
-
const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && currentEditor.id !== user
|
|
193
|
+
const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal &&
|
|
194
194
|
// eslint-disable-next-line react-compiler/react-compiler
|
|
195
195
|
!documentLockStateRef.current?.hasShownLockedModal && !isLockExpired;
|
|
196
196
|
return /*#__PURE__*/_jsx(OperationProvider, {
|