Expand description
CodeMirror SQL/代码编辑器桥接:extern 与 EditorHandle 在 #[cfg(wasm32)] 子模块里。
SQL 补全 schema DTO(SqlSchema/SqlTable)是 server function 返回值,
定义在 crate::models::sql_schema,不在本模块。
CodeMirror 编辑器的 wasm-bindgen 绑定层。
封装与 window.CodeMirrorEditor(IIFE 暴露的全局对象字面量)的全部交互,
严格镜像 crate::bridges::tiptap 的结构:wasm-bindgen extern +
EditorHandle 仅在 WASM 前端编译(server 构建无 window)。SQL 补全用的
SqlSchema/SqlTable 是 server function 返回值 DTO,定义在
crate::models::sql_schema(不属于本文件——避免 API 层反向依赖桥接层)。
与 tiptap 一样,create 以 js_namespace 绑定为成员调用,调用时才解析全局;
脚本未加载时返回 Err。
用法(Leptos):挂载点用 NodeRef 取元素,先用 use_browser_library(BrowserLibrary::CodeMirror, ..) 等库就绪,
再在 Effect 内构造 EditorOptions 并 create(&element, &opts);EditorHandle 含 JS 引用
(非 Send + Sync),放进 StoredValue::new_local/RwSignal::new_local,on_cleanup 里 take
出来丢弃即触发 Drop → destroy。