feat: advanced prompt (#1330)

Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: JzoNg <jzongcode@gmail.com>
Co-authored-by: Gillian97 <jinling.sunshine@gmail.com>
This commit is contained in:
zxhlyh
2023-10-12 23:14:28 +08:00
committed by GitHub
parent 42a5b3ec17
commit 5b9858a8a3
131 changed files with 5944 additions and 451 deletions

View File

@@ -0,0 +1,45 @@
import { useEffect } from 'react'
import {
$insertNodes,
COMMAND_PRIORITY_EDITOR,
createCommand,
} from 'lexical'
import { mergeRegister } from '@lexical/utils'
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'
import { CustomTextNode } from '../custom-text/node'
export const INSERT_VARIABLE_BLOCK_COMMAND = createCommand('INSERT_VARIABLE_BLOCK_COMMAND')
export const INSERT_VARIABLE_VALUE_BLOCK_COMMAND = createCommand('INSERT_VARIABLE_VALUE_BLOCK_COMMAND')
const VariableBlock = () => {
const [editor] = useLexicalComposerContext()
useEffect(() => {
return mergeRegister(
editor.registerCommand(
INSERT_VARIABLE_BLOCK_COMMAND,
() => {
const textNode = new CustomTextNode('{')
$insertNodes([textNode])
return true
},
COMMAND_PRIORITY_EDITOR,
),
editor.registerCommand(
INSERT_VARIABLE_VALUE_BLOCK_COMMAND,
(value: string) => {
const textNode = new CustomTextNode(value)
$insertNodes([textNode])
return true
},
COMMAND_PRIORITY_EDITOR,
),
)
}, [editor])
return null
}
export default VariableBlock