@payloadcms/next 3.0.0-beta.56 → 3.0.0-beta.58
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/prod/index.js +2 -2
- package/dist/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.js +8 -12
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
- package/dist/routes/rest/auth/forgotPassword.js +7 -3
- package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
- package/dist/routes/rest/auth/login.d.ts.map +1 -1
- package/dist/routes/rest/auth/login.js +9 -4
- package/dist/routes/rest/auth/login.js.map +1 -1
- package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
- package/dist/routes/rest/auth/registerFirstUser.js +9 -2
- package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
- package/dist/routes/rest/auth/verifyEmail.js +1 -1
- package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
- package/dist/routes/rest/buildFormState.d.ts +2 -2
- package/dist/routes/rest/buildFormState.d.ts.map +1 -1
- package/dist/routes/rest/buildFormState.js.map +1 -1
- package/dist/routes/rest/files/checkFileAccess.d.ts +2 -2
- package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
- package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
- package/dist/routes/rest/files/getFile.d.ts +2 -2
- package/dist/routes/rest/files/getFile.d.ts.map +1 -1
- package/dist/routes/rest/files/getFile.js.map +1 -1
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +59 -91
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/index.d.ts +2 -2
- package/dist/routes/rest/og/index.d.ts.map +1 -1
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts +2 -2
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/routes/rest/types.d.ts +7 -7
- package/dist/routes/rest/types.d.ts.map +1 -1
- package/dist/routes/rest/types.js.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.d.ts +3 -6
- package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.js +15 -18
- package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
- package/dist/utilities/addLocalesToRequest.d.ts +2 -5
- package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
- package/dist/utilities/addLocalesToRequest.js +8 -9
- package/dist/utilities/addLocalesToRequest.js.map +1 -1
- package/dist/utilities/headersWithCors.d.ts +2 -2
- package/dist/utilities/headersWithCors.d.ts.map +1 -1
- package/dist/utilities/headersWithCors.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +1 -0
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +2 -2
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +10 -3
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/types.d.ts +1 -0
- package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +1 -0
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +34 -6
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +3 -1
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +38 -8
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +7 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +3 -1
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtE,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAA;CAChC,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtE,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAA;CAChC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, VerifyConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: boolean\n email: string\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n useAPIKey?: boolean\n verify?: VerifyConfig | boolean\n}\n"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, VerifyConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: boolean\n email: string\n loginWithUsername: boolean\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n useAPIKey?: boolean\n verify?: VerifyConfig | boolean\n}\n"],"names":[],"mappings":"AAEA,WAWC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAMpD,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,KAAgC,MAAM,OAAO,CAAA;AAMpD,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAyOnC,CAAA"}
|
|
@@ -167,6 +167,7 @@ export const DefaultEditView = ()=>{
|
|
|
167
167
|
collectionSlug: collectionConfig.slug,
|
|
168
168
|
disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
|
|
169
169
|
email: data?.email,
|
|
170
|
+
loginWithUsername: auth?.loginWithUsername,
|
|
170
171
|
operation: operation,
|
|
171
172
|
readOnly: !hasSavePermission,
|
|
172
173
|
requirePassword: !id,
|
|
@@ -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 useFormQueryParams,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } 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 { dispatchFormQueryParams } = useFormQueryParams()\n const { getComponentMap, getFieldMap } = useComponentMap()\n const params = useSearchParams()\n const depth = useEditDepth()\n const { reportUpdate } = useDocumentEvents()\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const locale = params.get('locale')\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 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 = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits: null,\n },\n })\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 locale,\n router,\n dispatchFormQueryParams,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\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 operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n useAPIKey={auth.useAPIKey}\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={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","OperationProvider","Upload","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useFormQueryParams","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","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","dispatchFormQueryParams","getComponentMap","getFieldMap","params","depth","reportUpdate","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","locale","get","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","componentMap","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","type","uploadEdits","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"mappings":"AAAA;;AAEA,SACEA,gBAAgB,EAChBC,cAAc,EACdC,IAAI,EAEJC,iBAAiB,EACjBC,MAAM,EACNC,OAAO,EACPC,eAAe,EACfC,SAAS,EACTC,iBAAiB,EACjBC,eAAe,EACfC,YAAY,EACZC,kBAAkB,QACb,iBAAgB;AACvB,SAASC,YAAY,QAAQ,wBAAuB;AACpD,SAASC,SAAS,EAAEC,eAAe,QAAQ,qBAAoB;AAC/D,OAAOC,SAASC,QAAQ,EAAEC,WAAW,QAAQ,QAAO;AAEpD,SAASC,kBAAkB,QAAQ,gDAA+C;AAClF,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,kBAAkB,QAAQ,gCAA+B;AAClE,SAASC,gBAAgB,QAAQ,8BAA6B;AAG9D,MAAMC,YAAY;AAElB,gDAAgD;AAChD,iDAAiD;AACjD,wEAAwE;AACxE,OAAO,MAAMC,kBAA4B;IACvC,MAAM,EACJC,EAAE,EACFC,aAAa,EACbC,WAAW,EACXC,cAAc,EACdC,YAAY,EACZC,MAAM,EACNC,MAAM,EACNC,cAAc,EACdC,cAAc,EACdC,yBAAyB,EACzBC,cAAc,EACdC,iBAAiB,EACjBC,WAAW,EACXC,UAAU,EACVC,oBAAoB,EACpBC,iBAAiB,EACjBC,aAAaC,IAAI,EACjBC,YAAY,EACZC,SAAS,EACTC,cAAc,EACdC,QAAQC,iBAAiB,EAC1B,GAAGrC;IAEJ,MAAM,EAAEsC,kBAAkB,EAAEC,IAAI,EAAE,GAAG3C;IACrC,MAAM4C,SAAS1C;IACf,MAAM2C,SAASrC;IACf,MAAM,EAAEsC,uBAAuB,EAAE,GAAGxC;IACpC,MAAM,EAAEyC,eAAe,EAAEC,WAAW,EAAE,GAAG/C;IACzC,MAAMgD,SAASxC;IACf,MAAMyC,QAAQ7C;IACd,MAAM,EAAE8C,YAAY,EAAE,GAAGhD;IAEzB,MAAM,EACJiD,OAAO,EAAET,MAAMU,QAAQ,EAAE,EACzBC,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEJ,OAAOK,UAAU,EAAEC,KAAKC,QAAQ,EAAE,EAC5CC,SAAS,EACV,GAAGhB;IAEJ,MAAMiB,SAASZ,OAAOa,GAAG,CAAC;IAE1B,MAAMC,mBACJrC,kBAAkB4B,YAAYU,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKxC;IAEzE,MAAMyC,eAAenC,cAAcuB,QAAQS,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKlC;IAE5E,MAAMqC,aAAaN,kBAAkBG,QAAQC,cAAcD;IAE3D,MAAMI,eAAevB,gBAAgB;QACnCrB,gBAAgBqC,kBAAkBG;QAClClC,YAAYmC,cAAcD;IAC5B;IACA,MAAMK,WAAWvB,YAAY;QAC3BtB,gBAAgBqC,kBAAkBG;QAClClC,YAAYmC,cAAcD;IAC5B;IAEA,MAAMM,YAAY9C,kBAAkB,CAACP,KAAK,WAAW;IAErD,MAAMsD,OAAOV,mBAAmBA,iBAAiBU,IAAI,GAAGC;IACxD,MAAMC,SAASZ,mBAAmBA,iBAAiBY,MAAM,GAAGD;IAE5D,MAAME,4BACJ,AAAC,CAAA,CAAEb,CAAAA,kBAAkBc,UAAUC,UAAUf,kBAAkBc,UAAUC,QAAQC,QAAO,KAClF,CAAEZ,CAAAA,cAAcU,UAAUC,UAAUX,cAAcU,UAAUC,QAAQC,QAAO,CAAC,KAC9E,CAACnD;IAEH,MAAMoD,UAAU;QAAC/D;QAAWE,MAAM,CAAC,EAAEF,UAAU,YAAY,CAAC;KAAC,CAACgE,MAAM,CAACC,SAASC,IAAI,CAAC;IAEnF,MAAM3C,SAAS5B,YACb,CAACwE;QACCjC,aAAa;YACXhC;YACAkD;YACAgB,WAAWD,MAAME,QAAQD,aAAa,IAAIE,OAAOC,WAAW;QAC9D;QAEA,kDAAkD;QAClD,4CAA4C;QAC5C,IAAI7C,QAAQjB,mBAAmB2B,YAAYlC,OAAOwB,KAAKxB,EAAE,EAAE;YACzD,KAAKuB;QACP;QAEA,KAAKX;QAEL,IAAI,OAAOU,sBAAsB,YAAY;YAC3C,KAAKA,kBAAkB;gBACrB,GAAG2C,IAAI;gBACPZ,WAAWrD,KAAK,WAAW;YAC7B;QACF;QAEA,IAAI,CAACmB,aAAaY,QAAQ,GAAG;YAC3B,+CAA+C;YAC/C,MAAMuC,gBAAgB,CAAC,EAAEhC,WAAW,aAAa,EAAE/B,eAAe,CAAC,EAAE0D,MAAMM,KAAKvE,GAAG,EAAE0C,SAAS,CAAC,QAAQ,EAAEA,OAAO,CAAC,GAAG,GAAG,CAAC;YACxHhB,OAAO8C,IAAI,CAACF;QACd,OAAO;YACL3C,wBAAwB;gBACtB8C,MAAM;gBACN3C,QAAQ;oBACN4C,aAAa;gBACf;YACF;QACF;IACF,GACA;QACEpD;QACAY;QACAF;QACAhC;QACAkD;QACA1B;QACAO;QACAxB;QACAK;QACAO;QACAI;QACAe;QACAI;QACAhB;QACAC;KACD;IAGH,MAAMgD,WAAqClF,YACzC,OAAO,EAAEmF,WAAWC,aAAa,EAAE;QACjC,MAAMC,iBAAiB,MAAMnE;QAE7B,OAAOvB,aAAa;YAClBoD;YACAuC,MAAM;gBACJ/E;gBACAO;gBACAuE;gBACAF,WAAWC;gBACXhE;gBACAwC;gBACA2B,YAAY9B;YACd;YACAT;QACF;IACF,GACA;QAACA;QAAWD;QAAUxC;QAAIqD;QAAWH;QAAY3C;QAAgBM;QAAYF;KAAkB;IAGjG,qBACE,KAACsE;QAAKC,WAAWrB;kBACf,cAAA,KAAClF;YAAkB0E,WAAWA;sBAC5B,cAAA,MAAC3E;gBACC2B,QAAQA;gBACR6E,WAAW,CAAC,EAAEpF,UAAU,MAAM,CAAC;gBAC/BqF,yBAAyB;gBACzBC,UAAUhE,kBAAkB,CAACL;gBAC7BG,cAAc,CAACE,kBAAkBF;gBACjCE,gBAAgBA;gBAChBiE,QAAQrF,KAAK,UAAU;gBACvB2E,UAAU;oBAACA;iBAAS;gBACpBW,WAAWjE;;oBAEVlB;oBACAsD,2CAA6B,KAAC/D;kCAC/B,KAACE;wBACCW,gBAAgBqC,kBAAkBG;wBAClClC,YAAYmC,cAAcD;wBAC1B/C,IAAIA;wBACJuF,aAAa3C,kBAAkB4C,QAAQC;wBACvCC,YAAY9C,kBAAkBX,OAAOyD;;kCAEvC,KAAC7F;wBACC+C,kBAAkBA;wBAClBnB,QAAQA;wBACRkE,UAAU5D,SAAS,IAAI/B,IAAI4F,aAAarC;wBACxCP,cAAcA;;kCAEhB,KAACxE;wBACC8B,QAAQA;wBACRW,MAAMA;wBACNT,gBAAgBA;wBAChBM,sBAAsBA;wBACtBC,mBAAmBA;wBACnBf,IAAIA;wBACJmB,WAAWA;wBACX0E,aAAanF;wBACbqC,MAAMH,kBAAkBG,QAAQC,cAAcD;;kCAEhD,KAACtE;wBACCyB,aAAaA;wBACbE,cACEA,8BACE,MAACZ;;gCACE8D,sBACC,KAAC3D;oCACCuF,WAAW,CAAC,EAAEpF,UAAU,MAAM,CAAC;oCAC/BS,gBAAgBqC,iBAAiBG,IAAI;oCACrC+C,sBAAsBlD,iBAAiBU,IAAI,EAAEwC;oCAC7CC,OAAO9E,MAAM8E;oCACb1C,WAAWA;oCACX2C,UAAU,CAACjF;oCACXkF,iBAAiB,CAACjG;oCAClBkG,WAAW5C,KAAK4C,SAAS;oCACzBC,QAAQ7C,KAAK6C,MAAM;;gCAGtB3C,wBACC,KAACjE,MAAMC,QAAQ;8CACZ2D,aAAavE,MAAM,KAAK2E,YACvBJ,aAAavE,MAAM,iBAEnB,KAACA;wCACC2B,gBAAgBqC,iBAAiBG,IAAI;wCACrC7B,cAAcA;wCACdkF,cAAc5C;;;;;wBAQ5B9C,gBAAgBA;wBAChB0C,UAAUA;wBACV4C,UAAU,CAACjF;wBACXiE,YAAY9B;;oBAEbjD;;;;;AAKX,EAAC"}
|
|
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 useFormQueryParams,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } 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 { dispatchFormQueryParams } = useFormQueryParams()\n const { getComponentMap, getFieldMap } = useComponentMap()\n const params = useSearchParams()\n const depth = useEditDepth()\n const { reportUpdate } = useDocumentEvents()\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const locale = params.get('locale')\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 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 = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits: null,\n },\n })\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 locale,\n router,\n dispatchFormQueryParams,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\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 useAPIKey={auth.useAPIKey}\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={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","OperationProvider","Upload","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useFormQueryParams","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","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","dispatchFormQueryParams","getComponentMap","getFieldMap","params","depth","reportUpdate","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","locale","get","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","componentMap","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","type","uploadEdits","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","loginWithUsername","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAgHtC,CAAA"}
|
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { EmailField, Form, FormSubmit, useConfig, useTranslation } from '@payloadcms/ui';
|
|
4
|
-
import { email } from 'payload/shared';
|
|
3
|
+
import { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@payloadcms/ui';
|
|
4
|
+
import { email, text } from 'payload/shared';
|
|
5
5
|
import React, { Fragment, useState } from 'react';
|
|
6
6
|
export const ForgotPasswordForm = ()=>{
|
|
7
7
|
const config = useConfig();
|
|
8
8
|
const { admin: { user: userSlug }, routes: { api } } = config;
|
|
9
9
|
const { t } = useTranslation();
|
|
10
10
|
const [hasSubmitted, setHasSubmitted] = useState(false);
|
|
11
|
+
const collectionConfig = config.collections?.find((collection)=>collection?.slug === userSlug);
|
|
12
|
+
const loginWithUsername = collectionConfig?.auth?.loginWithUsername;
|
|
11
13
|
const handleResponse = (res, successToast, errorToast)=>{
|
|
12
14
|
res.json().then(()=>{
|
|
13
15
|
setHasSubmitted(true);
|
|
14
16
|
successToast(t('general:submissionSuccessful'));
|
|
15
17
|
}).catch(()=>{
|
|
16
|
-
errorToast(t('authentication:emailNotValid'));
|
|
18
|
+
errorToast(loginWithUsername ? t('authentication:usernameNotValid') : t('authentication:emailNotValid'));
|
|
17
19
|
});
|
|
18
20
|
};
|
|
19
|
-
const initialState = {
|
|
21
|
+
const initialState = loginWithUsername ? {
|
|
22
|
+
username: {
|
|
23
|
+
initialValue: '',
|
|
24
|
+
valid: true,
|
|
25
|
+
value: undefined
|
|
26
|
+
}
|
|
27
|
+
} : {
|
|
20
28
|
email: {
|
|
21
29
|
initialValue: '',
|
|
22
30
|
valid: true,
|
|
@@ -45,9 +53,29 @@ export const ForgotPasswordForm = ()=>{
|
|
|
45
53
|
children: t('authentication:forgotPassword')
|
|
46
54
|
}),
|
|
47
55
|
/*#__PURE__*/ _jsx("p", {
|
|
48
|
-
children: t('authentication:forgotPasswordEmailInstructions')
|
|
56
|
+
children: loginWithUsername ? t('authentication:forgotPasswordUsernameInstructions') : t('authentication:forgotPasswordEmailInstructions')
|
|
49
57
|
}),
|
|
50
|
-
/*#__PURE__*/ _jsx(
|
|
58
|
+
loginWithUsername ? /*#__PURE__*/ _jsx(TextField, {
|
|
59
|
+
label: t('authentication:username'),
|
|
60
|
+
name: "username",
|
|
61
|
+
required: true,
|
|
62
|
+
validate: (value)=>text(value, {
|
|
63
|
+
name: 'username',
|
|
64
|
+
type: 'text',
|
|
65
|
+
data: {},
|
|
66
|
+
preferences: {
|
|
67
|
+
fields: {}
|
|
68
|
+
},
|
|
69
|
+
req: {
|
|
70
|
+
payload: {
|
|
71
|
+
config
|
|
72
|
+
},
|
|
73
|
+
t
|
|
74
|
+
},
|
|
75
|
+
required: true,
|
|
76
|
+
siblingData: {}
|
|
77
|
+
})
|
|
78
|
+
}) : /*#__PURE__*/ _jsx(EmailField, {
|
|
51
79
|
autoComplete: "email",
|
|
52
80
|
label: t('general:email'),
|
|
53
81
|
name: "email",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\nimport type { FormState,
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@payloadcms/ui'\nimport { email, text } from 'payload/shared'\nimport React, { Fragment, useState } from 'react'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const config = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const handleResponse: FormProps['handleResponse'] = (res, successToast, errorToast) => {\n res\n .json()\n .then(() => {\n setHasSubmitted(true)\n successToast(t('general:submissionSuccessful'))\n })\n .catch(() => {\n errorToast(\n loginWithUsername\n ? t('authentication:usernameNotValid')\n : t('authentication:emailNotValid'),\n )\n })\n }\n\n const initialState: FormState = loginWithUsername\n ? {\n username: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n : {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <Fragment>\n <h1>{t('authentication:emailSent')}</h1>\n <p>{t('authentication:checkYourEmailForPasswordReset')}</p>\n </Fragment>\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <h1>{t('authentication:forgotPassword')}</h1>\n <p>\n {loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')}\n </p>\n\n {loginWithUsername ? (\n <TextField\n label={t('authentication:username')}\n name=\"username\"\n required\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: { t } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit>{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["EmailField","Form","FormSubmit","TextField","useConfig","useTranslation","email","text","React","Fragment","useState","ForgotPasswordForm","config","admin","user","userSlug","routes","api","t","hasSubmitted","setHasSubmitted","collectionConfig","collections","find","collection","slug","loginWithUsername","auth","handleResponse","res","successToast","errorToast","json","then","catch","initialState","username","initialValue","valid","value","undefined","h1","p","action","method","label","name","required","validate","type","data","preferences","fields","req","payload","siblingData","autoComplete"],"mappings":"AAAA;;AAKA,SAASA,UAAU,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACnG,SAASC,KAAK,EAAEC,IAAI,QAAQ,iBAAgB;AAC5C,OAAOC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,QAAO;AAEjD,OAAO,MAAMC,qBAA+B;IAC1C,MAAMC,SAASR;IAEf,MAAM,EACJS,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEC,GAAG,EAAE,EAChB,GAAGL;IAEJ,MAAM,EAAEM,CAAC,EAAE,GAAGb;IACd,MAAM,CAACc,cAAcC,gBAAgB,GAAGV,SAAS;IACjD,MAAMW,mBAAmBT,OAAOU,WAAW,EAAEC,KAAK,CAACC,aAAeA,YAAYC,SAASV;IACvF,MAAMW,oBAAoBL,kBAAkBM,MAAMD;IAElD,MAAME,iBAA8C,CAACC,KAAKC,cAAcC;QACtEF,IACGG,IAAI,GACJC,IAAI,CAAC;YACJb,gBAAgB;YAChBU,aAAaZ,EAAE;QACjB,GACCgB,KAAK,CAAC;YACLH,WACEL,oBACIR,EAAE,qCACFA,EAAE;QAEV;IACJ;IAEA,MAAMiB,eAA0BT,oBAC5B;QACEU,UAAU;YACRC,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF,IACA;QACElC,OAAO;YACL+B,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF;IAEJ,IAAIrB,cAAc;QAChB,qBACE,MAACV;;8BACC,KAACgC;8BAAIvB,EAAE;;8BACP,KAACwB;8BAAGxB,EAAE;;;;IAGZ;IAEA,qBACE,MAACjB;QACC0C,QAAQ,CAAC,EAAE1B,IAAI,CAAC,EAAEF,SAAS,gBAAgB,CAAC;QAC5Ca,gBAAgBA;QAChBO,cAAcA;QACdS,QAAO;;0BAEP,KAACH;0BAAIvB,EAAE;;0BACP,KAACwB;0BACEhB,oBACGR,EAAE,uDACFA,EAAE;;YAGPQ,kCACC,KAACvB;gBACC0C,OAAO3B,EAAE;gBACT4B,MAAK;gBACLC,QAAQ;gBACRC,UAAU,CAACT,QACThC,KAAKgC,OAAO;wBACVO,MAAM;wBACNG,MAAM;wBACNC,MAAM,CAAC;wBACPC,aAAa;4BAAEC,QAAQ,CAAC;wBAAE;wBAC1BC,KAAK;4BACHC,SAAS;gCACP1C;4BACF;4BACAM;wBACF;wBACA6B,UAAU;wBACVQ,aAAa,CAAC;oBAChB;+BAIJ,KAACvD;gBACCwD,cAAa;gBACbX,OAAO3B,EAAE;gBACT4B,MAAK;gBACLC,QAAQ;gBACRC,UAAU,CAACT,QACTjC,MAAMiC,OAAO;wBACXO,MAAM;wBACNG,MAAM;wBACNC,MAAM,CAAC;wBACPC,aAAa;4BAAEC,QAAQ,CAAC;wBAAE;wBAC1BC,KAAK;4BAAEnC;wBAAE;wBACT6B,UAAU;wBACVQ,aAAa,CAAC;oBAChB;;0BAIN,KAACrD;0BAAYgB,EAAE;;;;AAGrB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAYpD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAYpD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8J7C,CAAA"}
|
package/dist/views/List/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import React, { Fragment } from 'react';
|
|
|
8
8
|
import { DefaultListView } from './Default/index.js';
|
|
9
9
|
export { generateListMetadata } from './meta.js';
|
|
10
10
|
export const ListView = async ({ initPageResult, params, searchParams })=>{
|
|
11
|
-
const { collectionConfig, locale: fullLocale, permissions, req: { i18n, locale, payload, payload: { config }, query, user }, visibleEntities } = initPageResult;
|
|
11
|
+
const { collectionConfig, locale: fullLocale, permissions, req, req: { i18n, locale, payload, payload: { config }, query, user }, visibleEntities } = initPageResult;
|
|
12
12
|
const collectionSlug = collectionConfig?.slug;
|
|
13
13
|
if (!permissions?.collections?.[collectionSlug]?.read?.permission) {
|
|
14
14
|
notFound();
|
|
@@ -20,6 +20,7 @@ export const ListView = async ({ initPageResult, params, searchParams })=>{
|
|
|
20
20
|
collection: 'payload-preferences',
|
|
21
21
|
depth: 0,
|
|
22
22
|
limit: 1,
|
|
23
|
+
req,
|
|
23
24
|
user,
|
|
24
25
|
where: {
|
|
25
26
|
key: {
|
|
@@ -59,6 +60,7 @@ export const ListView = async ({ initPageResult, params, searchParams })=>{
|
|
|
59
60
|
locale,
|
|
60
61
|
overrideAccess: false,
|
|
61
62
|
page,
|
|
63
|
+
req,
|
|
62
64
|
sort,
|
|
63
65
|
user,
|
|
64
66
|
where: whereQuery || {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { AdminViewProps, Where } from 'payload'\n\nimport {\n HydrateClientUser,\n ListInfoProvider,\n ListQueryProvider,\n TableColumnsProvider,\n} from '@payloadcms/ui'\nimport { RenderCustomComponent } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { createClientCollectionConfig, mergeListSearchAndWhere } from 'payload'\nimport { isNumber, isReactComponentOrFunction } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { DefaultListViewProps, ListPreferences } from './Default/types.js'\n\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n notFound()\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n key: {\n equals: preferenceKey,\n },\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin },\n } = config\n\n if (collectionConfig) {\n const {\n admin: { components: { views: { List: CustomList } = {} } = {} },\n } = collectionConfig\n\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n let CustomListView = null\n\n if (CustomList && typeof CustomList === 'function') {\n CustomListView = CustomList\n } else if (typeof CustomList === 'object' && isReactComponentOrFunction(CustomList.Component)) {\n CustomListView = CustomList.Component\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || collectionConfig.defaultSort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const viewComponentProps: DefaultListViewProps = {\n collectionSlug,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <ListInfoProvider\n collectionConfig={createClientCollectionConfig({\n collection: collectionConfig,\n t: initPageResult.req.i18n.t,\n })}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={`${admin}/collections/${collectionSlug}/create`}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderCustomComponent\n CustomComponent={CustomListView}\n DefaultComponent={DefaultListView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n collectionConfig,\n data,\n hasCreatePermission:\n permissions?.collections?.[collectionSlug]?.create?.permission,\n i18n,\n limit,\n listPreferences,\n locale: fullLocale,\n newDocumentURL: `${admin}/collections/${collectionSlug}/create`,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"names":["HydrateClientUser","ListInfoProvider","ListQueryProvider","TableColumnsProvider","RenderCustomComponent","notFound","createClientCollectionConfig","mergeListSearchAndWhere","isNumber","isReactComponentOrFunction","React","Fragment","DefaultListView","generateListMetadata","ListView","initPageResult","params","searchParams","collectionConfig","locale","fullLocale","permissions","req","i18n","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","key","equals","then","res","docs","value","error","routes","admin","components","views","List","CustomList","includes","CustomListView","Component","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","defaultSort","data","draft","fallbackLocale","overrideAccess","viewComponentProps","listSearchableFields","t","hasCreatePermission","create","newDocumentURL","modifySearchParams","enableRowSelections","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"mappings":";AAEA,SACEA,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,oBAAoB,QACf,iBAAgB;AACvB,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,4BAA4B,EAAEC,uBAAuB,QAAQ,UAAS;AAC/E,SAASC,QAAQ,EAAEC,0BAA0B,QAAQ,iBAAgB;AACrE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,SAASC,eAAe,QAAQ,qBAAoB;AAEpD,SAASC,oBAAoB,QAAQ,YAAW;AAEhD,OAAO,MAAMC,WAAqC,OAAO,EACvDC,cAAc,EACdC,MAAM,EACNC,YAAY,EACb;IACC,MAAM,EACJC,gBAAgB,EAChBC,QAAQC,UAAU,EAClBC,WAAW,EACXC,KAAK,EACHC,IAAI,EACJJ,MAAM,EACNK,OAAO,EACPA,SAAS,EAAEC,MAAM,EAAE,EACnBC,KAAK,EACLC,IAAI,EACL,EACDC,eAAe,EAChB,GAAGb;IAEJ,MAAMc,iBAAiBX,kBAAkBY;IAEzC,IAAI,CAACT,aAAaU,aAAa,CAACF,eAAe,EAAEG,MAAMC,YAAY;QACjE5B;IACF;IAEA,IAAI6B;IACJ,MAAMC,gBAAgB,CAAC,EAAEN,eAAe,KAAK,CAAC;IAE9C,IAAI;QACFK,kBAAmB,MAAMV,QACtBY,IAAI,CAAC;YACJC,YAAY;YACZC,OAAO;YACPC,OAAO;
|
|
1
|
+
{"version":3,"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { AdminViewProps, Where } from 'payload'\n\nimport {\n HydrateClientUser,\n ListInfoProvider,\n ListQueryProvider,\n TableColumnsProvider,\n} from '@payloadcms/ui'\nimport { RenderCustomComponent } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { createClientCollectionConfig, mergeListSearchAndWhere } from 'payload'\nimport { isNumber, isReactComponentOrFunction } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { DefaultListViewProps, ListPreferences } from './Default/types.js'\n\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n notFound()\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n key: {\n equals: preferenceKey,\n },\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin },\n } = config\n\n if (collectionConfig) {\n const {\n admin: { components: { views: { List: CustomList } = {} } = {} },\n } = collectionConfig\n\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n let CustomListView = null\n\n if (CustomList && typeof CustomList === 'function') {\n CustomListView = CustomList\n } else if (typeof CustomList === 'object' && isReactComponentOrFunction(CustomList.Component)) {\n CustomListView = CustomList.Component\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || collectionConfig.defaultSort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const viewComponentProps: DefaultListViewProps = {\n collectionSlug,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <ListInfoProvider\n collectionConfig={createClientCollectionConfig({\n collection: collectionConfig,\n t: initPageResult.req.i18n.t,\n })}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={`${admin}/collections/${collectionSlug}/create`}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderCustomComponent\n CustomComponent={CustomListView}\n DefaultComponent={DefaultListView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n collectionConfig,\n data,\n hasCreatePermission:\n permissions?.collections?.[collectionSlug]?.create?.permission,\n i18n,\n limit,\n listPreferences,\n locale: fullLocale,\n newDocumentURL: `${admin}/collections/${collectionSlug}/create`,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"names":["HydrateClientUser","ListInfoProvider","ListQueryProvider","TableColumnsProvider","RenderCustomComponent","notFound","createClientCollectionConfig","mergeListSearchAndWhere","isNumber","isReactComponentOrFunction","React","Fragment","DefaultListView","generateListMetadata","ListView","initPageResult","params","searchParams","collectionConfig","locale","fullLocale","permissions","req","i18n","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","key","equals","then","res","docs","value","error","routes","admin","components","views","List","CustomList","includes","CustomListView","Component","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","defaultSort","data","draft","fallbackLocale","overrideAccess","viewComponentProps","listSearchableFields","t","hasCreatePermission","create","newDocumentURL","modifySearchParams","enableRowSelections","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAkBzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAwHA,CAAA"}
|
|
@@ -4,25 +4,35 @@ import LinkImport from 'next/link.js';
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
const baseClass = 'login__form';
|
|
6
6
|
const Link = LinkImport.default || LinkImport;
|
|
7
|
-
import { EmailField, Form, FormSubmit, PasswordField, useConfig, useTranslation } from '@payloadcms/ui';
|
|
8
|
-
import { email, password } from 'payload/shared';
|
|
7
|
+
import { EmailField, Form, FormSubmit, PasswordField, TextField, useConfig, useTranslation } from '@payloadcms/ui';
|
|
8
|
+
import { email, password, text } from 'payload/shared';
|
|
9
9
|
export const LoginForm = ({ searchParams })=>{
|
|
10
10
|
const config = useConfig();
|
|
11
11
|
const { admin: { autoLogin, routes: { forgot: forgotRoute }, user: userSlug }, routes: { admin, api } } = config;
|
|
12
|
+
const collectionConfig = config.collections?.find((collection)=>collection?.slug === userSlug);
|
|
13
|
+
const loginWithUsername = collectionConfig?.auth?.loginWithUsername;
|
|
12
14
|
const { t } = useTranslation();
|
|
13
15
|
const prefillForm = autoLogin && autoLogin.prefillOnly;
|
|
14
16
|
const initialState = {
|
|
15
|
-
email: {
|
|
16
|
-
initialValue: prefillForm ? autoLogin.email : undefined,
|
|
17
|
-
valid: true,
|
|
18
|
-
value: prefillForm ? autoLogin.email : undefined
|
|
19
|
-
},
|
|
20
17
|
password: {
|
|
21
18
|
initialValue: prefillForm ? autoLogin.password : undefined,
|
|
22
19
|
valid: true,
|
|
23
20
|
value: prefillForm ? autoLogin.password : undefined
|
|
24
21
|
}
|
|
25
22
|
};
|
|
23
|
+
if (loginWithUsername) {
|
|
24
|
+
initialState.username = {
|
|
25
|
+
initialValue: prefillForm ? autoLogin.username : undefined,
|
|
26
|
+
valid: true,
|
|
27
|
+
value: prefillForm ? autoLogin.username : undefined
|
|
28
|
+
};
|
|
29
|
+
} else {
|
|
30
|
+
initialState.email = {
|
|
31
|
+
initialValue: prefillForm ? autoLogin.email : undefined,
|
|
32
|
+
valid: true,
|
|
33
|
+
value: prefillForm ? autoLogin.email : undefined
|
|
34
|
+
};
|
|
35
|
+
}
|
|
26
36
|
return /*#__PURE__*/ _jsxs(Form, {
|
|
27
37
|
action: `${api}/${userSlug}/login`,
|
|
28
38
|
className: baseClass,
|
|
@@ -35,7 +45,27 @@ export const LoginForm = ({ searchParams })=>{
|
|
|
35
45
|
/*#__PURE__*/ _jsxs("div", {
|
|
36
46
|
className: `${baseClass}__inputWrap`,
|
|
37
47
|
children: [
|
|
38
|
-
/*#__PURE__*/ _jsx(
|
|
48
|
+
loginWithUsername ? /*#__PURE__*/ _jsx(TextField, {
|
|
49
|
+
label: t('authentication:username'),
|
|
50
|
+
name: "username",
|
|
51
|
+
required: true,
|
|
52
|
+
validate: (value)=>text(value, {
|
|
53
|
+
name: 'username',
|
|
54
|
+
type: 'text',
|
|
55
|
+
data: {},
|
|
56
|
+
preferences: {
|
|
57
|
+
fields: {}
|
|
58
|
+
},
|
|
59
|
+
req: {
|
|
60
|
+
payload: {
|
|
61
|
+
config
|
|
62
|
+
},
|
|
63
|
+
t
|
|
64
|
+
},
|
|
65
|
+
required: true,
|
|
66
|
+
siblingData: {}
|
|
67
|
+
})
|
|
68
|
+
}) : /*#__PURE__*/ _jsx(EmailField, {
|
|
39
69
|
autoComplete: "email",
|
|
40
70
|
label: t('general:email'),
|
|
41
71
|
name: "email",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { FormState,
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport {\n EmailField,\n Form,\n FormSubmit,\n PasswordField,\n TextField,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { email, password, text } from 'payload/shared'\n\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ searchParams }) => {\n const config = useConfig()\n\n const {\n admin: {\n autoLogin,\n routes: { forgot: forgotRoute },\n user: userSlug,\n },\n routes: { admin, api },\n } = config\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const { t } = useTranslation()\n\n const prefillForm = autoLogin && autoLogin.prefillOnly\n\n const initialState: FormState = {\n password: {\n initialValue: prefillForm ? autoLogin.password : undefined,\n valid: true,\n value: prefillForm ? autoLogin.password : undefined,\n },\n }\n\n if (loginWithUsername) {\n initialState.username = {\n initialValue: prefillForm ? autoLogin.username : undefined,\n valid: true,\n value: prefillForm ? autoLogin.username : undefined,\n }\n } else {\n initialState.email = {\n initialValue: prefillForm ? autoLogin.email : undefined,\n valid: true,\n value: prefillForm ? autoLogin.email : undefined,\n }\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : admin}\n waitForAutocomplete\n >\n <div className={`${baseClass}__inputWrap`}>\n {loginWithUsername ? (\n <TextField\n label={t('authentication:username')}\n name=\"username\"\n required\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: { t } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <PasswordField\n autoComplete=\"off\"\n label={t('general:password')}\n name=\"password\"\n required\n validate={(value) =>\n password(value, {\n name: 'password',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n </div>\n <Link href={`${admin}${forgotRoute}`}>{t('authentication:forgotPasswordQuestion')}</Link>\n <FormSubmit>{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["LinkImport","React","baseClass","Link","default","EmailField","Form","FormSubmit","PasswordField","TextField","useConfig","useTranslation","email","password","text","LoginForm","searchParams","config","admin","autoLogin","routes","forgot","forgotRoute","user","userSlug","api","collectionConfig","collections","find","collection","slug","loginWithUsername","auth","t","prefillForm","prefillOnly","initialState","initialValue","undefined","valid","value","username","action","className","disableSuccessStatus","method","redirect","waitForAutocomplete","div","label","name","required","validate","type","data","preferences","fields","req","payload","siblingData","autoComplete","href"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAOhB,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAOhB,eAAO,MAAM,WAAW,EAAE,iBAmIzB,CAAA"}
|
|
@@ -4,7 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { DefaultVersionView } from './Default/index.js';
|
|
5
5
|
export const VersionView = async (props)=>{
|
|
6
6
|
const { initPageResult, routeSegments } = props;
|
|
7
|
-
const { collectionConfig, docID: id, globalConfig, permissions, req: { payload, payload: { config } = {}, user } = {} } = initPageResult;
|
|
7
|
+
const { collectionConfig, docID: id, globalConfig, permissions, req, req: { payload, payload: { config } = {}, user } = {} } = initPageResult;
|
|
8
8
|
const versionID = routeSegments[routeSegments.length - 1];
|
|
9
9
|
const collectionSlug = collectionConfig?.slug;
|
|
10
10
|
const globalSlug = globalConfig?.slug;
|
|
@@ -25,6 +25,7 @@ export const VersionView = async (props)=>{
|
|
|
25
25
|
depth: 1,
|
|
26
26
|
locale: '*',
|
|
27
27
|
overrideAccess: false,
|
|
28
|
+
req,
|
|
28
29
|
user
|
|
29
30
|
});
|
|
30
31
|
publishedDoc = await payload.findByID({
|
|
@@ -34,6 +35,7 @@ export const VersionView = async (props)=>{
|
|
|
34
35
|
draft: false,
|
|
35
36
|
locale: '*',
|
|
36
37
|
overrideAccess: false,
|
|
38
|
+
req,
|
|
37
39
|
user
|
|
38
40
|
});
|
|
39
41
|
mostRecentDoc = await payload.findByID({
|
|
@@ -43,6 +45,7 @@ export const VersionView = async (props)=>{
|
|
|
43
45
|
draft: true,
|
|
44
46
|
locale: '*',
|
|
45
47
|
overrideAccess: false,
|
|
48
|
+
req,
|
|
46
49
|
user
|
|
47
50
|
});
|
|
48
51
|
} catch (error) {
|
|
@@ -60,6 +63,7 @@ export const VersionView = async (props)=>{
|
|
|
60
63
|
depth: 1,
|
|
61
64
|
locale: '*',
|
|
62
65
|
overrideAccess: false,
|
|
66
|
+
req,
|
|
63
67
|
user
|
|
64
68
|
});
|
|
65
69
|
publishedDoc = await payload.findGlobal({
|
|
@@ -68,6 +72,7 @@ export const VersionView = async (props)=>{
|
|
|
68
72
|
draft: false,
|
|
69
73
|
locale: '*',
|
|
70
74
|
overrideAccess: false,
|
|
75
|
+
req,
|
|
71
76
|
user
|
|
72
77
|
});
|
|
73
78
|
mostRecentDoc = await payload.findGlobal({
|
|
@@ -76,6 +81,7 @@ export const VersionView = async (props)=>{
|
|
|
76
81
|
draft: true,
|
|
77
82
|
locale: '*',
|
|
78
83
|
overrideAccess: false,
|
|
84
|
+
req,
|
|
79
85
|
user
|
|
80
86
|
});
|
|
81
87
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n CollectionPermission,\n Document,\n EditViewComponent,\n GlobalPermission,\n OptionObject,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let publishedDoc: Document\n let mostRecentDoc: Document\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization?.locales &&\n localization.locales.map(({ code, label }) => ({\n label: typeof label === 'string' ? label : '',\n value: code,\n }))\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={mostRecentDoc}\n localeOptions={localeOptions}\n mostRecentDoc={mostRecentDoc}\n publishedDoc={publishedDoc}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","publishedDoc","mostRecentDoc","collections","findVersionByID","collection","depth","locale","overrideAccess","findByID","draft","error","globals","findGlobalVersionByID","findGlobal","localeOptions","locales","map","code","label","value","initialComparisonDoc"],"mappings":";AAQA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,cAAiC,OAAOC;IACnD,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGF;IAE1C,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,WAAW,EACXC,KAAK,EAAEC,OAAO,EAAEA,SAAS,EAAEC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EACtD,GAAGV;IAEJ,MAAMW,YAAYV,aAAa,CAACA,cAAcW,MAAM,GAAG,EAAE;IAEzD,MAAMC,iBAAiBX,kBAAkBY;IACzC,MAAMC,aAAaV,cAAcS;IAEjC,MAAM,EAAEE,YAAY,EAAE,GAAGP;IAEzB,IAAIQ;IACJ,IAAIH;IAEJ,IAAII;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIP,gBAAgB;QAClB,6CAA6C;QAC7CC,OAAOD;QACPI,iBAAiBX,YAAYe,WAAW,CAACR,eAAe;QAExD,IAAI;YACFK,MAAM,MAAMV,QAAQc,eAAe,CAAC;gBAClClB,IAAIO;gBACJY,YAAYT;gBACZU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n CollectionPermission,\n Document,\n EditViewComponent,\n GlobalPermission,\n OptionObject,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let publishedDoc: Document\n let mostRecentDoc: Document\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n publishedDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n mostRecentDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n publishedDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n mostRecentDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization?.locales &&\n localization.locales.map(({ code, label }) => ({\n label: typeof label === 'string' ? label : '',\n value: code,\n }))\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={mostRecentDoc}\n localeOptions={localeOptions}\n mostRecentDoc={mostRecentDoc}\n publishedDoc={publishedDoc}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","publishedDoc","mostRecentDoc","collections","findVersionByID","collection","depth","locale","overrideAccess","findByID","draft","error","globals","findGlobalVersionByID","findGlobal","localeOptions","locales","map","code","label","value","initialComparisonDoc"],"mappings":";AAQA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,cAAiC,OAAOC;IACnD,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGF;IAE1C,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,WAAW,EACXC,GAAG,EACHA,KAAK,EAAEC,OAAO,EAAEA,SAAS,EAAEC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EACtD,GAAGV;IAEJ,MAAMW,YAAYV,aAAa,CAACA,cAAcW,MAAM,GAAG,EAAE;IAEzD,MAAMC,iBAAiBX,kBAAkBY;IACzC,MAAMC,aAAaV,cAAcS;IAEjC,MAAM,EAAEE,YAAY,EAAE,GAAGP;IAEzB,IAAIQ;IACJ,IAAIH;IAEJ,IAAII;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIP,gBAAgB;QAClB,6CAA6C;QAC7CC,OAAOD;QACPI,iBAAiBX,YAAYe,WAAW,CAACR,eAAe;QAExD,IAAI;YACFK,MAAM,MAAMV,QAAQc,eAAe,CAAC;gBAClClB,IAAIO;gBACJY,YAAYT;gBACZU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEAS,eAAe,MAAMX,QAAQmB,QAAQ,CAAC;gBACpCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEAU,gBAAgB,MAAMZ,QAAQmB,QAAQ,CAAC;gBACrCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,IAAIoB,YAAY;QACd,qCAAqC;QACrCD,OAAOC;QACPE,iBAAiBX,YAAYwB,OAAO,CAACf,WAAW;QAEhD,IAAI;YACFG,MAAM,MAAMV,QAAQuB,qBAAqB,CAAC;gBACxC3B,IAAIO;gBACJG;gBACAU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEAS,eAAe,MAAMX,QAAQwB,UAAU,CAAC;gBACtClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEAU,gBAAgB,MAAMZ,QAAQwB,UAAU,CAAC;gBACvClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,MAAMsC,gBACJjB,gBACAA,cAAckB,WACdlB,aAAakB,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAM,CAAA;YAC7CA,OAAO,OAAOA,UAAU,WAAWA,QAAQ;YAC3CC,OAAOF;QACT,CAAA;IAEF,IAAI,CAAClB,KAAK;QACR,OAAOvB;IACT;IAEA,qBACE,KAACE;QACCqB,KAAKA;QACLD,gBAAgBA;QAChBsB,sBAAsBnB;QACtBa,eAAeA;QACfb,eAAeA;QACfD,cAAcA;QACdR,WAAWA;;AAGjB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,SAAS,CAAA;AAU/D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,aAAa,CAAA;AAEnC,eAAO,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,SAAS,CAAA;AAU/D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,aAAa,CAAA;AAEnC,eAAO,MAAM,YAAY,EAAE,iBAoH1B,CAAA"}
|
|
@@ -9,7 +9,7 @@ import { VersionsViewClient } from './index.client.js';
|
|
|
9
9
|
export const baseClass = 'versions';
|
|
10
10
|
export const VersionsView = async (props)=>{
|
|
11
11
|
const { initPageResult, searchParams } = props;
|
|
12
|
-
const { collectionConfig, docID: id, globalConfig, req: { i18n, payload, payload: { config }, user } } = initPageResult;
|
|
12
|
+
const { collectionConfig, docID: id, globalConfig, req, req: { i18n, payload, payload: { config }, user } } = initPageResult;
|
|
13
13
|
const collectionSlug = collectionConfig?.slug;
|
|
14
14
|
const globalSlug = globalConfig?.slug;
|
|
15
15
|
const { limit, page, sort } = searchParams;
|
|
@@ -25,6 +25,7 @@ export const VersionsView = async (props)=>{
|
|
|
25
25
|
limit: limitToUse,
|
|
26
26
|
overrideAccess: false,
|
|
27
27
|
page: page ? parseInt(page.toString(), 10) : undefined,
|
|
28
|
+
req,
|
|
28
29
|
sort: sort,
|
|
29
30
|
user,
|
|
30
31
|
where: {
|
|
@@ -47,6 +48,7 @@ export const VersionsView = async (props)=>{
|
|
|
47
48
|
limit: limitToUse,
|
|
48
49
|
overrideAccess: false,
|
|
49
50
|
page: page ? parseInt(page, 10) : undefined,
|
|
51
|
+
req,
|
|
50
52
|
sort: sort,
|
|
51
53
|
user
|
|
52
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Versions/index.tsx"],"sourcesContent":["import type { EditViewComponent, PaginatedDocs } from 'payload'\n\nimport { Gutter, ListQueryProvider } from '@payloadcms/ui'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { buildVersionColumns } from './buildColumns.js'\nimport { VersionsViewClient } from './index.client.js'\nimport './index.scss'\n\nexport const baseClass = 'versions'\n\nexport const VersionsView: EditViewComponent = async (props) => {\n const { initPageResult, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n const { limit, page, sort } = searchParams\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n let versionsData: PaginatedDocs\n let limitToUse = isNumber(limit) ? Number(limit) : undefined\n\n if (collectionSlug) {\n limitToUse = limitToUse || collectionConfig.admin.pagination.defaultLimit\n try {\n versionsData = await payload.findVersions({\n collection: collectionSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page.toString(), 10) : undefined,\n sort: sort as string,\n user,\n where: {\n parent: {\n equals: id,\n },\n },\n })\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n if (globalSlug) {\n limitToUse = limitToUse || 10\n try {\n versionsData = await payload.findGlobalVersions({\n slug: globalSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page as string, 10) : undefined,\n sort: sort as string,\n user,\n })\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n\n if (!versionsData) {\n return notFound()\n }\n }\n\n const columns = buildVersionColumns({\n collectionConfig,\n config,\n docID: id,\n globalConfig,\n i18n,\n })\n\n const fetchURL = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/versions`\n : globalSlug\n ? `${serverURL}${apiRoute}/globals/${globalSlug}/versions`\n : ''\n\n return (\n <React.Fragment>\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural || globalConfig?.label}\n useAsTitle={collectionConfig?.admin?.useAsTitle || globalConfig?.slug}\n view={i18n.t('version:versions')}\n />\n <main className={baseClass}>\n <Gutter className={`${baseClass}__wrap`}>\n <ListQueryProvider\n data={versionsData}\n defaultLimit={limitToUse}\n defaultSort={sort as string}\n modifySearchParams\n >\n <VersionsViewClient\n baseClass={baseClass}\n columns={columns}\n fetchURL={fetchURL}\n paginationLimits={collectionConfig?.admin?.pagination?.limits}\n />\n </ListQueryProvider>\n </Gutter>\n </main>\n </React.Fragment>\n )\n}\n"],"names":["Gutter","ListQueryProvider","notFound","isNumber","React","SetDocumentStepNav","buildVersionColumns","VersionsViewClient","baseClass","VersionsView","props","initPageResult","searchParams","collectionConfig","docID","id","globalConfig","req","i18n","payload","config","user","collectionSlug","slug","globalSlug","limit","page","sort","routes","api","apiRoute","serverURL","versionsData","limitToUse","Number","undefined","admin","pagination","defaultLimit","findVersions","collection","depth","overrideAccess","parseInt","toString","where","parent","equals","error","console","findGlobalVersions","columns","fetchURL","Fragment","pluralLabel","labels","plural","label","useAsTitle","view","t","main","className","data","defaultSort","modifySearchParams","paginationLimits","limits"],"mappings":";AAEA,SAASA,MAAM,EAAEC,iBAAiB,QAAQ,iBAAgB;AAC1D,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,QAAQ,QAAQ,iBAAgB;AACzC,OAAOC,WAAW,QAAO;AAEzB,SAASC,kBAAkB,QAAQ,8CAA6C;AAChF,SAASC,mBAAmB,QAAQ,oBAAmB;AACvD,SAASC,kBAAkB,QAAQ,oBAAmB;AAGtD,OAAO,MAAMC,YAAY,WAAU;AAEnC,OAAO,MAAMC,eAAkC,OAAOC;IACpD,MAAM,EAAEC,cAAc,EAAEC,YAAY,EAAE,GAAGF;IAEzC,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,KAAK,EACHC,IAAI,EACJC,OAAO,EACPA,SAAS,EAAEC,MAAM,EAAE,EACnBC,IAAI,EACL,EACF,GAAGV;IAEJ,MAAMW,iBAAiBT,kBAAkBU;IACzC,MAAMC,aAAaR,cAAcO;IACjC,MAAM,EAAEE,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGf;IAE9B,MAAM,EACJgB,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,GAAGX;IAEJ,IAAIY;IACJ,IAAIC,aAAa9B,SAASsB,SAASS,OAAOT,SAASU;IAEnD,IAAIb,gBAAgB;QAClBW,aAAaA,cAAcpB,iBAAiBuB,KAAK,CAACC,UAAU,CAACC,YAAY;QACzE,IAAI;YACFN,eAAe,MAAMb,QAAQoB,YAAY,CAAC;gBACxCC,YAAYlB;gBACZmB,OAAO;gBACPhB,OAAOQ;gBACPS,gBAAgB;gBAChBhB,MAAMA,OAAOiB,SAASjB,KAAKkB,QAAQ,IAAI,MAAMT;
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Versions/index.tsx"],"sourcesContent":["import type { EditViewComponent, PaginatedDocs } from 'payload'\n\nimport { Gutter, ListQueryProvider } from '@payloadcms/ui'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { buildVersionColumns } from './buildColumns.js'\nimport { VersionsViewClient } from './index.client.js'\nimport './index.scss'\n\nexport const baseClass = 'versions'\n\nexport const VersionsView: EditViewComponent = async (props) => {\n const { initPageResult, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n const { limit, page, sort } = searchParams\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n let versionsData: PaginatedDocs\n let limitToUse = isNumber(limit) ? Number(limit) : undefined\n\n if (collectionSlug) {\n limitToUse = limitToUse || collectionConfig.admin.pagination.defaultLimit\n try {\n versionsData = await payload.findVersions({\n collection: collectionSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page.toString(), 10) : undefined,\n req,\n sort: sort as string,\n user,\n where: {\n parent: {\n equals: id,\n },\n },\n })\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n if (globalSlug) {\n limitToUse = limitToUse || 10\n try {\n versionsData = await payload.findGlobalVersions({\n slug: globalSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page as string, 10) : undefined,\n req,\n sort: sort as string,\n user,\n })\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n\n if (!versionsData) {\n return notFound()\n }\n }\n\n const columns = buildVersionColumns({\n collectionConfig,\n config,\n docID: id,\n globalConfig,\n i18n,\n })\n\n const fetchURL = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/versions`\n : globalSlug\n ? `${serverURL}${apiRoute}/globals/${globalSlug}/versions`\n : ''\n\n return (\n <React.Fragment>\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural || globalConfig?.label}\n useAsTitle={collectionConfig?.admin?.useAsTitle || globalConfig?.slug}\n view={i18n.t('version:versions')}\n />\n <main className={baseClass}>\n <Gutter className={`${baseClass}__wrap`}>\n <ListQueryProvider\n data={versionsData}\n defaultLimit={limitToUse}\n defaultSort={sort as string}\n modifySearchParams\n >\n <VersionsViewClient\n baseClass={baseClass}\n columns={columns}\n fetchURL={fetchURL}\n paginationLimits={collectionConfig?.admin?.pagination?.limits}\n />\n </ListQueryProvider>\n </Gutter>\n </main>\n </React.Fragment>\n )\n}\n"],"names":["Gutter","ListQueryProvider","notFound","isNumber","React","SetDocumentStepNav","buildVersionColumns","VersionsViewClient","baseClass","VersionsView","props","initPageResult","searchParams","collectionConfig","docID","id","globalConfig","req","i18n","payload","config","user","collectionSlug","slug","globalSlug","limit","page","sort","routes","api","apiRoute","serverURL","versionsData","limitToUse","Number","undefined","admin","pagination","defaultLimit","findVersions","collection","depth","overrideAccess","parseInt","toString","where","parent","equals","error","console","findGlobalVersions","columns","fetchURL","Fragment","pluralLabel","labels","plural","label","useAsTitle","view","t","main","className","data","defaultSort","modifySearchParams","paginationLimits","limits"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.58",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"sass": "1.77.4",
|
|
63
63
|
"sonner": "^1.5.0",
|
|
64
64
|
"ws": "^8.16.0",
|
|
65
|
-
"@payloadcms/graphql": "3.0.0-beta.
|
|
66
|
-
"@payloadcms/
|
|
67
|
-
"@payloadcms/
|
|
65
|
+
"@payloadcms/graphql": "3.0.0-beta.58",
|
|
66
|
+
"@payloadcms/translations": "3.0.0-beta.58",
|
|
67
|
+
"@payloadcms/ui": "3.0.0-beta.58"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@next/eslint-plugin-next": "^14.1.0",
|
|
@@ -83,13 +83,13 @@
|
|
|
83
83
|
"terser-webpack-plugin": "^5.3.10",
|
|
84
84
|
"webpack": "^5.78.0",
|
|
85
85
|
"webpack-cli": "^5.1.4",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
86
|
+
"@payloadcms/eslint-config": "1.1.1",
|
|
87
|
+
"payload": "3.0.0-beta.58"
|
|
88
88
|
},
|
|
89
89
|
"peerDependencies": {
|
|
90
90
|
"graphql": "^16.8.1",
|
|
91
91
|
"next": "^15.0.0-rc.0",
|
|
92
|
-
"payload": "3.0.0-beta.
|
|
92
|
+
"payload": "3.0.0-beta.58"
|
|
93
93
|
},
|
|
94
94
|
"engines": {
|
|
95
95
|
"node": "^18.20.2 || >=20.9.0"
|