diff --git a/js/src/forum/components/CommentPostPreview.js b/js/src/forum/components/CommentPostPreview.js new file mode 100644 index 000000000..8fae56c50 --- /dev/null +++ b/js/src/forum/components/CommentPostPreview.js @@ -0,0 +1,33 @@ +/*global s9e*/ + +import Component from "../../common/Component"; + +export default class CommentPostPreview extends Component { + view() { + return
; + } + + oncreate(vnode) { + super.oncreate(vnode); + + // Every 50ms, if the composer content has changed, then update the post's + // body with a preview. + let preview; + const updatePreview = () => { + const content = app.composer.fields.content(); + + if (preview === content) return; + + preview = content; + + s9e.TextFormatter.preview(preview || '', vnode.dom); + }; + updatePreview(); + + this.updateInterval = setInterval(updatePreview, 50); + } + + onremove(vnode) { + clearInterval(this.updateInterval); + } +}