From 2226ece4b762533e4111b3f616b84af196bd9803 Mon Sep 17 00:00:00 2001 From: mae Date: Fri, 19 Feb 2021 08:42:09 +0800 Subject: [PATCH 1/2] added sort feature for viewing of cards --- client/components/boards/boardHeader.jade | 19 +++++++++ client/components/boards/boardHeader.js | 52 +++++++++++++++++++++++ client/components/lists/listBody.js | 5 ++- 3 files changed, 75 insertions(+), 1 deletion(-) diff --git a/client/components/boards/boardHeader.jade b/client/components/boards/boardHeader.jade index 1daf06183..81f7b6d92 100644 --- a/client/components/boards/boardHeader.jade +++ b/client/components/boards/boardHeader.jade @@ -31,6 +31,9 @@ template(name="boardHeaderBar") if $eq watchLevel "muted" i.fa.fa-bell-slash span {{_ watchLevel}} + a.board-header-btn.js-sort-cards(title="Sort Cards") + i.fa.fa-sort + | Sort By {{sortCardsBy.get}} else a.board-header-btn.js-log-in( @@ -247,3 +250,19 @@ template(name="boardChangeTitlePopup") template(name="boardCreateRulePopup") p {{_ 'close-board-pop'}} button.js-confirm.negate.full(type="submit") {{_ 'archive'}} + + +template(name="cardsSortPopup") + ul.pop-over-list + li + a.js-sort-due Due Date + hr + li + a.js-sort-title Title(Alphabetically) + hr + li + a.js-sort-created-desc Created At(Newest First) + hr + li + a.js-sort-created-asc Created At(Oldest First) + diff --git a/client/components/boards/boardHeader.js b/client/components/boards/boardHeader.js index be0146ec1..363e00943 100644 --- a/client/components/boards/boardHeader.js +++ b/client/components/boards/boardHeader.js @@ -2,6 +2,7 @@ const DOWNCLS = 'fa-sort-down'; const UPCLS = 'fa-sort-up'; */ +const sortCardsBy = new ReactiveVar('') Template.boardMenuPopup.events({ 'click .js-rename-board': Popup.open('boardChangeTitle'), 'click .js-custom-fields'() { @@ -110,6 +111,7 @@ BlazeComponent.extendComponent({ 'click .js-open-filter-view'() { Sidebar.setView('filter'); }, + 'click .js-sort-cards': Popup.open('cardsSort'), /* 'click .js-open-sort-view'(evt) { const target = evt.target; @@ -368,3 +370,53 @@ BlazeComponent.extendComponent({ }, }).register('listsortPopup'); */ + + +BlazeComponent.extendComponent({ + events() { + return [ + { + 'click .js-sort-due'() { + const sortBy = { + 'dueAt': 1 + } + Session.set('sortBy',sortBy) + sortCardsBy.set('Due Date') + Popup.close(); + }, + 'click .js-sort-title'() { + const sortBy = { + 'title': 1 + } + Session.set('sortBy',sortBy) + sortCardsBy.set('Title') + Popup.close(); + }, + 'click .js-sort-created-asc'() { + const sortBy = { + 'createdAt': 1 + } + Session.set('sortBy',sortBy) + sortCardsBy.set('Date Created (Newest First)') + Popup.close(); + }, + 'click .js-sort-created-desc'() { + const sortBy = { + 'createdAt': -1 + } + Session.set('sortBy',sortBy) + sortCardsBy.set('Date Created (Oldest First)') + Popup.close(); + }, + 'click .js-sort-default'() { + const sortBy = { + 'sort': 1 + } + Session.set('sortBy',sortBy) + sortCardsBy.set('Default') + Popup.close(); + }, + }, + ]; + }, +}).register('cardsSortPopup'); diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js index c850a66ee..80a707c0a 100644 --- a/client/components/lists/listBody.js +++ b/client/components/lists/listBody.js @@ -168,13 +168,16 @@ BlazeComponent.extendComponent({ cardsWithLimit(swimlaneId) { const limit = this.cardlimit.get(); + const defaultSort = { sort: 1 }; + const sortBy = Session.get('sortBy') ? Session.get('sortBy') : defaultSort; const selector = { listId: this.currentData()._id, archived: false, }; if (swimlaneId) selector.swimlaneId = swimlaneId; return Cards.find(Filter.mongoSelector(selector), { - sort: ['sort'], + // sort: ['sort'], + sort:sortBy, limit, }); }, From 09a13ef75f478b0fc02ae3cdbfe918367664aa0c Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 24 Feb 2021 16:45:16 +0200 Subject: [PATCH 2/2] Made sort cards feature translatable. --- client/components/boards/boardHeader.jade | 12 +++---- client/components/boards/boardHeader.js | 43 +++++++++++------------ client/components/lists/listBody.js | 6 ++-- i18n/en.i18n.json | 8 ++++- 4 files changed, 37 insertions(+), 32 deletions(-) diff --git a/client/components/boards/boardHeader.jade b/client/components/boards/boardHeader.jade index 81f7b6d92..d7fb50514 100644 --- a/client/components/boards/boardHeader.jade +++ b/client/components/boards/boardHeader.jade @@ -31,9 +31,9 @@ template(name="boardHeaderBar") if $eq watchLevel "muted" i.fa.fa-bell-slash span {{_ watchLevel}} - a.board-header-btn.js-sort-cards(title="Sort Cards") + a.board-header-btn.js-sort-cards(title="{{_ 'sort-cards'}}") i.fa.fa-sort - | Sort By {{sortCardsBy.get}} + | {{_ 'sort-cards'}} {{sortCardsBy.get}} else a.board-header-btn.js-log-in( @@ -255,14 +255,14 @@ template(name="boardCreateRulePopup") template(name="cardsSortPopup") ul.pop-over-list li - a.js-sort-due Due Date + a.js-sort-due {{_ 'due-date'}} hr li - a.js-sort-title Title(Alphabetically) + a.js-sort-title {{_ 'title-alphabetically'}} hr li - a.js-sort-created-desc Created At(Newest First) + a.js-sort-created-desc {{_ 'created-at-newest-first'}} hr li - a.js-sort-created-asc Created At(Oldest First) + a.js-sort-created-asc {{_ 'created-at-oldest-first'}} diff --git a/client/components/boards/boardHeader.js b/client/components/boards/boardHeader.js index 363e00943..bbd847db8 100644 --- a/client/components/boards/boardHeader.js +++ b/client/components/boards/boardHeader.js @@ -2,7 +2,7 @@ const DOWNCLS = 'fa-sort-down'; const UPCLS = 'fa-sort-up'; */ -const sortCardsBy = new ReactiveVar('') +const sortCardsBy = new ReactiveVar(''); Template.boardMenuPopup.events({ 'click .js-rename-board': Popup.open('boardChangeTitle'), 'click .js-custom-fields'() { @@ -371,49 +371,48 @@ BlazeComponent.extendComponent({ }).register('listsortPopup'); */ - BlazeComponent.extendComponent({ events() { return [ { 'click .js-sort-due'() { const sortBy = { - 'dueAt': 1 - } - Session.set('sortBy',sortBy) - sortCardsBy.set('Due Date') + dueAt: 1, + }; + Session.set('sortBy', sortBy); + sortCardsBy.set(TAPi18n.__('due-date')); Popup.close(); }, 'click .js-sort-title'() { const sortBy = { - 'title': 1 - } - Session.set('sortBy',sortBy) - sortCardsBy.set('Title') + title: 1, + }; + Session.set('sortBy', sortBy); + sortCardsBy.set(TAPi18n.__('title')); Popup.close(); }, 'click .js-sort-created-asc'() { const sortBy = { - 'createdAt': 1 - } - Session.set('sortBy',sortBy) - sortCardsBy.set('Date Created (Newest First)') + createdAt: 1, + }; + Session.set('sortBy', sortBy); + sortCardsBy.set(TAPi18n.__('date-created-newest-first')); Popup.close(); }, 'click .js-sort-created-desc'() { const sortBy = { - 'createdAt': -1 - } - Session.set('sortBy',sortBy) - sortCardsBy.set('Date Created (Oldest First)') + createdAt: -1, + }; + Session.set('sortBy', sortBy); + sortCardsBy.set(TAPi18n.__('date-created-oldest-first')); Popup.close(); }, 'click .js-sort-default'() { const sortBy = { - 'sort': 1 - } - Session.set('sortBy',sortBy) - sortCardsBy.set('Default') + sort: 1, + }; + Session.set('sortBy', sortBy); + sortCardsBy.set(TAPi18n.__('default')); Popup.close(); }, }, diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js index 80a707c0a..283034703 100644 --- a/client/components/lists/listBody.js +++ b/client/components/lists/listBody.js @@ -168,8 +168,8 @@ BlazeComponent.extendComponent({ cardsWithLimit(swimlaneId) { const limit = this.cardlimit.get(); - const defaultSort = { sort: 1 }; - const sortBy = Session.get('sortBy') ? Session.get('sortBy') : defaultSort; + const defaultSort = { sort: 1 }; + const sortBy = Session.get('sortBy') ? Session.get('sortBy') : defaultSort; const selector = { listId: this.currentData()._id, archived: false, @@ -177,7 +177,7 @@ BlazeComponent.extendComponent({ if (swimlaneId) selector.swimlaneId = swimlaneId; return Cards.find(Filter.mongoSelector(selector), { // sort: ['sort'], - sort:sortBy, + sort: sortBy, limit, }); }, diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index ffb4d0f2c..e2ec59655 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -964,5 +964,11 @@ "number": "Number", "label-colors": "Label Colors", "label-names": "Label Names", - "archived-at": "archived at" + "archived-at": "archived at", + "sort-cards": "Sort Cards", + "cardsSortPopup-title": "Sort Cards", + "due-date": "Due Date", + "title-alphabetically": "Title (Alphabetically)", + "created-at-newest-first": "Created At (Newest First)", + "created-at-oldest-first": "Created At (Oldest First)" }