fix(next): threads isEditing through document info context

This commit is contained in:
Jacob Fletcher
2024-03-07 14:00:05 -05:00
parent 5bbb65b569
commit b9db83a741
9 changed files with 8 additions and 15 deletions

View File

@@ -54,8 +54,6 @@ export const APIViewClient: React.FC = () => {
localization && localization &&
localization.locales.map((locale) => ({ label: locale.label, value: locale.code })) localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))
const isEditing = Boolean(globalSlug || (collectionSlug && !!id))
let draftsEnabled: boolean = false let draftsEnabled: boolean = false
let docEndpoint: string = '' let docEndpoint: string = ''
@@ -122,7 +120,6 @@ export const APIViewClient: React.FC = () => {
globalLabel={globalConfig?.label} globalLabel={globalConfig?.label}
globalSlug={globalSlug} globalSlug={globalSlug}
id={id} id={id}
isEditing={isEditing}
pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined} pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}
useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined} useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}
view="API" view="API"

View File

@@ -198,6 +198,7 @@ export const Document: React.FC<AdminViewProps> = async ({
id={id} id={id}
initialData={data} initialData={data}
initialState={initialState} initialState={initialState}
isEditing={isEditing}
title={formatTitle({ title={formatTitle({
collectionConfig, collectionConfig,
dateFormat: config.admin.dateFormat, dateFormat: config.admin.dateFormat,

View File

@@ -17,16 +17,15 @@ export const SetStepNav: React.FC<{
globalLabel?: SanitizedGlobalConfig['label'] globalLabel?: SanitizedGlobalConfig['label']
globalSlug?: SanitizedGlobalConfig['slug'] globalSlug?: SanitizedGlobalConfig['slug']
id?: number | string id?: number | string
isEditing?: boolean
pluralLabel?: SanitizedCollectionConfig['labels']['plural'] pluralLabel?: SanitizedCollectionConfig['labels']['plural']
useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle'] useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']
view?: string view?: string
}> = (props) => { }> = (props) => {
const { id, collectionSlug, globalSlug, isEditing = true, pluralLabel, useAsTitle } = props const { id, collectionSlug, globalSlug, pluralLabel, useAsTitle } = props
const view: string | undefined = props?.view || undefined const view: string | undefined = props?.view || undefined
const { title } = useDocumentInfo() const { isEditing, title } = useDocumentInfo()
const { setStepNav } = useStepNav() const { setStepNav } = useStepNav()

View File

@@ -92,7 +92,7 @@ export const DefaultEditView: React.FC = () => {
async (json) => { async (json) => {
reportUpdate({ reportUpdate({
id, id,
entitySlug: entitySlug, entitySlug,
updatedAt: json?.result?.updatedAt || new Date().toISOString(), updatedAt: json?.result?.updatedAt || new Date().toISOString(),
}) })
@@ -165,7 +165,6 @@ export const DefaultEditView: React.FC = () => {
collectionSlug={collectionConfig?.slug} collectionSlug={collectionConfig?.slug}
globalSlug={globalConfig?.slug} globalSlug={globalConfig?.slug}
id={id} id={id}
isEditing={Boolean(id)}
pluralLabel={collectionConfig?.labels?.plural} pluralLabel={collectionConfig?.labels?.plural}
useAsTitle={collectionConfig?.admin?.useAsTitle} useAsTitle={collectionConfig?.admin?.useAsTitle}
/> />

View File

@@ -13,7 +13,7 @@ import React, { Fragment, useEffect } from 'react'
import { useCallback } from 'react' import { useCallback } from 'react'
export const EditViewClient: React.FC = () => { export const EditViewClient: React.FC = () => {
const { id, collectionSlug, getDocPermissions, getVersions, globalSlug, setDocumentInfo } = const { collectionSlug, getDocPermissions, getVersions, globalSlug, isEditing, setDocumentInfo } =
useDocumentInfo() useDocumentInfo()
const { const {
@@ -30,8 +30,6 @@ export const EditViewClient: React.FC = () => {
globalSlug, globalSlug,
}) })
const isEditing = Boolean(id && collectionSlug)
const onSave = useCallback( const onSave = useCallback(
async (json: { doc }) => { async (json: { doc }) => {
void getVersions() void getVersions()

View File

@@ -149,7 +149,6 @@ const PreviewView: React.FC = (props) => {
globalLabel={globalConfig?.label} globalLabel={globalConfig?.label}
globalSlug={globalSlug} globalSlug={globalSlug}
id={id} id={id}
isEditing={Boolean(id)}
view={t('general:livePreview')} view={t('general:livePreview')}
/> />
<SetDocumentTitle <SetDocumentTitle

View File

@@ -100,7 +100,6 @@ export const VersionsView: React.FC<ServerSideEditViewProps> = async (props) =>
collectionSlug={collectionConfig?.slug} collectionSlug={collectionConfig?.slug}
globalSlug={globalConfig?.slug} globalSlug={globalConfig?.slug}
id={id} id={id}
isEditing
pluralLabel={collectionConfig?.labels?.plural} pluralLabel={collectionConfig?.labels?.plural}
view={i18n.t('version:versions')} view={i18n.t('version:versions')}
/> />

View File

@@ -149,12 +149,12 @@ const Content: React.FC<DocumentDrawerProps> = ({
collectionSlug={collectionConfig.slug} collectionSlug={collectionConfig.slug}
disableActions disableActions
disableLeaveWithoutSaving disableLeaveWithoutSaving
// hasSavePermission={hasSavePermission}
// isEditing={isEditing}
// isLoading, // isLoading,
id={id} id={id}
initialData={data} initialData={data}
initialState={initialState} initialState={initialState}
// hasSavePermission={hasSavePermission}
isEditing={isEditing}
// me: true, // me: true,
onSave={onSave} onSave={onSave}
> >

View File

@@ -28,6 +28,7 @@ export type DocumentInfoProps = {
id: null | number | string id: null | number | string
initialData?: Data initialData?: Data
initialState?: FormState initialState?: FormState
isEditing?: boolean
onSave?: (data: Data) => Promise<void> | void onSave?: (data: Data) => Promise<void> | void
title?: string title?: string
} }