From 60c6f4f5af38712641f90fa139511106f985b078 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 11:11:41 -0500 Subject: added Popup --- client/components/cards/cardDetails.js | 49 ++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 3ae6327b..a2168b29 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -297,6 +297,55 @@ Template.copyCardPopup.events({ }, }); + +Template.copyManyCardPopup.events({ + 'click .js-select-list' (evt) { + const card = Cards.findOne(Session.get('currentCard')); + const oldId = card._id; + card._id = null; + card.listId = this._id; + const list = Lists.findOne(card.listId); + card.boardId = list.boardId; + const textarea = $(evt.currentTarget).parents('.content').find('textarea'); + const title = textarea.val().trim(); + // insert new card to the bottom of new list + card.sort = Lists.findOne(this._id).cards().count(); + + if (title) { + card.title = title; + card.coverId = ''; + const _id = Cards.insert(card); + // In case the filter is active we need to add the newly inserted card in + // the list of exceptions -- cards that are not filtered. Otherwise the + // card will disappear instantly. + // See https://github.com/wekan/wekan/issues/80 + Filter.addException(_id); + + // copy checklists + let cursor = Checklists.find({cardId: oldId}); + cursor.forEach(function() { + 'use strict'; + const checklist = arguments[0]; + checklist.cardId = _id; + checklist._id = null; + Checklists.insert(checklist); + }); + + // copy card comments + cursor = CardComments.find({cardId: oldId}); + cursor.forEach(function () { + 'use strict'; + const comment = arguments[0]; + comment.cardId = _id; + comment._id = null; + CardComments.insert(comment); + }); + Popup.close(); + } + }, +}); + + Template.cardMorePopup.events({ 'click .js-copy-card-link-to-clipboard' () { // Clipboard code from: -- cgit v1.2.3-1-g7c22