Skip to content

Commit 8c5a1f0

Browse files
committed
fix(richtext-*): nested field recursion for named tabs did not work
1 parent 6d68a4a commit 8c5a1f0

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

packages/richtext-lexical/src/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Field } from 'payload'
22

3-
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType } from 'payload/shared'
3+
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'
44

55
import type {
66
SlateNodeConverter,
@@ -40,7 +40,7 @@ export const migrateDocumentFieldsRecursively = ({
4040
} else if (field.type === 'tabs') {
4141
field.tabs.forEach((tab) => {
4242
found += migrateDocumentFieldsRecursively({
43-
data,
43+
data: tabHasName(tab) ? data[tab.name] : data,
4444
fields: tab.fields,
4545
found,
4646
})

packages/richtext-lexical/src/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { SerializedEditorState } from 'lexical'
22
import type { Field } from 'payload'
33

44
import { createHeadlessEditor } from '@lexical/headless'
5-
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType } from 'payload/shared'
5+
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'
66

77
import type { LexicalRichTextAdapter } from '../../types.js'
88

@@ -38,7 +38,7 @@ export const upgradeDocumentFieldsRecursively = ({
3838
} else if (field.type === 'tabs') {
3939
field.tabs.forEach((tab) => {
4040
found += upgradeDocumentFieldsRecursively({
41-
data,
41+
data: tabHasName(tab) ? data[tab.name] : data,
4242
fields: tab.fields,
4343
found,
4444
})

packages/richtext-slate/src/data/recurseNestedFields.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Field, PayloadRequest } from 'payload'
22

3-
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType } from 'payload/shared'
3+
import { fieldAffectsData, fieldHasSubFields, fieldIsArrayType, tabHasName } from 'payload/shared'
44

55
import { populate } from './populate.js'
66
import { recurseRichText } from './richTextRelationshipPromise.js'
@@ -148,7 +148,7 @@ export const recurseNestedFields = ({
148148
field.tabs.forEach((tab) => {
149149
recurseNestedFields({
150150
currentDepth,
151-
data,
151+
data: tabHasName(tab) ? data[tab.name] : data,
152152
depth,
153153
draft,
154154
fields: tab.fields,

0 commit comments

Comments
 (0)