From 691c3aff684e945add6a4c1a119094e77fa32e6c Mon Sep 17 00:00:00 2001 From: Maxime Quandalle Date: Fri, 28 Aug 2015 06:21:30 +0200 Subject: Improve the list menu * Grow the click-able zone of the list menu * Remove a dead link on the list menu * Merge list menu files with header menu to be consistent with the board components internal organization Closes #106 --- client/components/lists/list.styl | 5 ++-- client/components/lists/listHeader.jade | 27 +++++++++++++++++ client/components/lists/listHeader.js | 53 +++++++++++++++++++++++++++++++++ client/components/lists/listMenu.jade | 29 ------------------ client/components/lists/listMenu.js | 52 -------------------------------- 5 files changed, 83 insertions(+), 83 deletions(-) delete mode 100644 client/components/lists/listMenu.jade delete mode 100644 client/components/lists/listMenu.js (limited to 'client/components/lists') diff --git a/client/components/lists/list.styl b/client/components/lists/list.styl index 40e5ea94..2145d947 100644 --- a/client/components/lists/list.styl +++ b/client/components/lists/list.styl @@ -77,8 +77,9 @@ .list-header-menu-icon position: absolute - top: 0 - right: 0 + padding: 7px + top: -@padding + right: -@padding .list-body flex: 1 diff --git a/client/components/lists/listHeader.jade b/client/components/lists/listHeader.jade index 288cfd57..00b574da 100644 --- a/client/components/lists/listHeader.jade +++ b/client/components/lists/listHeader.jade @@ -14,3 +14,30 @@ template(name="editListTitleForm") .edit-controls.clearfix button.primary.confirm(type="submit") {{_ 'save'}} a.fa.fa-times-thin.js-close-inlined-form + +template(name="listActionPopup") + ul.pop-over-list + li: a.js-add-card {{_ 'add-card'}} + if cards.count + li: a.js-select-cards {{_ 'list-select-cards'}} + li: a.js-move-cards {{_ 'list-move-cards'}} + li: a.js-archive-cards {{_ 'list-archive-cards'}} + hr + ul.pop-over-list + li: a.js-close-list {{_ 'archive-list'}} + +template(name="listMoveCardsPopup") + +boardLists + +template(name="boardLists") + ul.pop-over-list + each currentBoard.lists + li + if($eq ../_id _id) + a.disabled {{title}} ({{_ 'current'}}) + else + a.js-select-list= title + +template(name="listArchiveCardsPopup") + p {{_ 'list-archive-cards-pop'}} + input.js-confirm.negate.full(type="submit" value="{{_ 'archive-all'}}") diff --git a/client/components/lists/listHeader.js b/client/components/lists/listHeader.js index 014cfd80..cd4df276 100644 --- a/client/components/lists/listHeader.js +++ b/client/components/lists/listHeader.js @@ -23,3 +23,56 @@ BlazeComponent.extendComponent({ }]; } }).register('listHeader'); + +Template.listActionPopup.events({ + 'click .js-add-card': function() { + var listDom = document.getElementById('js-list-' + this._id); + var listComponent = BlazeComponent.getComponentForElement(listDom); + listComponent.openForm({ position: 'top' }); + Popup.close(); + }, + 'click .js-list-subscribe': function() {}, + 'click .js-select-cards': function() { + var cardIds = Cards.find( + {listId: this._id}, + {fields: { _id: 1 }} + ).map(function(card) { return card._id; }); + MultiSelection.add(cardIds); + Popup.close(); + }, + 'click .js-move-cards': Popup.open('listMoveCards'), + 'click .js-archive-cards': Popup.afterConfirm('listArchiveCards', function() { + Cards.find({listId: this._id}).forEach(function(card) { + Cards.update(card._id, { + $set: { + archived: true + } + }); + }); + Popup.close(); + }), + 'click .js-close-list': function(evt) { + evt.preventDefault(); + Lists.update(this._id, { + $set: { + archived: true + } + }); + Popup.close(); + } +}); + +Template.listMoveCardsPopup.events({ + 'click .js-select-list': function() { + var fromList = Template.parentData(2).data._id; + var toList = this._id; + Cards.find({listId: fromList}).forEach(function(card) { + Cards.update(card._id, { + $set: { + listId: toList + } + }); + }); + Popup.close(); + } +}); diff --git a/client/components/lists/listMenu.jade b/client/components/lists/listMenu.jade deleted file mode 100644 index 052f064c..00000000 --- a/client/components/lists/listMenu.jade +++ /dev/null @@ -1,29 +0,0 @@ -template(name="listActionPopup") - ul.pop-over-list - li: a.js-add-card {{_ 'add-card'}} - li: a.highlight-icon.js-list-subscribe {{_ 'subscribe'}} - if cards.count - hr - ul.pop-over-list - li: a.js-select-cards {{_ 'list-select-cards'}} - li: a.js-move-cards {{_ 'list-move-cards'}} - li: a.js-archive-cards {{_ 'list-archive-cards'}} - hr - ul.pop-over-list - li: a.js-close-list {{_ 'archive-list'}} - -template(name="listMoveCardsPopup") - +boardLists - -template(name="boardLists") - ul.pop-over-list - each currentBoard.lists - li - if($eq ../_id _id) - a.disabled {{title}} ({{_ 'current'}}) - else - a.js-select-list= title - -template(name="listArchiveCardsPopup") - p {{_ 'list-archive-cards-pop'}} - input.js-confirm.negate.full(type="submit" value="{{_ 'archive-all'}}") diff --git a/client/components/lists/listMenu.js b/client/components/lists/listMenu.js deleted file mode 100644 index dda1270c..00000000 --- a/client/components/lists/listMenu.js +++ /dev/null @@ -1,52 +0,0 @@ -Template.listActionPopup.events({ - 'click .js-add-card': function() { - var listDom = document.getElementById('js-list-' + this._id); - var listComponent = BlazeComponent.getComponentForElement(listDom); - listComponent.openForm({ position: 'top' }); - Popup.close(); - }, - 'click .js-list-subscribe': function() {}, - 'click .js-select-cards': function() { - var cardIds = Cards.find( - {listId: this._id}, - {fields: { _id: 1 }} - ).map(function(card) { return card._id; }); - MultiSelection.add(cardIds); - Popup.close(); - }, - 'click .js-move-cards': Popup.open('listMoveCards'), - 'click .js-archive-cards': Popup.afterConfirm('listArchiveCards', function() { - Cards.find({listId: this._id}).forEach(function(card) { - Cards.update(card._id, { - $set: { - archived: true - } - }); - }); - Popup.close(); - }), - 'click .js-close-list': function(evt) { - evt.preventDefault(); - Lists.update(this._id, { - $set: { - archived: true - } - }); - Popup.close(); - } -}); - -Template.listMoveCardsPopup.events({ - 'click .js-select-list': function() { - var fromList = Template.parentData(2).data._id; - var toList = this._id; - Cards.find({listId: fromList}).forEach(function(card) { - Cards.update(card._id, { - $set: { - listId: toList - } - }); - }); - Popup.close(); - } -}); -- cgit v1.2.3-1-g7c22