siyuan/app/src/protyle/util/destroy.ts
2023-12-12 00:53:15 +08:00

30 lines
779 B
TypeScript

import {hideElements} from "../ui/hideElements";
export const destroy = (protyle: IProtyle) => {
if (!protyle) {
return;
}
hideElements(["util"], protyle);
protyle.observer?.disconnect();
protyle.observerLoad?.disconnect();
protyle.element.classList.remove("protyle");
protyle.element.removeAttribute("style");
if (protyle.wysiwyg) {
protyle.wysiwyg.lastHTMLs = {};
}
if (protyle.undo) {
protyle.undo.clear();
}
try {
protyle.ws.send("closews", {});
} catch (e) {
setTimeout(() => {
protyle.ws.send("closews", {});
}, 10240);
}
protyle.app.plugins.forEach(item => {
item.eventBus.emit("destroy-protyle", {
protyle,
});
});
};