From a32aa78028a83baa9901c7960f04abad8e101319 Mon Sep 17 00:00:00 2001 From: seve12 Date: Wed, 8 Oct 2025 10:29:01 +0300 Subject: [PATCH] fixed issue 5715 --- client/components/lists/listBody.jade | 3 +++ client/components/lists/listBody.js | 28 +++++++++++++-------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/client/components/lists/listBody.jade b/client/components/lists/listBody.jade index 662b5f187..51003e578 100644 --- a/client/components/lists/listBody.jade +++ b/client/components/lists/listBody.jade @@ -85,16 +85,19 @@ template(name="linkCardPopup") label {{_ 'swimlanes'}}: select.js-select-swimlanes + option(value="") {{_ 'custom-field-dropdown-none'}} each swimlanes option(value="{{_id}}") {{isTitleDefault title}} label {{_ 'lists'}}: select.js-select-lists + option(value="") {{_ 'custom-field-dropdown-none'}} each lists option(value="{{_id}}") {{isTitleDefault title}} label {{_ 'cards'}}: select.js-select-cards + option(value="") {{_ 'custom-field-dropdown-none'}} each cards option(value="{{getRealId}}") {{getTitle}} diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js index 9ab4fcdc7..8b37df09b 100644 --- a/client/components/lists/listBody.js +++ b/client/components/lists/listBody.js @@ -479,8 +479,6 @@ BlazeComponent.extendComponent({ { sort: { sort: 1 }, }); - if (swimlanes.length) - this.selectedSwimlaneId.set(swimlanes[0]._id); return swimlanes; }, @@ -495,7 +493,6 @@ BlazeComponent.extendComponent({ { sort: { sort: 1 }, }); - if (lists.length) this.selectedListId.set(lists[0]._id); return lists; }, @@ -504,19 +501,18 @@ BlazeComponent.extendComponent({ return []; } const ownCardsIds = this.board.cards().map(card => card.getRealId()); - const ret = ReactiveCache.getCards( - { - boardId: this.selectedBoardId.get(), - swimlaneId: this.selectedSwimlaneId.get(), - listId: this.selectedListId.get(), + const selector = { archived: false, linkedId: { $nin: ownCardsIds }, _id: { $nin: ownCardsIds }, type: { $nin: ['template-card'] }, - }, - { - sort: { sort: 1 }, - }); + }; + // only add filters when selection is set (non-empty) + if (this.selectedBoardId.get()) selector.boardId = this.selectedBoardId.get(); + if (this.selectedSwimlaneId.get()) selector.swimlaneId = this.selectedSwimlaneId.get(); + if (this.selectedListId.get()) selector.listId = this.selectedListId.get(); + + const ret = ReactiveCache.getCards(selector, { sort: { sort: 1 } }); return ret; }, @@ -537,8 +533,12 @@ BlazeComponent.extendComponent({ return [ { 'change .js-select-boards'(evt) { - subManager.subscribe('board', $(evt.currentTarget).val(), false); - this.selectedBoardId.set($(evt.currentTarget).val()); + const val = $(evt.currentTarget).val(); + subManager.subscribe('board', val, false); + // Clear swimlane and list selection to allow linking to board only + this.selectedSwimlaneId.set(''); + this.selectedListId.set(''); + this.selectedBoardId.set(val); }, 'change .js-select-swimlanes'(evt) { this.selectedSwimlaneId.set($(evt.currentTarget).val());