In a long lived JS app, one might need to destroy a ProseMirror instance expecting all listeners and references to cleared. Is this currently possible?
Also, is it possible to disable an instance ( Making it appear to be not editable ) and re enable it?
You can just remove it from the DOM, that’s all it takes. There are no events registered on any nodes outside of the editor.
There is no support for making a ProseMirror instance non-editable. You could just replace it with the rendered form of the document (and maybe wrap it in a
.ProseMirror-content element if you want the editor styles to apply), but that’s all I have for now.
I thought that maybe
pm.content.contenteditable = false might work but it doesn’t seem to accept it (not sure why). However I commented out the
pm.content.contenteditable = true and it was no longer editable. Marijn may know if there are other things to consider.
A bunch of event handlers will also cause trouble, allowing you to still edit the document (by dragging, for example) or simply break (the selection-handling, which assumes the content is actually focusable).