fix(next): threads isEditing through document info context
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
@@ -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}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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')}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -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}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user