diff options
Diffstat (limited to 'client/components/sidebar')
-rw-r--r-- | client/components/sidebar/sidebar.jade | 18 | ||||
-rw-r--r-- | client/components/sidebar/sidebar.js | 19 | ||||
-rw-r--r-- | client/components/sidebar/sidebarArchives.jade | 11 | ||||
-rw-r--r-- | client/components/sidebar/sidebarArchives.js | 16 | ||||
-rw-r--r-- | client/components/sidebar/sidebarFilters.jade | 2 | ||||
-rw-r--r-- | client/components/sidebar/sidebarSearches.jade | 8 | ||||
-rw-r--r-- | client/components/sidebar/sidebarSearches.js | 19 | ||||
-rw-r--r-- | client/components/sidebar/sidebarSearches.styl | 2 |
8 files changed, 79 insertions, 16 deletions
diff --git a/client/components/sidebar/sidebar.jade b/client/components/sidebar/sidebar.jade index 6045b371..6085c2ad 100644 --- a/client/components/sidebar/sidebar.jade +++ b/client/components/sidebar/sidebar.jade @@ -82,23 +82,27 @@ template(name="memberPopup") ul.pop-over-list li a.js-filter-member {{_ 'filter-cards'}} - if currentUser.isBoardAdmin - unless isSandstorm + unless isSandstorm + if currentUser.isBoardAdmin li a.js-change-role | {{_ 'change-permissions'}} span.quiet (#{memberType}) - li - if $eq currentUser._id userId - a.js-leave-member {{_ 'leave-board'}} - else - a.js-remove-member {{_ 'remove-from-board'}} + li + if $eq currentUser._id userId + a.js-leave-member {{_ 'leave-board'}} + else if currentUser.isBoardAdmin + a.js-remove-member {{_ 'remove-from-board'}} template(name="removeMemberPopup") p {{_ 'remove-member-pop' name=user.profile.fullname username=user.username boardTitle=board.title}} button.js-confirm.negate.full(type="submit") {{_ 'remove-member'}} +template(name="leaveBoardPopup") + p {{_ 'leave-board-pop' boardTitle=board.title}} + button.js-confirm.negate.full(type="submit") {{_ 'leave-board'}} + template(name="addMemberPopup") .js-search-member +esInput(index="users") diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index 59a2b42c..5a9de74b 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -4,6 +4,7 @@ const defaultView = 'home'; const viewTitles = { filter: 'filter-cards', + search: 'search-cards', multiselection: 'multi-selection', customFields: 'custom-fields', archives: 'archives', @@ -154,15 +155,13 @@ Template.memberPopup.events({ Boards.findOne(boardId).removeMember(memberId); Popup.close(); }), - 'click .js-leave-member'() { + 'click .js-leave-member': Popup.afterConfirm('leaveBoard', () => { const boardId = Session.get('currentBoard'); - Meteor.call('quitBoard', boardId, (err, ret) => { - if (!ret && ret) { - Popup.close(); - FlowRouter.go('home'); - } + Meteor.call('quitBoard', boardId, () => { + Popup.close(); + FlowRouter.go('home'); }); - }, + }), }); Template.removeMemberPopup.helpers({ @@ -174,6 +173,12 @@ Template.removeMemberPopup.helpers({ }, }); +Template.leaveBoardPopup.helpers({ + board() { + return Boards.findOne(Session.get('currentBoard')); + }, +}); + Template.membersWidget.helpers({ isInvited() { const user = Meteor.user(); diff --git a/client/components/sidebar/sidebarArchives.jade b/client/components/sidebar/sidebarArchives.jade index aa14fc30..ee6cac01 100644 --- a/client/components/sidebar/sidebarArchives.jade +++ b/client/components/sidebar/sidebarArchives.jade @@ -25,3 +25,14 @@ template(name="archivesSidebar") = title else li.no-items-message {{_ 'no-archived-lists'}} + + +tabContent(slug="swimlanes") + ul.archived-lists + each archivedSwimlanes + li.archived-lists-item + if currentUser.isBoardMember + button.js-restore-swimlane + i.fa.fa-undo + = title + else + li.no-items-message {{_ 'no-archived-swimlanes'}} diff --git a/client/components/sidebar/sidebarArchives.js b/client/components/sidebar/sidebarArchives.js index c8196f23..6102bf11 100644 --- a/client/components/sidebar/sidebarArchives.js +++ b/client/components/sidebar/sidebarArchives.js @@ -3,6 +3,7 @@ BlazeComponent.extendComponent({ return [ { name: TAPi18n.__('cards'), slug: 'cards' }, { name: TAPi18n.__('lists'), slug: 'lists' }, + { name: TAPi18n.__('swimlanes'), slug: 'swimlanes' }, ]; }, @@ -20,6 +21,13 @@ BlazeComponent.extendComponent({ }); }, + archivedSwimlanes() { + return Swimlanes.find({ + archived: true, + boardId: Session.get('currentBoard'), + }); + }, + cardIsInArchivedList() { return this.currentData().list().archived; }, @@ -32,7 +40,9 @@ BlazeComponent.extendComponent({ return [{ 'click .js-restore-card'() { const card = this.currentData(); - card.restore(); + if(card.canBeRestored()){ + card.restore(); + } }, 'click .js-delete-card': Popup.afterConfirm('cardDelete', function() { const cardId = this._id; @@ -43,6 +53,10 @@ BlazeComponent.extendComponent({ const list = this.currentData(); list.restore(); }, + 'click .js-restore-swimlane'() { + const swimlane = this.currentData(); + swimlane.restore(); + }, }]; }, }).register('archivesSidebar'); diff --git a/client/components/sidebar/sidebarFilters.jade b/client/components/sidebar/sidebarFilters.jade index 9a9774bb..273df8c2 100644 --- a/client/components/sidebar/sidebarFilters.jade +++ b/client/components/sidebar/sidebarFilters.jade @@ -59,7 +59,7 @@ template(name="multiselectionSidebar") if name = name else - span.quiet {{_ "label-default" color}} + span.quiet {{_ "label-default" (_ (concat "color-" color))}} if allSelectedElementHave 'label' _id i.fa.fa-check else if someSelectedElementHave 'label' _id diff --git a/client/components/sidebar/sidebarSearches.jade b/client/components/sidebar/sidebarSearches.jade new file mode 100644 index 00000000..2ad5b00f --- /dev/null +++ b/client/components/sidebar/sidebarSearches.jade @@ -0,0 +1,8 @@ +template(name="searchSidebar") + form.js-search-term-form + input(type="text" name="searchTerm" placeholder="{{_ 'search-example'}}" autofocus) + .list-body.js-perfect-scrollbar + .minicards.clearfix.js-minicards + each (results) + a.minicard-wrapper.js-minicard(href=absoluteUrl) + +minicard(this) diff --git a/client/components/sidebar/sidebarSearches.js b/client/components/sidebar/sidebarSearches.js new file mode 100644 index 00000000..111a86b8 --- /dev/null +++ b/client/components/sidebar/sidebarSearches.js @@ -0,0 +1,19 @@ +BlazeComponent.extendComponent({ + onCreated() { + this.term = new ReactiveVar(''); + }, + + results() { + const currentBoard = Boards.findOne(Session.get('currentBoard')); + return currentBoard.searchCards(this.term.get()); + }, + + events() { + return [{ + 'submit .js-search-term-form'(evt) { + evt.preventDefault(); + this.term.set(evt.target.searchTerm.value); + }, + }]; + }, +}).register('searchSidebar'); diff --git a/client/components/sidebar/sidebarSearches.styl b/client/components/sidebar/sidebarSearches.styl new file mode 100644 index 00000000..6b8ad904 --- /dev/null +++ b/client/components/sidebar/sidebarSearches.styl @@ -0,0 +1,2 @@ +input + max-width: 100% |