| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | import { toggleNotificationsDrawer } from './notifications.js';Template.notificationsDrawer.onCreated(function() {  Meteor.subscribe('notificationActivities');  Meteor.subscribe('notificationCards');  Meteor.subscribe('notificationUsers');  Meteor.subscribe('notificationsAttachments');  Meteor.subscribe('notificationChecklistItems');  Meteor.subscribe('notificationChecklists');  Meteor.subscribe('notificationComments');  Meteor.subscribe('notificationLists');  Meteor.subscribe('notificationSwimlanes');});Template.notificationsDrawer.helpers({  transformedProfile() {    return Users.findOne(Meteor.userId());  },  readNotifications() {    const readNotifications = _.filter(      Meteor.user().profile.notifications,      v => !!v.read,    );    return readNotifications.length;  },});Template.notificationsDrawer.events({  'click .all-read'() {    const notifications = Meteor.user().profile.notifications;    for (const index in notifications) {      if (notifications.hasOwnProperty(index) && !notifications[index].read) {        const update = {};        update[`profile.notifications.${index}.read`] = Date.now();        Users.update(Meteor.userId(), { $set: update });      }    }  },  'click .close'() {    toggleNotificationsDrawer();  },  'click .toggle-read'() {    Session.set('showReadNotifications', !Session.get('showReadNotifications'));  },  'click .remove-read'() {    const user = Meteor.user();    for (const notification of user.profile.notifications) {      if (notification.read) {        user.removeNotification(notification.activity);      }    }  },});
 |