mirror of
https://github.com/wekan/wekan.git
synced 2026-03-11 16:12:34 +01:00
adds searchfields to members and assignees popup
This commit is contained in:
parent
63044ac13a
commit
698c9ed1ea
2 changed files with 56 additions and 8 deletions
|
|
@ -708,8 +708,9 @@ template(name="boardsAndLists")
|
||||||
button.primary.confirm.js-done {{_ 'done'}}
|
button.primary.confirm.js-done {{_ 'done'}}
|
||||||
|
|
||||||
template(name="cardMembersPopup")
|
template(name="cardMembersPopup")
|
||||||
|
input.card-members-filter(type="text" placeholder="Search...")
|
||||||
ul.pop-over-list.js-card-member-list
|
ul.pop-over-list.js-card-member-list
|
||||||
each board.activeMembers
|
each members
|
||||||
li.item(class="{{#if isCardMember}}active{{/if}}")
|
li.item(class="{{#if isCardMember}}active{{/if}}")
|
||||||
a.name.js-select-member(href="#")
|
a.name.js-select-member(href="#")
|
||||||
+userAvatar(userId=user._id)
|
+userAvatar(userId=user._id)
|
||||||
|
|
@ -720,9 +721,10 @@ template(name="cardMembersPopup")
|
||||||
i.fa.fa-check
|
i.fa.fa-check
|
||||||
|
|
||||||
template(name="cardAssigneesPopup")
|
template(name="cardAssigneesPopup")
|
||||||
|
input.card-assignees-filter(type="text" placeholder="Search...")
|
||||||
unless currentUser.isWorker
|
unless currentUser.isWorker
|
||||||
ul.pop-over-list.js-card-assignee-list
|
ul.pop-over-list.js-card-assignee-list
|
||||||
each board.activeMembers
|
each members
|
||||||
li.item(class="{{#if isCardAssignee}}active{{/if}}")
|
li.item(class="{{#if isCardAssignee}}active{{/if}}")
|
||||||
a.name.js-select-assignee(href="#")
|
a.name.js-select-assignee(href="#")
|
||||||
+userAvatar(userId=user._id)
|
+userAvatar(userId=user._id)
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@ BlazeComponent.extendComponent({
|
||||||
integration,
|
integration,
|
||||||
'CardSelected',
|
'CardSelected',
|
||||||
params,
|
params,
|
||||||
() => {},
|
() => { },
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -541,8 +541,8 @@ BlazeComponent.extendComponent({
|
||||||
}).register('exportCardPopup');
|
}).register('exportCardPopup');
|
||||||
|
|
||||||
// only allow number input
|
// only allow number input
|
||||||
Template.editCardSortOrderForm.onRendered(function() {
|
Template.editCardSortOrderForm.onRendered(function () {
|
||||||
this.$('input').on("keypress paste", function(event) {
|
this.$('input').on("keypress paste", function (event) {
|
||||||
let keyCode = event.keyCode;
|
let keyCode = event.keyCode;
|
||||||
let charCode = String.fromCharCode(keyCode);
|
let charCode = String.fromCharCode(keyCode);
|
||||||
let regex = new RegExp('[-0-9.]');
|
let regex = new RegExp('[-0-9.]');
|
||||||
|
|
@ -667,6 +667,40 @@ Template.editCardTitleForm.onRendered(function () {
|
||||||
autosize(this.$('.js-edit-card-title'));
|
autosize(this.$('.js-edit-card-title'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Template.cardMembersPopup.onCreated(function () {
|
||||||
|
const members = Boards.findOne(Session.get('currentBoard')).activeMembers();
|
||||||
|
this.members = new ReactiveVar(members);
|
||||||
|
});
|
||||||
|
|
||||||
|
Template.cardMembersPopup.events({
|
||||||
|
'keyup .card-members-filter'(event) {
|
||||||
|
const members = filterMembers(event.target.value);
|
||||||
|
Template.instance().members.set(members);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Template.cardMembersPopup.helpers({
|
||||||
|
members() {
|
||||||
|
return Template.instance().members.get();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const filterMembers = (filterTerm) => {
|
||||||
|
let members = Boards.findOne(Session.get('currentBoard')).activeMembers();
|
||||||
|
|
||||||
|
if (filterTerm) {
|
||||||
|
members = members
|
||||||
|
.map(member => ({
|
||||||
|
member,
|
||||||
|
user: Users.findOne(member.userId)
|
||||||
|
}))
|
||||||
|
.filter(({ user }) =>
|
||||||
|
user.profile.fullname.toLowerCase().indexOf(filterTerm.toLowerCase()) !== -1)
|
||||||
|
.map(({ member }) => member);
|
||||||
|
}
|
||||||
|
return members;
|
||||||
|
}
|
||||||
|
|
||||||
Template.editCardTitleForm.events({
|
Template.editCardTitleForm.events({
|
||||||
'keydown .js-edit-card-title'(event) {
|
'keydown .js-edit-card-title'(event) {
|
||||||
// If enter key was pressed, submit the data
|
// If enter key was pressed, submit the data
|
||||||
|
|
@ -1019,9 +1053,8 @@ BlazeComponent.extendComponent({
|
||||||
// https://github.com/wekan/wekan/issues/2785
|
// https://github.com/wekan/wekan/issues/2785
|
||||||
const message = `${TAPi18n.__(
|
const message = `${TAPi18n.__(
|
||||||
'delete-linked-card-before-this-card',
|
'delete-linked-card-before-this-card',
|
||||||
)} linkedId: ${
|
)} linkedId: ${this._id
|
||||||
this._id
|
} at client/components/cards/cardDetails.js and https://github.com/wekan/wekan/issues/2785`;
|
||||||
} at client/components/cards/cardDetails.js and https://github.com/wekan/wekan/issues/2785`;
|
|
||||||
alert(message);
|
alert(message);
|
||||||
}
|
}
|
||||||
Utils.goBoardId(this.boardId);
|
Utils.goBoardId(this.boardId);
|
||||||
|
|
@ -1589,6 +1622,11 @@ EscapeActions.register(
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Template.cardAssigneesPopup.onCreated(function () {
|
||||||
|
const members = Boards.findOne(Session.get('currentBoard')).activeMembers();
|
||||||
|
this.members = new ReactiveVar(members);
|
||||||
|
});
|
||||||
|
|
||||||
Template.cardAssigneesPopup.events({
|
Template.cardAssigneesPopup.events({
|
||||||
'click .js-select-assignee'(event) {
|
'click .js-select-assignee'(event) {
|
||||||
const card = Cards.findOne(Session.get('currentCard'));
|
const card = Cards.findOne(Session.get('currentCard'));
|
||||||
|
|
@ -1596,6 +1634,10 @@ Template.cardAssigneesPopup.events({
|
||||||
card.toggleAssignee(assigneeId);
|
card.toggleAssignee(assigneeId);
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
},
|
},
|
||||||
|
'keyup .card-assignees-filter'(event) {
|
||||||
|
const members = filterMembers(event.target.value);
|
||||||
|
Template.instance().members.set(members);
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
Template.cardAssigneesPopup.helpers({
|
Template.cardAssigneesPopup.helpers({
|
||||||
|
|
@ -1606,6 +1648,10 @@ Template.cardAssigneesPopup.helpers({
|
||||||
return _.contains(cardAssignees, this.userId);
|
return _.contains(cardAssignees, this.userId);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
members() {
|
||||||
|
return Template.instance().members.get();
|
||||||
|
},
|
||||||
|
|
||||||
user() {
|
user() {
|
||||||
return Users.findOne(this.userId);
|
return Users.findOne(this.userId);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue