From 6c9971eeba5aa01a9af5cf0b5fc7bdbb3a3fdd34 Mon Sep 17 00:00:00 2001 From: Alexander Skvortsov Date: Sun, 9 Aug 2020 23:14:24 -0400 Subject: [PATCH] add: forum/components/CommentPostPreview - This has been extracted from CommentPost --- js/src/forum/components/CommentPostPreview.js | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 js/src/forum/components/CommentPostPreview.js 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); + } +}