mirror of
https://github.com/wekan/wekan.git
synced 2026-02-12 03:04:22 +01:00
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:
parent
216887490e
commit
c894567987
31 changed files with 590 additions and 691 deletions
|
|
@ -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'}}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue