fix(richtext-*): nested field recursion for named tabs did not work

This commit is contained in:
Alessio Gravili
2024-07-15 14:51:29 -04:00
parent 6d68a4a269
commit 8c5a1f08df
3 changed files with 6 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
import type { Field } from 'payload' import type { Field } from 'payload'
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType } from 'payload/shared' import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'
import type { import type {
SlateNodeConverter, SlateNodeConverter,
@@ -40,7 +40,7 @@ export const migrateDocumentFieldsRecursively = ({
} else if (field.type === 'tabs') { } else if (field.type === 'tabs') {
field.tabs.forEach((tab) => { field.tabs.forEach((tab) => {
found += migrateDocumentFieldsRecursively({ found += migrateDocumentFieldsRecursively({
data, data: tabHasName(tab) ? data[tab.name] : data,
fields: tab.fields, fields: tab.fields,
found, found,
}) })

View File

@@ -2,7 +2,7 @@ import type { SerializedEditorState } from 'lexical'
import type { Field } from 'payload' import type { Field } from 'payload'
import { createHeadlessEditor } from '@lexical/headless' import { createHeadlessEditor } from '@lexical/headless'
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType } from 'payload/shared' import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'
import type { LexicalRichTextAdapter } from '../../types.js' import type { LexicalRichTextAdapter } from '../../types.js'
@@ -38,7 +38,7 @@ export const upgradeDocumentFieldsRecursively = ({
} else if (field.type === 'tabs') { } else if (field.type === 'tabs') {
field.tabs.forEach((tab) => { field.tabs.forEach((tab) => {
found += upgradeDocumentFieldsRecursively({ found += upgradeDocumentFieldsRecursively({
data, data: tabHasName(tab) ? data[tab.name] : data,
fields: tab.fields, fields: tab.fields,
found, found,
}) })

View File

@@ -1,6 +1,6 @@
import type { Field, PayloadRequest } from 'payload' import type { Field, PayloadRequest } from 'payload'
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType } from 'payload/shared' import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'
import { populate } from './populate.js' import { populate } from './populate.js'
import { recurseRichText } from './richTextRelationshipPromise.js' import { recurseRichText } from './richTextRelationshipPromise.js'
@@ -148,7 +148,7 @@ export const recurseNestedFields = ({
field.tabs.forEach((tab) => { field.tabs.forEach((tab) => {
recurseNestedFields({ recurseNestedFields({
currentDepth, currentDepth,
data, data: tabHasName(tab) ? data[tab.name] : data,
depth, depth,
draft, draft,
fields: tab.fields, fields: tab.fields,