REFACTOR: Convert admin flagged posts to a component

This commit is contained in:
Robin Ward
2017-09-05 15:29:53 -04:00
parent 3d2ded5d14
commit bbbd974487
14 changed files with 105 additions and 121 deletions
@@ -1,41 +0,0 @@
import FlaggedPost from 'admin/models/flagged-post';
export default Ember.Controller.extend({
query: null,
adminOldFlagsView: Em.computed.equal("query", "old"),
adminActiveFlagsView: Em.computed.equal("query", "active"),
actions: {
disagreeFlags(flaggedPost) {
flaggedPost.disagreeFlags().then(() => {
this.get('model').removeObject(flaggedPost);
}, function () {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
deferFlags(flaggedPost) {
flaggedPost.deferFlags().then(() => {
this.get('model').removeObject(flaggedPost);
}, function () {
bootbox.alert(I18n.t("admin.flags.error"));
});
},
doneTopicFlags(item) {
this.send("disagreeFlags", item);
},
loadMore() {
const flags = this.get('model');
return FlaggedPost.findAll(this.get('query'), flags.length+1).then(data => {
if (data.length===0) {
flags.set("allLoaded",true);
}
flags.addObjects(data);
});
}
}
});
@@ -1,24 +1,19 @@
import ModalFunctionality from 'discourse/mixins/modal-functionality';
export default Ember.Controller.extend(ModalFunctionality, {
adminFlagsList: Ember.inject.controller(),
removeAfter: null,
_agreeFlag: function (actionOnPost) {
const adminFlagController = this.get("adminFlagsList");
const post = this.get("content");
return post.agreeFlags(actionOnPost).then(() => {
adminFlagController.get('model').removeObject(post);
this.send("closeModal");
}, function () {
bootbox.alert(I18n.t("admin.flags.error"));
_agreeFlag(action) {
let flaggedPost = this.get('model');
return this.removeAfter(flaggedPost.agreeFlags(action), flaggedPost).then(() => {
this.send('closeModal');
});
},
actions: {
agreeFlagHidePost: function () { return this._agreeFlag("hide"); },
agreeFlagKeepPost: function () { return this._agreeFlag("keep"); },
agreeFlagRestorePost: function () { return this._agreeFlag("restore"); }
agreeFlagHidePost() { return this._agreeFlag("hide"); },
agreeFlagKeepPost() { return this._agreeFlag("keep"); },
agreeFlagRestorePost() { return this._agreeFlag("restore"); }
}
});
@@ -1,30 +1,20 @@
import ModalFunctionality from 'discourse/mixins/modal-functionality';
export default Ember.Controller.extend(ModalFunctionality, {
adminFlagsList: Ember.inject.controller(),
removeAfter: null,
actions: {
deletePostDeferFlag() {
const adminFlagController = this.get("adminFlagsList");
const post = this.get("content");
return post.deferFlags(true).then(() => {
adminFlagController.get('model').removeObject(post);
this.send("closeModal");
}, function () {
bootbox.alert(I18n.t("admin.flags.error"));
let flaggedPost = this.get('model');
this.removeAfter(flaggedPost.deferFlags(true), flaggedPost).then(() => {
this.send('closeModal');
});
},
deletePostAgreeFlag() {
const adminFlagController = this.get("adminFlagsList");
const post = this.get("content");
return post.agreeFlags("delete").then(() => {
adminFlagController.get('model').removeObject(post);
this.send("closeModal");
}, function () {
bootbox.alert(I18n.t("admin.flags.error"));
let flaggedPost = this.get('model');
this.removeAfter(flaggedPost.agreeFlags('delete'), flaggedPost).then(() => {
this.send('closeModal');
});
}
}