DEV: Add extra appEvents to composer workflow

DEV: Add extra appEvents to composer workflow

  • add composer:saved, composer:created-post, and composer:edited-post appEvents inside the composer controller, to make it easier to detect these events in plugins
diff --git a/app/assets/javascripts/discourse/app/controllers/composer.js b/app/assets/javascripts/discourse/app/controllers/composer.js
index 5693389..042f668 100644
--- a/app/assets/javascripts/discourse/app/controllers/composer.js
+++ b/app/assets/javascripts/discourse/app/controllers/composer.js
@@ -690,6 +690,8 @@ export default Controller.extend({
     const promise = composer
       .save({ imageSizes, editReason: this.editReason })
       .then(result => {
+        this.appEvents.trigger("composer:saved");
+
         if (result.responseJson.action === "enqueued") {
           this.send("postWasEnqueued", result.responseJson);
           if (result.responseJson.pending_post) {
@@ -707,6 +709,7 @@ export default Controller.extend({
         }
 
         if (this.get("model.editingPost")) {
+          this.appEvents.trigger("composer:edited-post");
           this.appEvents.trigger("post-stream:refresh", {
             id: parseInt(result.responseJson.id, 10)
           });
@@ -718,6 +721,7 @@ export default Controller.extend({
         }
 
         if (result.responseJson.action === "create_post") {
+          this.appEvents.trigger("composer:created-post");
           this.appEvents.trigger("post:highlight", result.payload.post_number);
         }
 

GitHub sha: 280cd99c