@payloadcms/next 3.0.0-beta.77 → 3.0.0-beta.78
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/index.scss +0 -1
- package/dist/elements/DocumentHeader/index.scss +0 -2
- package/dist/elements/LeaveWithoutSaving/index.scss +1 -0
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +3 -6
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.scss +17 -7
- package/dist/prod/styles.css +1 -1
- package/dist/scss/app.scss +5 -5
- package/dist/scss/type.scss +1 -0
- package/dist/views/API/index.scss +1 -2
- package/dist/views/Account/index.client.d.ts +3 -0
- package/dist/views/Account/index.client.d.ts.map +1 -0
- package/dist/views/Account/index.client.js +21 -0
- package/dist/views/Account/index.client.js.map +1 -0
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +33 -28
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.d.ts +2 -2
- package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +35 -8
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +4 -2
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/List/Default/index.d.ts.map +1 -1
- package/dist/views/List/Default/index.js +28 -30
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/Default/index.scss +5 -12
- package/package.json +6 -6
package/dist/scss/app.scss
CHANGED
|
@@ -38,19 +38,19 @@
|
|
|
38
38
|
|
|
39
39
|
--gutter-h: #{base(3)};
|
|
40
40
|
--spacing-view-bottom: var(--gutter-h);
|
|
41
|
-
--
|
|
42
|
-
--
|
|
41
|
+
--doc-controls-height: calc(var(--base) * 2.8);
|
|
42
|
+
--app-header-height: calc(var(--base) * 2.8);
|
|
43
43
|
--nav-width: 275px;
|
|
44
44
|
--nav-trans-time: 150ms;
|
|
45
45
|
|
|
46
46
|
@include mid-break {
|
|
47
47
|
--gutter-h: #{base(2)};
|
|
48
|
-
--app-header-height: calc(var(--base) * 2);
|
|
49
|
-
--doc-controls-height: calc(var(--base) * 2.
|
|
48
|
+
--app-header-height: calc(var(--base) * 2.4);
|
|
49
|
+
--doc-controls-height: calc(var(--base) * 2.4);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
@include small-break {
|
|
53
|
-
--gutter-h: #{base(0.
|
|
53
|
+
--gutter-h: #{base(0.8)};
|
|
54
54
|
--spacing-view-bottom: calc(var(--base) * 2);
|
|
55
55
|
--nav-width: 100vw;
|
|
56
56
|
}
|
package/dist/scss/type.scss
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAgBjC,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useStepNav, useTranslation } from '@payloadcms/ui';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
export const AccountClient = ()=>{
|
|
5
|
+
const { setStepNav } = useStepNav();
|
|
6
|
+
const { t } = useTranslation();
|
|
7
|
+
React.useEffect(()=>{
|
|
8
|
+
const nav = [];
|
|
9
|
+
nav.push({
|
|
10
|
+
label: t('authentication:account'),
|
|
11
|
+
url: '/account'
|
|
12
|
+
});
|
|
13
|
+
setStepNav(nav);
|
|
14
|
+
}, [
|
|
15
|
+
setStepNav,
|
|
16
|
+
t
|
|
17
|
+
]);
|
|
18
|
+
return null;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=index.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Account/index.client.tsx"],"sourcesContent":["'use client'\nimport { type StepNavItem, useStepNav, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nexport const AccountClient: React.FC = () => {\n const { setStepNav } = useStepNav()\n const { t } = useTranslation()\n\n React.useEffect(() => {\n const nav: StepNavItem[] = []\n\n nav.push({\n label: t('authentication:account'),\n url: '/account',\n })\n\n setStepNav(nav)\n }, [setStepNav, t])\n\n return null\n}\n"],"names":["useStepNav","useTranslation","React","AccountClient","setStepNav","t","useEffect","nav","push","label","url"],"mappings":"AAAA;AACA,SAA2BA,UAAU,EAAEC,cAAc,QAAQ,iBAAgB;AAC7E,OAAOC,WAAW,QAAO;AAEzB,OAAO,MAAMC,gBAA0B;IACrC,MAAM,EAAEC,UAAU,EAAE,GAAGJ;IACvB,MAAM,EAAEK,CAAC,EAAE,GAAGJ;IAEdC,MAAMI,SAAS,CAAC;QACd,MAAMC,MAAqB,EAAE;QAE7BA,IAAIC,IAAI,CAAC;YACPC,OAAOJ,EAAE;YACTK,KAAK;QACP;QAEAN,WAAWG;IACb,GAAG;QAACH;QAAYC;KAAE;IAElB,OAAO;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,SAAS,CAAA;AAKtE,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,SAAS,CAAA;AAKtE,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8F5C,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { DocumentInfoProvider, HydrateAuthProvider } from '@payloadcms/ui';
|
|
2
|
+
import { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui';
|
|
3
3
|
import { RenderCustomComponent } from '@payloadcms/ui/shared';
|
|
4
4
|
import { notFound } from 'next/navigation.js';
|
|
5
5
|
import React from 'react';
|
|
@@ -8,6 +8,7 @@ import { getDocumentData } from '../Document/getDocumentData.js';
|
|
|
8
8
|
import { getDocumentPermissions } from '../Document/getDocumentPermissions.js';
|
|
9
9
|
import { EditView } from '../Edit/index.js';
|
|
10
10
|
import { Settings } from './Settings/index.js';
|
|
11
|
+
import { AccountClient } from './index.client.js';
|
|
11
12
|
export { generateAccountMetadata } from './meta.js';
|
|
12
13
|
export const Account = async ({ initPageResult, params, searchParams })=>{
|
|
13
14
|
const { languageOptions, locale, permissions, req, req: { i18n, payload, payload: { config }, user } } = initPageResult;
|
|
@@ -32,7 +33,7 @@ export const Account = async ({ initPageResult, params, searchParams })=>{
|
|
|
32
33
|
routeSegments: [],
|
|
33
34
|
searchParams
|
|
34
35
|
};
|
|
35
|
-
return /*#__PURE__*/
|
|
36
|
+
return /*#__PURE__*/ _jsx(DocumentInfoProvider, {
|
|
36
37
|
AfterFields: /*#__PURE__*/ _jsx(Settings, {
|
|
37
38
|
i18n: i18n,
|
|
38
39
|
languageOptions: languageOptions
|
|
@@ -46,32 +47,36 @@ export const Account = async ({ initPageResult, params, searchParams })=>{
|
|
|
46
47
|
initialData: data,
|
|
47
48
|
initialState: formState,
|
|
48
49
|
isEditing: true,
|
|
49
|
-
children:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
50
|
+
children: /*#__PURE__*/ _jsxs(EditDepthProvider, {
|
|
51
|
+
depth: 1,
|
|
52
|
+
children: [
|
|
53
|
+
/*#__PURE__*/ _jsx(DocumentHeader, {
|
|
54
|
+
collectionConfig: collectionConfig,
|
|
55
|
+
config: payload.config,
|
|
56
|
+
hideTabs: true,
|
|
57
|
+
i18n: i18n,
|
|
58
|
+
permissions: permissions
|
|
59
|
+
}),
|
|
60
|
+
/*#__PURE__*/ _jsx(HydrateAuthProvider, {
|
|
61
|
+
permissions: permissions
|
|
62
|
+
}),
|
|
63
|
+
/*#__PURE__*/ _jsx(RenderCustomComponent, {
|
|
64
|
+
CustomComponent: typeof CustomAccountComponent === 'function' ? CustomAccountComponent : undefined,
|
|
65
|
+
DefaultComponent: EditView,
|
|
66
|
+
componentProps: viewComponentProps,
|
|
67
|
+
serverOnlyProps: {
|
|
68
|
+
i18n,
|
|
69
|
+
locale,
|
|
70
|
+
params,
|
|
71
|
+
payload,
|
|
72
|
+
permissions,
|
|
73
|
+
searchParams,
|
|
74
|
+
user
|
|
75
|
+
}
|
|
76
|
+
}),
|
|
77
|
+
/*#__PURE__*/ _jsx(AccountClient, {})
|
|
78
|
+
]
|
|
79
|
+
})
|
|
75
80
|
});
|
|
76
81
|
}
|
|
77
82
|
return notFound();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Account/index.tsx"],"sourcesContent":["import type { AdminViewProps, ServerSideEditViewProps } from 'payload'\n\nimport { DocumentInfoProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderCustomComponent } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { EditView } from '../Edit/index.js'\nimport { Settings } from './Settings/index.js'\n\nexport { generateAccountMetadata } from './meta.js'\n\nexport const Account: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n languageOptions,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: { components: { views: { Account: CustomAccountComponent } = {} } = {}, user: userSlug },\n routes: { api },\n serverURL,\n } = config\n\n const collectionConfig = config.collections.find((collection) => collection.slug === userSlug)\n\n if (collectionConfig && user?.id) {\n const { docPermissions, hasPublishPermission, hasSavePermission } =\n await getDocumentPermissions({\n id: user.id,\n collectionConfig,\n data: user,\n req,\n })\n\n const { data, formState } = await getDocumentData({\n id: user.id,\n collectionConfig,\n locale,\n req,\n })\n\n const viewComponentProps: ServerSideEditViewProps = {\n initPageResult,\n params,\n routeSegments: [],\n searchParams,\n }\n\n return (\n <DocumentInfoProvider\n AfterFields={<Settings i18n={i18n} languageOptions={languageOptions} />}\n apiURL={`${serverURL}${api}/${userSlug}${user?.id ? `/${user.id}` : ''}`}\n collectionSlug={userSlug}\n docPermissions={docPermissions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={user?.id.toString()}\n initialData={data}\n initialState={formState}\n isEditing\n >\n <DocumentHeader\n
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Account/index.tsx"],"sourcesContent":["import type { AdminViewProps, ServerSideEditViewProps } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderCustomComponent } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { EditView } from '../Edit/index.js'\nimport { Settings } from './Settings/index.js'\nimport { AccountClient } from './index.client.js'\n\nexport { generateAccountMetadata } from './meta.js'\n\nexport const Account: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n languageOptions,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: { components: { views: { Account: CustomAccountComponent } = {} } = {}, user: userSlug },\n routes: { api },\n serverURL,\n } = config\n\n const collectionConfig = config.collections.find((collection) => collection.slug === userSlug)\n\n if (collectionConfig && user?.id) {\n const { docPermissions, hasPublishPermission, hasSavePermission } =\n await getDocumentPermissions({\n id: user.id,\n collectionConfig,\n data: user,\n req,\n })\n\n const { data, formState } = await getDocumentData({\n id: user.id,\n collectionConfig,\n locale,\n req,\n })\n\n const viewComponentProps: ServerSideEditViewProps = {\n initPageResult,\n params,\n routeSegments: [],\n searchParams,\n }\n\n return (\n <DocumentInfoProvider\n AfterFields={<Settings i18n={i18n} languageOptions={languageOptions} />}\n apiURL={`${serverURL}${api}/${userSlug}${user?.id ? `/${user.id}` : ''}`}\n collectionSlug={userSlug}\n docPermissions={docPermissions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={user?.id.toString()}\n initialData={data}\n initialState={formState}\n isEditing\n >\n <EditDepthProvider depth={1}>\n <DocumentHeader\n collectionConfig={collectionConfig}\n config={payload.config}\n hideTabs\n i18n={i18n}\n permissions={permissions}\n />\n <HydrateAuthProvider permissions={permissions} />\n <RenderCustomComponent\n CustomComponent={\n typeof CustomAccountComponent === 'function' ? CustomAccountComponent : undefined\n }\n DefaultComponent={EditView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n <AccountClient />\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n }\n\n return notFound()\n}\n"],"names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderCustomComponent","notFound","React","DocumentHeader","getDocumentData","getDocumentPermissions","EditView","Settings","AccountClient","generateAccountMetadata","Account","initPageResult","params","searchParams","languageOptions","locale","permissions","req","i18n","payload","config","user","admin","components","views","CustomAccountComponent","userSlug","routes","api","serverURL","collectionConfig","collections","find","collection","slug","id","docPermissions","hasPublishPermission","hasSavePermission","data","formState","viewComponentProps","routeSegments","AfterFields","apiURL","collectionSlug","toString","initialData","initialState","isEditing","depth","hideTabs","CustomComponent","undefined","DefaultComponent","componentProps","serverOnlyProps"],"mappings":";AAEA,SAASA,oBAAoB,EAAEC,iBAAiB,EAAEC,mBAAmB,QAAQ,iBAAgB;AAC7F,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,yCAAwC;AACvE,SAASC,eAAe,QAAQ,iCAAgC;AAChE,SAASC,sBAAsB,QAAQ,wCAAuC;AAC9E,SAASC,QAAQ,QAAQ,mBAAkB;AAC3C,SAASC,QAAQ,QAAQ,sBAAqB;AAC9C,SAASC,aAAa,QAAQ,oBAAmB;AAEjD,SAASC,uBAAuB,QAAQ,YAAW;AAEnD,OAAO,MAAMC,UAAoC,OAAO,EACtDC,cAAc,EACdC,MAAM,EACNC,YAAY,EACb;IACC,MAAM,EACJC,eAAe,EACfC,MAAM,EACNC,WAAW,EACXC,GAAG,EACHA,KAAK,EACHC,IAAI,EACJC,OAAO,EACPA,SAAS,EAAEC,MAAM,EAAE,EACnBC,IAAI,EACL,EACF,GAAGV;IAEJ,MAAM,EACJW,OAAO,EAAEC,YAAY,EAAEC,OAAO,EAAEd,SAASe,sBAAsB,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAEJ,MAAMK,QAAQ,EAAE,EAC/FC,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGT;IAEJ,MAAMU,mBAAmBV,OAAOW,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKR;IAErF,IAAII,oBAAoBT,MAAMc,IAAI;QAChC,MAAM,EAAEC,cAAc,EAAEC,oBAAoB,EAAEC,iBAAiB,EAAE,GAC/D,MAAMjC,uBAAuB;YAC3B8B,IAAId,KAAKc,EAAE;YACXL;YACAS,MAAMlB;YACNJ;QACF;QAEF,MAAM,EAAEsB,IAAI,EAAEC,SAAS,EAAE,GAAG,MAAMpC,gBAAgB;YAChD+B,IAAId,KAAKc,EAAE;YACXL;YACAf;YACAE;QACF;QAEA,MAAMwB,qBAA8C;YAClD9B;YACAC;YACA8B,eAAe,EAAE;YACjB7B;QACF;QAEA,qBACE,KAAChB;YACC8C,2BAAa,KAACpC;gBAASW,MAAMA;gBAAMJ,iBAAiBA;;YACpD8B,QAAQ,CAAC,EAAEf,UAAU,EAAED,IAAI,CAAC,EAAEF,SAAS,EAAEL,MAAMc,KAAK,CAAC,CAAC,EAAEd,KAAKc,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;YACxEU,gBAAgBnB;YAChBU,gBAAgBA;YAChBC,sBAAsBA;YACtBC,mBAAmBA;YACnBH,IAAId,MAAMc,GAAGW;YACbC,aAAaR;YACbS,cAAcR;YACdS,SAAS;sBAET,cAAA,MAACnD;gBAAkBoD,OAAO;;kCACxB,KAAC/C;wBACC2B,kBAAkBA;wBAClBV,QAAQD,QAAQC,MAAM;wBACtB+B,QAAQ;wBACRjC,MAAMA;wBACNF,aAAaA;;kCAEf,KAACjB;wBAAoBiB,aAAaA;;kCAClC,KAAChB;wBACCoD,iBACE,OAAO3B,2BAA2B,aAAaA,yBAAyB4B;wBAE1EC,kBAAkBhD;wBAClBiD,gBAAgBd;wBAChBe,iBAAiB;4BACftC;4BACAH;4BACAH;4BACAO;4BACAH;4BACAH;4BACAQ;wBACF;;kCAEF,KAACb;;;;IAIT;IAEA,OAAOP;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIKey.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"APIKey.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAO3D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAuHvF,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
4
|
+
import { CopyToClipboard, FieldLabel, GenerateConfirmation, useComponentMap, useConfig, useDocumentInfo, useField, useFormFields, useTranslation } from '@payloadcms/ui';
|
|
4
5
|
import { text } from 'payload/shared';
|
|
5
6
|
import React, { useEffect, useMemo, useState } from 'react';
|
|
6
7
|
import { v4 as uuidv4 } from 'uuid';
|
|
@@ -10,9 +11,15 @@ const fieldBaseClass = 'field-type';
|
|
|
10
11
|
export const APIKey = ({ enabled, readOnly })=>{
|
|
11
12
|
const [initialAPIKey] = useState(uuidv4());
|
|
12
13
|
const [highlightedField, setHighlightedField] = useState(false);
|
|
13
|
-
const { t } = useTranslation();
|
|
14
|
+
const { i18n, t } = useTranslation();
|
|
14
15
|
const config = useConfig();
|
|
15
16
|
const apiKey = useFormFields(([fields])=>fields && fields[path] || null);
|
|
17
|
+
const { collectionSlug, docPermissions } = useDocumentInfo();
|
|
18
|
+
const { getFieldMap } = useComponentMap();
|
|
19
|
+
const fieldMap = getFieldMap({
|
|
20
|
+
collectionSlug
|
|
21
|
+
});
|
|
22
|
+
const apiKeyField = fieldMap.find((field)=>'name' in field && field.name === 'apiKey');
|
|
16
23
|
const validate = (val)=>text(val, {
|
|
17
24
|
name: 'apiKey',
|
|
18
25
|
type: 'text',
|
|
@@ -31,19 +38,39 @@ export const APIKey = ({ enabled, readOnly })=>{
|
|
|
31
38
|
siblingData: {}
|
|
32
39
|
});
|
|
33
40
|
const apiKeyValue = apiKey?.value;
|
|
34
|
-
const
|
|
41
|
+
const apiKeyLabel = useMemo(()=>{
|
|
42
|
+
let label = 'API Key';
|
|
43
|
+
if (apiKeyField && apiKeyField.fieldComponentProps.label) {
|
|
44
|
+
label = apiKeyField.fieldComponentProps.label;
|
|
45
|
+
}
|
|
46
|
+
return getTranslation(label, i18n);
|
|
47
|
+
}, [
|
|
48
|
+
apiKeyField,
|
|
49
|
+
i18n
|
|
50
|
+
]);
|
|
51
|
+
const APIKeyLabelComponent = useMemo(()=>{
|
|
52
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
35
53
|
className: `${baseClass}__label`,
|
|
36
54
|
children: [
|
|
37
55
|
/*#__PURE__*/ _jsx("span", {
|
|
38
|
-
children:
|
|
56
|
+
children: apiKeyLabel
|
|
39
57
|
}),
|
|
40
58
|
/*#__PURE__*/ _jsx(CopyToClipboard, {
|
|
41
59
|
value: apiKeyValue
|
|
42
60
|
})
|
|
43
61
|
]
|
|
44
|
-
})
|
|
62
|
+
});
|
|
63
|
+
}, [
|
|
64
|
+
apiKeyLabel,
|
|
45
65
|
apiKeyValue
|
|
46
66
|
]);
|
|
67
|
+
const canUpdateAPIKey = useMemo(()=>{
|
|
68
|
+
if (docPermissions && docPermissions?.fields?.apiKey) {
|
|
69
|
+
return docPermissions.fields.apiKey.update.permission;
|
|
70
|
+
}
|
|
71
|
+
}, [
|
|
72
|
+
docPermissions
|
|
73
|
+
]);
|
|
47
74
|
const fieldType = useField({
|
|
48
75
|
path: 'apiKey',
|
|
49
76
|
validate
|
|
@@ -92,11 +119,11 @@ export const APIKey = ({ enabled, readOnly })=>{
|
|
|
92
119
|
].filter(Boolean).join(' '),
|
|
93
120
|
children: [
|
|
94
121
|
/*#__PURE__*/ _jsx(FieldLabel, {
|
|
95
|
-
CustomLabel:
|
|
122
|
+
CustomLabel: APIKeyLabelComponent,
|
|
96
123
|
htmlFor: path
|
|
97
124
|
}),
|
|
98
125
|
/*#__PURE__*/ _jsx("input", {
|
|
99
|
-
"aria-label":
|
|
126
|
+
"aria-label": apiKeyLabel,
|
|
100
127
|
className: highlightedField ? 'highlight' : undefined,
|
|
101
128
|
disabled: true,
|
|
102
129
|
id: "apiKey",
|
|
@@ -106,7 +133,7 @@ export const APIKey = ({ enabled, readOnly })=>{
|
|
|
106
133
|
})
|
|
107
134
|
]
|
|
108
135
|
}),
|
|
109
|
-
!readOnly && /*#__PURE__*/ _jsx(GenerateConfirmation, {
|
|
136
|
+
!readOnly && canUpdateAPIKey && /*#__PURE__*/ _jsx(GenerateConfirmation, {
|
|
110
137
|
highlightField: highlightField,
|
|
111
138
|
setKey: ()=>setValue(uuidv4())
|
|
112
139
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport {\n CopyToClipboard,\n FieldLabel,\n GenerateConfirmation,\n useConfig,\n useField,\n useFormFields,\n useTranslation,\n} from '@payloadcms/ui'\nimport { text } from 'payload/shared'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ enabled: boolean; readOnly?: boolean }> = ({\n enabled,\n readOnly,\n}) => {\n const [initialAPIKey] = useState(uuidv4())\n const [highlightedField, setHighlightedField] = useState(false)\n const { t } = useTranslation()\n const config = useConfig()\n
|
|
1
|
+
{"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { FieldMap, PayloadRequest } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n CopyToClipboard,\n FieldDescription,\n FieldLabel,\n GenerateConfirmation,\n useComponentMap,\n useConfig,\n useDocumentInfo,\n useField,\n useFormFields,\n useTranslation,\n} from '@payloadcms/ui'\nimport { text } from 'payload/shared'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ readonly enabled: boolean; readonly readOnly?: boolean }> = ({\n enabled,\n readOnly,\n}) => {\n const [initialAPIKey] = useState(uuidv4())\n const [highlightedField, setHighlightedField] = useState(false)\n const { i18n, t } = useTranslation()\n const config = useConfig()\n const apiKey = useFormFields(([fields]) => (fields && fields[path]) || null)\n const { collectionSlug, docPermissions } = useDocumentInfo()\n\n const { getFieldMap } = useComponentMap()\n\n const fieldMap: FieldMap = getFieldMap({\n collectionSlug,\n })\n\n const apiKeyField = fieldMap.find((field) => 'name' in field && field.name === 'apiKey')\n\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n data: {},\n maxLength: 48,\n minLength: 24,\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n siblingData: {},\n })\n\n const apiKeyValue = apiKey?.value\n\n const apiKeyLabel = useMemo(() => {\n let label: Record<string, string> | string = 'API Key'\n\n if (apiKeyField && apiKeyField.fieldComponentProps.label) {\n label = apiKeyField.fieldComponentProps.label\n }\n\n return getTranslation(label, i18n)\n }, [apiKeyField, i18n])\n\n const APIKeyLabelComponent = useMemo(() => {\n return (\n <div className={`${baseClass}__label`}>\n <span>{apiKeyLabel}</span>\n <CopyToClipboard value={apiKeyValue as string} />\n </div>\n )\n }, [apiKeyLabel, apiKeyValue])\n\n const canUpdateAPIKey = useMemo(() => {\n if (docPermissions && docPermissions?.fields?.apiKey) {\n return docPermissions.fields.apiKey.update.permission\n }\n }, [docPermissions])\n\n const fieldType = useField({\n path: 'apiKey',\n validate,\n })\n\n const highlightField = () => {\n if (highlightedField) {\n setHighlightedField(false)\n }\n setTimeout(() => {\n setHighlightedField(true)\n }, 1)\n }\n\n const { setValue, value } = fieldType\n\n useEffect(() => {\n if (!apiKeyValue && enabled) {\n setValue(initialAPIKey)\n }\n if (!enabled && apiKeyValue) {\n setValue(null)\n }\n }, [apiKeyValue, enabled, setValue, initialAPIKey])\n\n useEffect(() => {\n if (highlightedField) {\n setTimeout(() => {\n setHighlightedField(false)\n }, 10000)\n }\n }, [highlightedField])\n\n if (!enabled) {\n return null\n }\n\n return (\n <React.Fragment>\n <div className={[fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' ')}>\n <FieldLabel CustomLabel={APIKeyLabelComponent} htmlFor={path} />\n <input\n aria-label={apiKeyLabel}\n className={highlightedField ? 'highlight' : undefined}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type=\"text\"\n value={(value as string) || ''}\n />\n </div>\n {!readOnly && canUpdateAPIKey && (\n <GenerateConfirmation highlightField={highlightField} setKey={() => setValue(uuidv4())} />\n )}\n </React.Fragment>\n )\n}\n"],"names":["getTranslation","CopyToClipboard","FieldLabel","GenerateConfirmation","useComponentMap","useConfig","useDocumentInfo","useField","useFormFields","useTranslation","text","React","useEffect","useMemo","useState","v4","uuidv4","path","baseClass","fieldBaseClass","APIKey","enabled","readOnly","initialAPIKey","highlightedField","setHighlightedField","i18n","t","config","apiKey","fields","collectionSlug","docPermissions","getFieldMap","fieldMap","apiKeyField","find","field","name","validate","val","type","data","maxLength","minLength","preferences","req","payload","siblingData","apiKeyValue","value","apiKeyLabel","label","fieldComponentProps","APIKeyLabelComponent","div","className","span","canUpdateAPIKey","update","permission","fieldType","highlightField","setTimeout","setValue","Fragment","filter","Boolean","join","CustomLabel","htmlFor","input","aria-label","undefined","disabled","id","setKey"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAM9D,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAM9D,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAuPnC,CAAA"}
|
|
@@ -42,7 +42,9 @@ export const DefaultEditView = ()=>{
|
|
|
42
42
|
const classes = [
|
|
43
43
|
baseClass,
|
|
44
44
|
id && `${baseClass}--is-editing`
|
|
45
|
-
]
|
|
45
|
+
];
|
|
46
|
+
if (globalSlug) classes.push(`global-edit--${globalSlug}`);
|
|
47
|
+
if (collectionSlug) classes.push(`collection-edit--${collectionSlug}`);
|
|
46
48
|
const [schemaPath, setSchemaPath] = React.useState(entitySlug);
|
|
47
49
|
const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(()=>{
|
|
48
50
|
if (operation === 'create' && collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) return true;
|
|
@@ -119,7 +121,7 @@ export const DefaultEditView = ()=>{
|
|
|
119
121
|
serverURL
|
|
120
122
|
]);
|
|
121
123
|
return /*#__PURE__*/ _jsx("main", {
|
|
122
|
-
className: classes,
|
|
124
|
+
className: classes.filter(Boolean).join(' '),
|
|
123
125
|
children: /*#__PURE__*/ _jsx(OperationProvider, {
|
|
124
126
|
operation: operation,
|
|
125
127
|
children: /*#__PURE__*/ _jsxs(Form, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n type FormProps,\n OperationProvider,\n Upload,\n useAuth,\n useComponentMap,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useEditDepth,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport { formatAdminURL, getFormState } from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\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 AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { getComponentMap, getFieldMap } = useComponentMap()\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 {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const componentMap = getComponentMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\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 preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`].filter(Boolean).join(' ')\n\n const [schemaPath, setSchemaPath] = React.useState(entitySlug)\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (\n operation === 'create' &&\n collectionConfig.auth &&\n !collectionConfig.auth.disableLocalStrategy\n )\n return true\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 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 ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath,\n },\n serverURL,\n })\n },\n [apiRoute, collectionSlug, schemaPath, getDocPreferences, globalSlug, id, operation, serverURL],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit={!validateBeforeSubmit}\n disabled={isInitializing || !hasSavePermission}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {BeforeDocument}\n {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 hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\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 useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {componentMap.Upload !== undefined ? (\n componentMap.Upload\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 fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={schemaPath}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","OperationProvider","Upload","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useUploadEdits","formatAdminURL","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","useState","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","isInitializing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","getComponentMap","getFieldMap","depth","params","reportUpdate","resetUploadEdits","locale","get","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","componentMap","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","schemaPath","setSchemaPath","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","json","updatedAt","result","Date","toISOString","redirectRoute","path","doc","push","onChange","formState","prevFormState","docPreferences","body","main","className","disableValidationOnSubmit","disabled","method","onSuccess","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n type FormProps,\n OperationProvider,\n Upload,\n useAuth,\n useComponentMap,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useEditDepth,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport { formatAdminURL, getFormState } from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\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 AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { getComponentMap, getFieldMap } = useComponentMap()\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 {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const componentMap = getComponentMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\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 preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`]\n\n if (globalSlug) classes.push(`global-edit--${globalSlug}`)\n if (collectionSlug) classes.push(`collection-edit--${collectionSlug}`)\n\n const [schemaPath, setSchemaPath] = React.useState(entitySlug)\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (\n operation === 'create' &&\n collectionConfig.auth &&\n !collectionConfig.auth.disableLocalStrategy\n )\n return true\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 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 ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath,\n },\n serverURL,\n })\n },\n [apiRoute, collectionSlug, schemaPath, getDocPreferences, globalSlug, id, operation, serverURL],\n )\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit={!validateBeforeSubmit}\n disabled={isInitializing || !hasSavePermission}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {BeforeDocument}\n {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 hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\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 useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {componentMap.Upload !== undefined ? (\n componentMap.Upload\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 fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={schemaPath}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","OperationProvider","Upload","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useUploadEdits","formatAdminURL","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","useState","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","isInitializing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","getComponentMap","getFieldMap","depth","params","reportUpdate","resetUploadEdits","locale","get","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","componentMap","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","push","schemaPath","setSchemaPath","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","json","updatedAt","result","Date","toISOString","redirectRoute","path","doc","onChange","formState","prevFormState","docPreferences","body","main","className","filter","Boolean","join","disableValidationOnSubmit","disabled","method","onSuccess","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/Default/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/Default/index.tsx"],"names":[],"mappings":"AAmCA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EA0KnC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use client';
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-misused-promises */ 'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { getTranslation } from '@payloadcms/translations';
|
|
4
4
|
import { Button, DeleteMany, EditMany, Gutter, ListControls, ListSelection, Pagination, PerPage, Pill, PublishMany, RelationshipProvider, SelectionProvider, SetViewActions, StaggeredShimmers, Table, UnpublishMany, useComponentMap, useConfig, useEditDepth, useListInfo, useListQuery, useSearchParams, useStepNav, useTranslation, useWindowInfo } from '@payloadcms/ui';
|
|
@@ -46,7 +46,7 @@ export const DefaultListView = ()=>{
|
|
|
46
46
|
drawerDepth
|
|
47
47
|
]);
|
|
48
48
|
return /*#__PURE__*/ _jsxs("div", {
|
|
49
|
-
className: baseClass
|
|
49
|
+
className: `${baseClass} ${baseClass}--${collectionSlug}`,
|
|
50
50
|
children: [
|
|
51
51
|
/*#__PURE__*/ _jsx(SetViewActions, {
|
|
52
52
|
actions: actionsMap?.List
|
|
@@ -75,10 +75,10 @@ export const DefaultListView = ()=>{
|
|
|
75
75
|
!smallBreak && /*#__PURE__*/ _jsx(ListSelection, {
|
|
76
76
|
label: getTranslation(collectionConfig.labels.plural, i18n)
|
|
77
77
|
}),
|
|
78
|
-
Description
|
|
78
|
+
Description ? /*#__PURE__*/ _jsx("div", {
|
|
79
79
|
className: `${baseClass}__sub-header`,
|
|
80
80
|
children: Description
|
|
81
|
-
})
|
|
81
|
+
}) : null
|
|
82
82
|
]
|
|
83
83
|
})
|
|
84
84
|
}),
|
|
@@ -157,33 +157,31 @@ export const DefaultListView = ()=>{
|
|
|
157
157
|
limits: collectionConfig?.admin?.pagination?.limits,
|
|
158
158
|
resetPage: data.totalDocs <= data.pagingCounter
|
|
159
159
|
}),
|
|
160
|
-
smallBreak && /*#__PURE__*/
|
|
160
|
+
smallBreak && /*#__PURE__*/ _jsxs("div", {
|
|
161
161
|
className: `${baseClass}__list-selection`,
|
|
162
|
-
children:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
]
|
|
186
|
-
})
|
|
162
|
+
children: [
|
|
163
|
+
/*#__PURE__*/ _jsx(ListSelection, {
|
|
164
|
+
label: getTranslation(collectionConfig.labels.plural, i18n)
|
|
165
|
+
}),
|
|
166
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
167
|
+
className: `${baseClass}__list-selection-actions`,
|
|
168
|
+
children: [
|
|
169
|
+
/*#__PURE__*/ _jsx(EditMany, {
|
|
170
|
+
collection: collectionConfig,
|
|
171
|
+
fieldMap: fieldMap
|
|
172
|
+
}),
|
|
173
|
+
/*#__PURE__*/ _jsx(PublishMany, {
|
|
174
|
+
collection: collectionConfig
|
|
175
|
+
}),
|
|
176
|
+
/*#__PURE__*/ _jsx(UnpublishMany, {
|
|
177
|
+
collection: collectionConfig
|
|
178
|
+
}),
|
|
179
|
+
/*#__PURE__*/ _jsx(DeleteMany, {
|
|
180
|
+
collection: collectionConfig
|
|
181
|
+
})
|
|
182
|
+
]
|
|
183
|
+
})
|
|
184
|
+
]
|
|
187
185
|
})
|
|
188
186
|
]
|
|
189
187
|
})
|