1
0
mirror of https://github.com/flarum/core.git synced 2025-07-28 20:20:34 +02:00

Rename JS sub-components so that descriptors are before the noun, not after

To be consistent with the naming in PHP world.

e.g. ReplyComposer instead of ComposerReply
This commit is contained in:
Toby Zerner
2015-05-18 18:50:24 +09:30
parent 8e24e7197e
commit 9135749bb4
17 changed files with 40 additions and 78 deletions

View File

@@ -0,0 +1,76 @@
import Post from 'flarum/components/post';
import classList from 'flarum/utils/class-list';
import PostHeaderUser from 'flarum/components/post-header-user';
import PostHeaderMeta from 'flarum/components/post-header-meta';
import PostHeaderEdited from 'flarum/components/post-header-edited';
import PostHeaderToggle from 'flarum/components/post-header-toggle';
import EditComposer from 'flarum/components/edit-composer';
import Composer from 'flarum/components/composer';
import ItemList from 'flarum/utils/item-list';
import listItems from 'flarum/helpers/list-items';
/**
Component for a `comment`-typed post. Displays a number of item lists
(controls, header, and footer) surrounding the post's HTML content. Allows
the post to be edited with the composer, hidden, or restored.
*/
export default class CommentPost extends Post {
constructor(props) {
super(props);
this.postHeaderUser = new PostHeaderUser({post: this.props.post});
this.subtree.check(this.postHeaderUser.showCard);
}
view() {
var post = this.props.post;
return super.view([
m('header.post-header', m('ul', listItems(this.headerItems().toArray()))),
m('div.post-body', m.trust(post.contentHtml())),
m('aside.post-footer', m('ul', listItems(this.footerItems().toArray()))),
m('aside.post-actions', m('ul', listItems(this.actionItems().toArray())))
], {
className: classList({
'comment-post': true,
'is-hidden': post.isHidden(),
'is-edited': post.isEdited(),
'reveal-content': this.revealContent,
'editing': app.composer.component instanceof EditComposer &&
app.composer.component.props.post === this.props.post &&
app.composer.position() !== Composer.PositionEnum.MINIMIZED
})
});
}
toggleContent() {
this.revealContent = !this.revealContent;
}
headerItems() {
var items = new ItemList();
var post = this.props.post;
var props = {post};
items.add('user', this.postHeaderUser.view(), {first: true});
items.add('meta', PostHeaderMeta.component(props));
if (post.isEdited() && !post.isHidden()) {
items.add('edited', PostHeaderEdited.component(props));
}
if (post.isHidden()) {
items.add('toggle', PostHeaderToggle.component({toggle: this.toggleContent.bind(this)}));
}
return items;
}
footerItems() {
return new ItemList();
}
actionItems() {
return new ItemList();
}
}