framework/extensions/lock/js/forum/src/addLockControl.js
2015-07-28 15:35:55 +09:30

27 lines
830 B
JavaScript

import { extend } from 'flarum/extend';
import DiscussionControls from 'flarum/utils/DiscussionControls';
import DiscussionPage from 'flarum/components/DiscussionPage';
import Button from 'flarum/components/Button';
export default function addLockControl() {
extend(DiscussionControls, 'moderationControls', function(items, discussion) {
if (discussion.canSticky()) {
items.add('lock', Button.component({
children: app.trans(discussion.isLocked() ? 'lock.unlock' : 'lock.lock'),
icon: 'lock',
onclick: this.lockAction.bind(discussion)
}));
}
});
DiscussionControls.lockAction = function() {
this.save({isLocked: !this.isLocked()}).then(() => {
if (app.current instanceof DiscussionPage) {
app.current.stream.update();
}
m.redraw();
});
};
}