Work on the card activities and comments

This commit also introduces a new CSSEvents object that is used to
abstract vendor specifics events related to CSS transitions and
animations.

Fixes #183.
Fixes #179.
This commit is contained in:
Maxime Quandalle 2015-06-12 13:59:39 +02:00
parent 216887490e
commit c894567987
31 changed files with 590 additions and 691 deletions

View file

@ -19,14 +19,17 @@ template(name="userPopup")
+userAvatar(userId=user._id)
.info
h3.bottom
a.js-profile(href="{{pathFor route='Profile' username=user.username}}")= user.profile.name
= user.profile.fullname
p.quiet.bottom @{{ user.username }}
template(name="memberName")
a.js-show-mem-menu(href="{{pathFor route='Profile' username=user.username}}")
if showBoth
= user.profile.fullname
if username
| ({{ user.username }})
| ({{ user.username }})
else if user.profile.fullname
= user.profile.fullname
else
= user.username
template(name="changeAvatarPopup")
ul.pop-over-list
@ -54,3 +57,14 @@ template(name="changeAvatarPopup")
button.full.js-upload-avatar
i.fa.fa-upload
| Upload an avatar
template(name="cardMemberPopup")
.board-member-menu
.mini-profile-info
+userAvatar(userId=user._id)
.info
h3.bottom= user.profile.fullname
p.quiet.bottom @{{ user.username }}
if currentUser.isBoardMember
ul.pop-over-list
li: a.js-remove-member {{_ 'remove-member-from-card'}}

View file

@ -111,3 +111,40 @@ BlazeComponent.extendComponent({
}];
}
}).register('changeAvatarPopup');
Template.cardMembersPopup.helpers({
isCardMember: function() {
var cardId = Template.parentData()._id;
var cardMembers = Cards.findOne(cardId).members || [];
return _.contains(cardMembers, this.userId);
},
user: function() {
return Users.findOne(this.userId);
}
});
Template.cardMembersPopup.events({
'click .js-select-member': function(evt) {
var cardId = Template.parentData(2).data._id;
var memberId = this.userId;
var operation;
if (Cards.find({ _id: cardId, members: memberId}).count() === 0)
operation = '$addToSet';
else
operation = '$pull';
var query = {};
query[operation] = {
members: memberId
};
Cards.update(cardId, query);
evt.preventDefault();
}
});
Template.cardMemberPopup.events({
'click .js-remove-member': function() {
Cards.update(this.cardId, {$pull: {members: this.userId}});
Popup.close();
}
});