import showModal from "discourse/lib/show-modal"; import computed from "ember-addons/ember-computed-decorators"; export default Ember.Component.extend({ adminTools: Ember.inject.service(), expanded: false, tagName: "div", classNameBindings: [ ":flagged-post", "flaggedPost.hidden:hidden-post", "flaggedPost.deleted" ], canAct: Ember.computed.alias("actableFilter"), @computed("filter") actableFilter(filter) { return filter === "active"; }, removeAfter(promise) { return promise.then(() => this.attrs.removePost()); }, _spawnModal(name, model, modalClass) { let controller = showModal(name, { model, admin: true, modalClass }); controller.removeAfter = p => this.removeAfter(p); }, actions: { removeAfter(promise) { return this.removeAfter(promise); }, disagree() { this.removeAfter(this.get("flaggedPost").disagreeFlags()); }, defer() { this.removeAfter(this.get("flaggedPost").deferFlags()); }, expand() { this.get("flaggedPost") .expandHidden() .then(() => { this.set("expanded", true); }); }, showModerationHistory() { this.get("adminTools").showModerationHistory({ filter: "post", post_id: this.get("flaggedPost.id") }); } } });