/*global s9e, hljs*/ import Post from 'flarum/components/Post'; import classList from 'flarum/utils/classList'; import PostUser from 'flarum/components/PostUser'; import PostMeta from 'flarum/components/PostMeta'; import PostEdited from 'flarum/components/PostEdited'; import EditPostComposer from 'flarum/components/EditPostComposer'; import Composer from 'flarum/components/Composer'; import ItemList from 'flarum/utils/ItemList'; import listItems from 'flarum/helpers/listItems'; import Button from 'flarum/components/Button'; /** * The `CommentPost` component displays a standard `comment`-typed post. This * includes a number of item lists (controls, header, and footer) surrounding * the post's HTML content. * * ### Props * * - `post` */ export default class CommentPost extends Post { init() { super.init(); /** * If the post has been hidden, then this flag determines whether or not its * content has been expanded. * * @type {Boolean} */ this.revealContent = false; // Create an instance of the component that displays the post's author so // that we can force the post to rerender when the user card is shown. this.postUser = new PostUser({post: this.props.post}); this.subtree.check( () => this.postUser.cardVisible, () => this.isEditing() ); } content() { return [
,
{this.isEditing() ?
: m.trust(this.props.post.contentHtml())}
]; } config(isInitialized, context) { super.config(...arguments); const contentHtml = this.isEditing() ? '' : this.props.post.contentHtml(); // If the post content has changed since the last render, we'll run through // all of the