Add more analytics events

Add more analytics events

The ability to track when likes and bookmarks are toggled

diff --git a/app/assets/javascripts/discourse/models/post.js.es6 b/app/assets/javascripts/discourse/models/post.js.es6
index 9a9fbe8..a82cef4 100644
--- a/app/assets/javascripts/discourse/models/post.js.es6
+++ b/app/assets/javascripts/discourse/models/post.js.es6
@@ -316,7 +316,10 @@ const Post = RestModel.extend({
     // need to wait to hear back from server (stuff may not be loaded)
 
     return Discourse.Post.updateBookmark(this.id, this.bookmarked)
-      .then(result => this.set("topic.bookmarked", result.topic_bookmarked))
+      .then(result => {
+        this.set("topic.bookmarked", result.topic_bookmarked);
+        this.appEvents.trigger("page:bookmark-post-toggled", this);
+      })
       .catch(error => {
         this.toggleProperty("bookmarked");
         if (bookmarkedTopic) {
diff --git a/app/assets/javascripts/discourse/widgets/post.js.es6 b/app/assets/javascripts/discourse/widgets/post.js.es6
index 65f55a9..12eadf9 100644
--- a/app/assets/javascripts/discourse/widgets/post.js.es6
+++ b/app/assets/javascripts/discourse/widgets/post.js.es6
@@ -692,9 +692,10 @@ export default createWidget("post", {
     const likeAction = post.get("likeAction");
 
     if (likeAction && likeAction.get("canToggle")) {
-      return likeAction
-        .togglePromise(post)
-        .then(result => this._warnIfClose(result));
+      return likeAction.togglePromise(post).then(result => {
+        this.appEvents.trigger("page:like-toggled", post, likeAction);
+        return this._warnIfClose(result);
+      });
     }
   },

GitHub sha: afe7429e

1 Like