Assignee field like Jira #2452 , in progress.

Added features:
- Assignee can now be added and removed.
- Avatar icon is at card and assignee details

TODO:
- When selecting new assignee (+) icon, list does not yet show avatars and names who to add.
  There is empty avatar without name.

Thanks to xet7 !
This commit is contained in:
Lauri Ojansivu 2019-11-02 16:12:40 +02:00
parent 92efb8bec4
commit 3e8f9ef1a5
7 changed files with 267 additions and 73 deletions

View file

@ -15,23 +15,6 @@ template(name="userAvatar")
a.edit-avatar.js-change-avatar
i.fa.fa-pencil
template(name="userAvatarAssignee")
a.assignee.js-assignee(title="{{userData.profile.fullname}} ({{userData.username}})")
if userData.profile.avatarUrl
img.avatar.avatar-image(src="{{userData.profile.avatarUrl}}")
else
+userAvatarInitials(userId=userData._id)
if showStatus
span.assignee-presence-status(class=presenceStatusClassName)
span.assignee-type(class=assigneeType)
unless isSandstorm
if showEdit
if $eq currentUser._id userData._id
a.edit-avatar.js-change-avatar
i.fa.fa-pencil
template(name="userAvatarInitials")
svg.avatar.avatar-initials(viewBox="0 0 {{viewPortWidth}} 15")
text(x="50%" y="13" text-anchor="middle")= initials
@ -95,18 +78,3 @@ template(name="cardMemberPopup")
if $eq currentUser._id user._id
with currentUser
li: a.js-edit-profile {{_ 'edit-profile'}}
template(name="cardAssigneePopup")
.board-assignee-menu
.mini-profile-info
+userAvatar(userId=user._id showEdit=true)
.info
h3= user.profile.fullname
p.quiet @{{ user.username }}
ul.pop-over-list
if currentUser.isNotCommentOnly
li: a.js-remove-assignee {{_ 'remove-member-from-card'}}
if $eq currentUser._id user._id
with currentUser
li: a.js-edit-profile {{_ 'edit-profile'}}

View file

@ -139,13 +139,6 @@ Template.cardMembersPopup.helpers({
return _.contains(cardMembers, this.userId);
},
isCardAssignee() {
const card = Template.parentData();
const cardAssignees = card.getAssignees();
return _.contains(cardAssignees, this.userId);
},
user() {
return Users.findOne(this.userId);
},
@ -173,26 +166,3 @@ Template.cardMemberPopup.events({
},
'click .js-edit-profile': Popup.open('editProfile'),
});
Template.cardAssigneesPopup.events({
'click .js-select-assignee'(event) {
const card = Cards.findOne(Session.get('currentCard'));
const assigneeId = this.userId;
card.toggleAssignee(assigneeId);
event.preventDefault();
},
});
Template.cardAssigneePopup.helpers({
user() {
return Users.findOne(this.userId);
},
});
Template.cardAssigneePopup.events({
'click .js-remove-assignee'() {
Cards.findOne(this.cardId).unassignAssignee(this.userId);
Popup.close();
},
'click .js-edit-profile': Popup.open('editProfile'),
});

View file

@ -2,8 +2,7 @@
avatar-radius = 50%
.member,
.assignee
.member
border-radius: 3px
display: block
position: relative
@ -33,8 +32,7 @@ avatar-radius = 50%
height: 100%
width: @height
.member-presence-status,
.assignee-presence-status
.member-presence-status
background-color: #b3b3b3
border: 1px solid #fff
border-radius: 50%
@ -81,8 +79,7 @@ avatar-radius = 50%
color: white
&.add-member,
&.add-assignee
&.add-member
display: flex
align-items: center
justify-content: center
@ -114,8 +111,7 @@ avatar-radius = 50%
p
padding-top: 0
.member,
.assignee
.member
width: 50px
height: @width
margin-right: 10px