Selaa lähdekoodia

added a watch icon button when clicked toggle if a card is watched or not

Rayene123 2 kuukautta sitten
vanhempi
sitoutus
61235c953c
2 muutettua tiedostoa jossa 23 lisäystä ja 0 poistoa
  1. 9 0
      client/components/cards/minicard.jade
  2. 14 0
      client/components/cards/minicard.js

+ 9 - 0
client/components/cards/minicard.jade

@@ -225,3 +225,12 @@ template(name="minicardDetailsActionsPopup")
         a.js-link
           i.fa.fa-link
           | {{_ 'link-card'}}
+      li
+      a.js-toggle-watch-card
+        if isWatching
+          i.fa.fa-eye
+          |  {{_ 'unwatch'}}
+        else
+          i.fa.fa-eye-slash
+          |  {{_ 'watch'}}
+

+ 14 - 0
client/components/cards/minicard.js

@@ -46,6 +46,10 @@ BlazeComponent.extendComponent({
     }
     return ret;
   },
+  isWatching() {
+    const card = this.currentData();
+    return card.findWatcher(Meteor.userId());
+  },
 
   showMembers() {
     // cache "board" to reduce the mini-mongodb access
@@ -125,6 +129,9 @@ Template.minicard.helpers({
       ? Meteor.connection._lastSessionId
       : null;
   },
+  isWatching() {
+    return this.findWatcher(Meteor.userId());
+  }
 });
 
 BlazeComponent.extendComponent({
@@ -178,4 +185,11 @@ Template.minicardDetailsActionsPopup.events({
     this.archive();
     Utils.goBoardId(this.boardId);
   }),
+  'click .js-toggle-watch-card'() {
+    const currentCard = this;
+    const level = currentCard.findWatcher(Meteor.userId()) ? null : 'watching';
+    Meteor.call('watch', 'card', currentCard._id, level, (err, ret) => {
+      if (!err && ret) Popup.back();
+    });
+  },
 });