From a6ba974167f92b410f8f2e776fa6cb4ddb62a0ac Mon Sep 17 00:00:00 2001 From: heheer Date: Sat, 27 Sep 2025 19:18:10 +0800 Subject: [PATCH] fix: simple prompt editor list render (#5717) --- .../common/Textarea/PromptEditor/Editor.tsx | 2 +- .../common/Textarea/PromptEditor/index.tsx | 2 +- .../common/Textarea/PromptEditor/utils.ts | 34 ++++++++++++++++++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/packages/web/components/common/Textarea/PromptEditor/Editor.tsx b/packages/web/components/common/Textarea/PromptEditor/Editor.tsx index daaebedc4..2277f6b5c 100644 --- a/packages/web/components/common/Textarea/PromptEditor/Editor.tsx +++ b/packages/web/components/common/Textarea/PromptEditor/Editor.tsx @@ -132,7 +132,7 @@ export default function Editor({ CodeNode, CodeHighlightNode ], - editorState: textToEditorState(value), + editorState: textToEditorState(value, isRichText), onError: (error: Error) => { throw error; } diff --git a/packages/web/components/common/Textarea/PromptEditor/index.tsx b/packages/web/components/common/Textarea/PromptEditor/index.tsx index ae462e3df..9e1eed255 100644 --- a/packages/web/components/common/Textarea/PromptEditor/index.tsx +++ b/packages/web/components/common/Textarea/PromptEditor/index.tsx @@ -98,7 +98,7 @@ const PromptEditor = ({ minH={400} maxH={400} showOpenModal={false} - value={value} + value={formattedValue} onChange={onChangeInput} onChangeText={onChange} onBlur={onBlurInput} diff --git a/packages/web/components/common/Textarea/PromptEditor/utils.ts b/packages/web/components/common/Textarea/PromptEditor/utils.ts index 44cc28452..8f5af546d 100644 --- a/packages/web/components/common/Textarea/PromptEditor/utils.ts +++ b/packages/web/components/common/Textarea/PromptEditor/utils.ts @@ -270,10 +270,42 @@ const buildListStructure = (items: ListItemInfo[]) => { return result; }; -export const textToEditorState = (text = '') => { +export const textToEditorState = (text = '', isRichText = false) => { const lines = text.split('\n'); const children: Array = []; + if (!isRichText) { + return JSON.stringify({ + root: { + children: lines.map((p) => { + return { + children: [ + { + detail: 0, + format: 0, + mode: 'normal', + style: '', + text: p, + type: 'text', + version: 1 + } + ], + direction: 'ltr', + format: '', + indent: 0, + type: 'paragraph', + version: 1 + }; + }), + direction: 'ltr', + format: '', + indent: 0, + type: 'root', + version: 1 + } + }); + } + let i = 0; while (i < lines.length) { const parsed = parseTextLine(lines[i]);