diff options
author | Nicu Tofan <nicu.tofan@gmail.com> | 2018-06-18 23:25:56 +0300 |
---|---|---|
committer | Nicu Tofan <nicu.tofan@gmail.com> | 2018-06-26 14:32:47 +0300 |
commit | d59583915cca24d53a11251c54ca7caf6b5edb4e (patch) | |
tree | a425bb136877a3f93c8a9871008be2606eb5427c /client/components/cards/cardDetails.js | |
parent | b627ced605f0ab98eb2977420da954f31df4f592 (diff) | |
download | wekan-d59583915cca24d53a11251c54ca7caf6b5edb4e.tar.gz wekan-d59583915cca24d53a11251c54ca7caf6b5edb4e.tar.bz2 wekan-d59583915cca24d53a11251c54ca7caf6b5edb4e.zip |
Initial implementation for subtasks
Diffstat (limited to 'client/components/cards/cardDetails.js')
-rw-r--r-- | client/components/cards/cardDetails.js | 56 |
1 files changed, 34 insertions, 22 deletions
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 72ed678b..22dacb70 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -364,6 +364,20 @@ BlazeComponent.extendComponent({ }, }).register('boardsAndLists'); +function cloneCheckList(_id, checklist) { + 'use strict'; + const checklistId = checklist._id; + checklist.cardId = _id; + checklist._id = null; + const newChecklistId = Checklists.insert(checklist); + ChecklistItems.find({checklistId}).forEach(function(item) { + item._id = null; + item.checklistId = newChecklistId; + item.cardId = _id; + ChecklistItems.insert(item); + }); +} + Template.copyCardPopup.events({ 'click .js-done'() { const card = Cards.findOne(Session.get('currentCard')); @@ -393,18 +407,17 @@ Template.copyCardPopup.events({ // copy checklists let cursor = Checklists.find({cardId: oldId}); cursor.forEach(function() { + cloneCheckList(_id, arguments[0]); + }); + + // copy subtasks + cursor = Subtasks.find({cardId: oldId}); + cursor.forEach(function() { 'use strict'; - const checklist = arguments[0]; - const checklistId = checklist._id; - checklist.cardId = _id; - checklist._id = null; - const newChecklistId = Checklists.insert(checklist); - ChecklistItems.find({checklistId}).forEach(function(item) { - item._id = null; - item.checklistId = newChecklistId; - item.cardId = _id; - ChecklistItems.insert(item); - }); + const subtask = arguments[0]; + subtask.cardId = _id; + subtask._id = null; + /* const newSubtaskId = */ Subtasks.insert(subtask); }); // copy card comments @@ -454,18 +467,17 @@ Template.copyChecklistToManyCardsPopup.events({ // copy checklists let cursor = Checklists.find({cardId: oldId}); cursor.forEach(function() { + cloneCheckList(_id, arguments[0]); + }); + + // copy subtasks + cursor = Subtasks.find({cardId: oldId}); + cursor.forEach(function() { 'use strict'; - const checklist = arguments[0]; - const checklistId = checklist._id; - checklist.cardId = _id; - checklist._id = null; - const newChecklistId = Checklists.insert(checklist); - ChecklistItems.find({checklistId}).forEach(function(item) { - item._id = null; - item.checklistId = newChecklistId; - item.cardId = _id; - ChecklistItems.insert(item); - }); + const subtask = arguments[0]; + subtask.cardId = _id; + subtask._id = null; + /* const newSubtaskId = */ Subtasks.insert(subtask); }); // copy card comments |