discourse/app/assets/javascripts/admin/components/flagged-post.js.es6

42 lines
1018 B
Plaintext
Raw Normal View History

2017-09-09 04:27:07 +08:00
import showModal from 'discourse/lib/show-modal';
export default Ember.Component.extend({
2017-09-12 02:01:59 +08:00
tagName: 'div',
classNameBindings: [
':flagged-post',
'flaggedPost.hidden:hidden-post',
'flaggedPost.deleted'
],
2017-09-09 04:27:07 +08:00
removeAfter(promise) {
return promise.then(() => {
this.attrs.removePost();
}).catch(() => {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
_spawnModal(name, model, modalClass) {
let controller = showModal(name, { model, admin: true, modalClass });
controller.removeAfter = (p) => this.removeAfter(p);
},
actions: {
showAgreeFlagModal() {
this._spawnModal('admin-agree-flag', this.get('flaggedPost'), 'agree-flag-modal');
},
showDeleteFlagModal() {
this._spawnModal('admin-delete-flag', this.get('flaggedPost'), 'delete-flag-modal');
},
disagree() {
this.removeAfter(this.get('flaggedPost').disagreeFlags());
},
defer() {
this.removeAfter(this.get('flaggedPost').deferFlags());
}
}
});