vditor
Version:
♏ 易于使用的 Markdown 编辑器,为适配不同的应用场景而生
42 lines (36 loc) • 1.29 kB
text/typescript
import {getMarkdown} from "../markdown/getMarkdown";
import {accessLocalStorage} from "../util/compatibility";
export const afterRenderEvent = (vditor: IVditor, options = {
enableAddUndoStack: true,
enableHint: false,
enableInput: true,
}) => {
if (options.enableHint) {
vditor.hint.render(vditor);
}
clearTimeout(vditor.wysiwyg.afterRenderTimeoutId);
vditor.wysiwyg.afterRenderTimeoutId = window.setTimeout(() => {
if (vditor.wysiwyg.composingLock) {
return;
}
const text = getMarkdown(vditor);
if (typeof vditor.options.input === "function" && options.enableInput) {
vditor.options.input(text);
}
if (vditor.options.counter.enable) {
vditor.counter.render(vditor, text);
}
if (vditor.options.cache.enable && accessLocalStorage()) {
localStorage.setItem(vditor.options.cache.id, text);
if (vditor.options.cache.after) {
vditor.options.cache.after(text);
}
}
if (vditor.devtools) {
vditor.devtools.renderEchart(vditor);
}
if (options.enableAddUndoStack) {
vditor.undo.addToUndoStack(vditor);
}
}, vditor.options.undoDelay);
};