Expand description
Tiptap 富文本编辑器桥接:共享类型(UploadsInFlight/UploadErrorEntry)两端都编译; wasm-bindgen extern 与 EditorHandle 在内部的 #[cfg(wasm32)] 子模块里。 Tiptap 编辑器的 wasm-bindgen 绑定层。
封装与 window.TiptapEditor(IIFE 暴露的全局对象)的全部交互,
替代旧版 js_sys::eval 字符串拼贴 + window 全局变量通信。
wasm-bindgen extern 与 EditorHandle、上传 closure 等仅在 WASM 前端编译
(服务端构建无 window);共享的纯数据类型 UploadsInFlight/UploadErrorEntry
在两端都编译,供 write.rs 在视图中渲染上传状态。
用法(Leptos):挂载点用 NodeRef 取元素,create(&element, &opts) 在其上创建实例。
create 以 js_namespace 绑定为成员调用,调用时才解析全局;脚本未加载时返回 Err。
EditorHandle 含 JS 引用(非 Send + Sync),须放进
StoredValue::new_local/RwSignal::new_local,on_cleanup 里 take 出来
丢弃即触发 Drop → destroy。上传状态用 RwSignal<UploadsInFlight> /
RwSignal<Vec<UploadErrorEntry>> 传给 wasm 模块的 consume_upload_event。
Structs§
- Upload
Error Entry - 顶部堆叠的上传失败提示条目。
- Uploads
InFlight - 当前编辑器内进行中的上传计数(来自 onUploadEvent 的 counts 快照)。