mirror of
https://github.com/wekan/wekan.git
synced 2026-02-27 18:34:07 +01:00
Global Search Card Popup has now every data if the search was opened from another board
- the global search only returns the card details data needed to display the search results, but for opening the popup card details a lot more information is needed. It already worked if the data was already in the minimongo, but if not, nearly nothing was displayed
This commit is contained in:
parent
72ddd66495
commit
4733afe4eb
6 changed files with 58 additions and 9 deletions
|
|
@ -547,6 +547,7 @@ Template.cardDetails.helpers({
|
|||
});
|
||||
Template.cardDetailsPopup.onDestroyed(() => {
|
||||
Session.delete('popupCard');
|
||||
Session.delete('popupCardBoardId');
|
||||
});
|
||||
Template.cardDetailsPopup.helpers({
|
||||
popupCard() {
|
||||
|
|
|
|||
|
|
@ -7,8 +7,16 @@ Template.resultCard.helpers({
|
|||
BlazeComponent.extendComponent({
|
||||
clickOnMiniCard(evt) {
|
||||
evt.preventDefault();
|
||||
Session.set('popupCard', this.currentData()._id);
|
||||
this.cardDetailsPopup(evt);
|
||||
const this_ = this;
|
||||
const cardId = this.currentData()._id;
|
||||
const boardId = this.currentData().boardId;
|
||||
Meteor.subscribe('popupCardData', cardId, {
|
||||
onReady() {
|
||||
Session.set('popupCard', cardId);
|
||||
Session.set('popupCardBoardId', boardId);
|
||||
this_.cardDetailsPopup(evt);
|
||||
},
|
||||
});
|
||||
},
|
||||
|
||||
cardDetailsPopup(event) {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
Blaze.registerHelper('currentBoard', () => {
|
||||
const boardId = Session.get('currentBoard');
|
||||
if (boardId) {
|
||||
return Boards.findOne(boardId);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
const ret = Utils.getCurrentBoard();
|
||||
return ret;
|
||||
});
|
||||
|
||||
Blaze.registerHelper('currentCard', () => {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,16 @@
|
|||
Utils = {
|
||||
/** returns the current board id
|
||||
* <li> returns the current board id or the board id of the popup card if set
|
||||
*/
|
||||
getCurrentBoardId() {
|
||||
let popupCardBoardId = Session.get('popupCardBoardId');
|
||||
let currentBoard = Session.get('currentBoard');
|
||||
let ret = currentBoard;
|
||||
if (popupCardBoardId) {
|
||||
ret = popupCardBoardId;
|
||||
}
|
||||
return ret;
|
||||
},
|
||||
getCurrentCardId(ignorePopupCard) {
|
||||
let ret = Session.get('currentCard');
|
||||
if (!ret && !ignorePopupCard) {
|
||||
|
|
@ -10,6 +22,14 @@ Utils = {
|
|||
const ret = Session.get('popupCard');
|
||||
return ret;
|
||||
},
|
||||
/** returns the current board
|
||||
* <li> returns the current board or the board of the popup card if set
|
||||
*/
|
||||
getCurrentBoard() {
|
||||
const boardId = Utils.getCurrentBoardId();
|
||||
const ret = Boards.findOne(boardId);
|
||||
return ret;
|
||||
},
|
||||
getCurrentCard(ignorePopupCard) {
|
||||
const cardId = Utils.getCurrentCardId(ignorePopupCard);
|
||||
const ret = Cards.findOne(cardId);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue