Add notification, allow watch boards / lists / cards

This commit is contained in:
Liming Xie 2016-01-05 23:26:02 +08:00
parent 9ef8ebaf09
commit 9bbdacc79a
24 changed files with 579 additions and 16 deletions

View file

@ -15,6 +15,7 @@ template(name="memberMenuPopup")
li: a.js-change-avatar {{_ 'edit-avatar'}}
li: a.js-change-password {{_ 'changePasswordPopup-title'}}
li: a.js-change-language {{_ 'changeLanguagePopup-title'}}
li: a.js-edit-notification {{_ 'editNotificationPopup-title'}}
hr
ul.pop-over-list
li: a.js-logout {{_ 'log-out'}}
@ -32,6 +33,23 @@ template(name="editProfilePopup")
input.js-profile-initials(type="text" value=profile.initials)
input.primary.wide(type="submit" value="{{_ 'save'}}")
template(name="editNotificationPopup")
ul.pop-over-list
li
a.js-toggle-tag-notify-watch
i.fa.fa-eye.colorful
| {{_ 'watching'}}
if hasTag "notify-watch"
i.fa.fa-check
span.sub-name {{_ 'notify-watch'}}
li
a.js-toggle-tag-notify-participate
i.fa.fa-user.colorful
| {{_ 'tracking'}}
if hasTag "notify-participate"
i.fa.fa-check
span.sub-name {{_ 'notify-participate'}}
template(name="changePasswordPopup")
+atForm(state='changePwd')

View file

@ -8,6 +8,7 @@ Template.memberMenuPopup.events({
'click .js-change-avatar': Popup.open('changeAvatar'),
'click .js-change-password': Popup.open('changePassword'),
'click .js-change-language': Popup.open('changeLanguage'),
'click .js-edit-notification': Popup.open('editNotification'),
'click .js-logout'(evt) {
evt.preventDefault();
@ -33,6 +34,25 @@ Template.editProfilePopup.events({
},
});
Template.editNotificationPopup.helpers({
hasTag(tag) {
const user = Meteor.user();
return user && user.hasTag(tag);
},
});
// we defined github like rules, see: https://github.com/settings/notifications
Template.editNotificationPopup.events({
'click .js-toggle-tag-notify-participate'() {
const user = Meteor.user();
if (user) user.toggleTag('notify-participate');
},
'click .js-toggle-tag-notify-watch'() {
const user = Meteor.user();
if (user) user.toggleTag('notify-watch');
},
});
// XXX For some reason the useraccounts autofocus isnt working in this case.
// See https://github.com/meteor-useraccounts/core/issues/384
Template.changePasswordPopup.onRendered(function() {