1
0
mirror of https://github.com/flarum/core.git synced 2025-10-14 08:24:28 +02:00

Refactor post components and controls

This commit is contained in:
Toby Zerner
2015-05-05 17:07:12 +09:30
parent 762137c6df
commit 11b39605e2
7 changed files with 126 additions and 128 deletions

View File

@@ -0,0 +1,31 @@
import Component from 'flarum/component';
import SubtreeRetainer from 'flarum/utils/subtree-retainer';
import DropdownButton from 'flarum/components/dropdown-button';
export default class Post extends Component {
constructor(props) {
super(props);
this.subtree = new SubtreeRetainer(
() => this.props.post.freshness,
() => {
var user = this.props.post.user();
return user && user.freshness;
}
);
}
view(content, attrs) {
var controls = this.props.post.controls(this).toArray();
return m('article.post', attrs, this.subtree.retain() || m('div', [
controls.length ? DropdownButton.component({
items: controls,
className: 'contextual-controls',
buttonClass: 'btn btn-default btn-icon btn-sm btn-naked',
menuClass: 'pull-right'
}) : '',
content
]));
}
}