feat: support edit code
This commit is contained in:
parent
98ad914b41
commit
6afb1a7c17
@ -246,6 +246,7 @@ function App() {
|
||||
<CodeMirror
|
||||
code={generatedCode}
|
||||
editorTheme={settings.editorTheme}
|
||||
onCodeChange={setGeneratedCode}
|
||||
/>
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
|
||||
@ -15,9 +15,10 @@ import { html } from "@codemirror/lang-html";
|
||||
interface Props {
|
||||
code: string;
|
||||
editorTheme: string;
|
||||
onCodeChange: (code: string) => void;
|
||||
}
|
||||
|
||||
function CodeMirror({ code, editorTheme }: Props) {
|
||||
function CodeMirror({ code, editorTheme, onCodeChange }: Props) {
|
||||
const ref = useRef<HTMLDivElement>(null);
|
||||
const view = useRef<EditorView | null>(null);
|
||||
|
||||
@ -42,6 +43,11 @@ function CodeMirror({ code, editorTheme }: Props) {
|
||||
html(),
|
||||
selectedTheme,
|
||||
EditorView.lineWrapping,
|
||||
EditorView.updateListener.of(update => {
|
||||
if (update.changes) {
|
||||
onCodeChange(view.current?.state.doc.toString() || "");
|
||||
}
|
||||
}),
|
||||
],
|
||||
}),
|
||||
parent: ref.current as Element,
|
||||
@ -69,3 +75,4 @@ function CodeMirror({ code, editorTheme }: Props) {
|
||||
}
|
||||
|
||||
export default CodeMirror;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user