diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 66f66c3eb..a818b6351 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -692,7 +692,7 @@ Template.cardDetailsActionsPopup.events({ this.move(this.boardId, this.swimlaneId, this.listId, maxOrder + 1); }, 'click .js-archive': Popup.afterConfirm('cardArchive', function () { - Popup.back(); + Popup.close(); this.archive(); Utils.goBoardId(this.boardId); }), @@ -701,7 +701,7 @@ Template.cardDetailsActionsPopup.events({ const currentCard = this; const level = currentCard.findWatcher(Meteor.userId()) ? null : 'watching'; Meteor.call('watch', 'card', currentCard._id, level, (err, ret) => { - if (!err && ret) Popup.back(); + if (!err && ret) Popup.close(); }); }, }); @@ -1007,7 +1007,7 @@ BlazeComponent.extendComponent({ }, 'click .js-submit'() { this.currentCard.setColor(this.currentColor.get()); - Popup.back(); + Popup.close(); }, 'click .js-remove-color'() { this.currentCard.setColor(null); diff --git a/client/components/cards/minicard.js b/client/components/cards/minicard.js index 796ce6a6a..a74397b93 100644 --- a/client/components/cards/minicard.js +++ b/client/components/cards/minicard.js @@ -55,7 +55,7 @@ BlazeComponent.extendComponent({ */ cardLabelsPopup(event) { if (this.find('.js-card-label:hover')) { - Popup.open("cardLabels")(event, this.currentData()); + Popup.open("cardLabels")(event, {dataContextIfCurrentDataIsUndefined: this.currentData()}); } }, diff --git a/client/lib/popup.js b/client/lib/popup.js index 1e4dfa68a..01f34f92a 100644 --- a/client/lib/popup.js +++ b/client/lib/popup.js @@ -32,9 +32,9 @@ window.Popup = new (class { } /** opens the popup * @param evt the current event - * @param dataContextIfCurrentDataIsUndefined use this dataContext if this.currentData() is undefined + * @param options options (dataContextIfCurrentDataIsUndefined use this dataContext if this.currentData() is undefined) */ - return function(evt, dataContextIfCurrentDataIsUndefined) { + return function(evt, options) { // If a popup is already opened, clicking again on the opener element // should close it -- and interrupt the current `open` function. if (self.isOpen()) { @@ -71,7 +71,7 @@ window.Popup = new (class { title: self._getTitle(popupName), depth: self._stack.length, offset: self._getOffset(openerElement), - dataContext: (this && this.currentData && this.currentData()) || dataContextIfCurrentDataIsUndefined || this, + dataContext: (this && this.currentData && this.currentData()) || (options && options.dataContextIfCurrentDataIsUndefined) || this, }); // If there are no popup currently opened we use the Blaze API to render