Skip to content

Commit 87c0785

Browse files
Copilottsnobip
andcommitted
Fix ReferenceError: createEditor is not defined - call function directly instead of wrapping in %raw
Co-authored-by: tsnobip <[email protected]>
1 parent 6a1b928 commit 87c0785

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/components/CodeMirror.res

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ let make = (
322322
React.useEffect(() => {
323323
switch containerRef.current->Nullable.toOption {
324324
| Some(parent) =>
325-
let editor = %raw(`createEditor`)({
325+
let editor = createEditor({
326326
"parent": parent,
327327
"initialValue": value,
328328
"mode": mode,
@@ -341,7 +341,8 @@ let make = (
341341

342342
Some(
343343
() => {
344-
%raw(`editor.destroy()`)
344+
let destroy = %raw(`function(ed) { ed.destroy(); }`)
345+
destroy(editor)
345346
},
346347
)
347348
| None => None
@@ -352,9 +353,11 @@ let make = (
352353
React.useEffect(() => {
353354
switch editorRef.current {
354355
| Some(_editor) =>
355-
let currentValue = %raw(`_editor.getValue()`)
356+
let getValue = %raw(`function(ed) { return ed.getValue(); }`)
357+
let setValue = %raw(`function(ed, val) { ed.setValue(val); }`)
358+
let currentValue = getValue(_editor)
356359
if currentValue !== value {
357-
%raw(`_editor.setValue`)(value)
360+
setValue(_editor, value)
358361
}
359362
| None => ()
360363
}
@@ -364,20 +367,28 @@ let make = (
364367
// Update mode when it changes
365368
React.useEffect(() => {
366369
switch editorRef.current {
367-
| Some(_editor) => %raw(`_editor.setMode`)(mode)
370+
| Some(_editor) =>
371+
let setMode = %raw(`function(ed, m) { ed.setMode(m); }`)
372+
setMode(_editor, mode)
368373
| None => ()
369374
}
370375
None
371376
}, [mode])
372-
377+
373378
// Update errors when they change
374379
React.useEffect(() => {
375380
switch editorRef.current {
376-
| Some(_editor) => %raw(`_editor.setErrors`)(errors)
381+
| Some(_editor) =>
382+
let setErrors = %raw(`function(ed, errs) { ed.setErrors(errs); }`)
383+
setErrors(_editor, errors)
377384
| None => ()
378385
}
379386
None
380387
}, [errors])
381388

382-
<div ?className ?style ref={ReactDOM.Ref.domRef((Obj.magic(containerRef): React.ref<Nullable.t<Dom.element>>))} />
389+
<div
390+
?className
391+
?style
392+
ref={ReactDOM.Ref.domRef((Obj.magic(containerRef): React.ref<Nullable.t<Dom.element>>))}
393+
/>
383394
}

0 commit comments

Comments
 (0)