diff options
Diffstat (limited to 'client/components/boards')
-rw-r--r-- | client/components/boards/boardBody.jade | 2 | ||||
-rw-r--r-- | client/components/boards/boardBody.js | 6 | ||||
-rw-r--r-- | client/components/boards/boardHeader.jade | 8 | ||||
-rw-r--r-- | client/components/boards/boardHeader.js | 52 |
4 files changed, 45 insertions, 23 deletions
diff --git a/client/components/boards/boardBody.jade b/client/components/boards/boardBody.jade index 288590da..fe10c921 100644 --- a/client/components/boards/boardBody.jade +++ b/client/components/boards/boardBody.jade @@ -25,7 +25,7 @@ template(name="boardBody") +list(this) if currentCardIsInThisList +cardDetails(currentCard) - if currentUser.isBoardMember + if canSeeAddList +addListForm template(name="addListForm") diff --git a/client/components/boards/boardBody.js b/client/components/boards/boardBody.js index 4703bc91..370db13b 100644 --- a/client/components/boards/boardBody.js +++ b/client/components/boards/boardBody.js @@ -204,3 +204,9 @@ BlazeComponent.extendComponent({ }]; }, }).register('addListForm'); + +Template.boardBody.helpers({ + canSeeAddList() { + return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly(); + }, +}); diff --git a/client/components/boards/boardHeader.jade b/client/components/boards/boardHeader.jade index 03768b36..e61aea35 100644 --- a/client/components/boards/boardHeader.jade +++ b/client/components/boards/boardHeader.jade @@ -65,7 +65,7 @@ template(name="boardHeaderBar") if $eq watchLevel "muted" i.fa.fa-bell-slash span {{_ watchLevel}} - + else a.board-header-btn.js-log-in( title="{{_ 'log-in'}}") @@ -81,7 +81,7 @@ template(name="boardHeaderBar") a.board-header-btn-close.js-filter-reset(title="{{_ 'filter-clear'}}") i.fa.fa-times-thin - if currentUser.isBoardMember + if canModifyBoard a.board-header-btn.js-multiselection-activate( title="{{#if MultiSelection.isActive}}{{_ 'multi-selection-on'}}{{else}}{{_ 'multi-selection'}}{{/if}}" class="{{#if MultiSelection.isActive}}emphasis{{/if}}") @@ -92,7 +92,7 @@ template(name="boardHeaderBar") i.fa.fa-times-thin .separator - a.board-header-btn.js-open-board-menu + a.board-header-btn.js-open-board-menu(title="{{_ 'boardMenuPopup-title'}}") i.board-header-btn-icon.fa.fa-navicon template(name="boardMenuPopup") @@ -170,7 +170,7 @@ template(name="boardChangeColorPopup") if isSelected i.fa.fa-check -template(name="createBoardPopup") +template(name="createBoard") form label | {{_ 'title'}} diff --git a/client/components/boards/boardHeader.js b/client/components/boards/boardHeader.js index a76b566a..10d9925a 100644 --- a/client/components/boards/boardHeader.js +++ b/client/components/boards/boardHeader.js @@ -15,17 +15,17 @@ Template.boardMenuPopup.events({ }), }); -Template.boardMenuPopup.helpers({ - exportUrl() { - const boardId = Session.get('currentBoard'); - const loginToken = Accounts._storedLoginToken(); - return FlowRouter.url(`api/boards/${boardId}?authToken=${loginToken}`); - }, - exportFilename() { - const boardId = Session.get('currentBoard'); - return `wekan-export-board-${boardId}.json`; - }, -}); +// Template.boardMenuPopup.helpers({ +// exportUrl() { +// const boardId = Session.get('currentBoard'); +// const loginToken = Accounts._storedLoginToken(); +// return FlowRouter.url(`api/boards/${boardId}?authToken=${loginToken}`); +// }, +// exportFilename() { +// const boardId = Session.get('currentBoard'); +// return `wekan-export-board-${boardId}.json`; +// }, +// }); Template.boardChangeTitlePopup.events({ submit(evt, tpl) { @@ -97,6 +97,12 @@ BlazeComponent.extendComponent({ }, }).register('boardHeaderBar'); +Template.boardHeaderBar.helpers({ + canModifyBoard() { + return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly(); + }, +}); + BlazeComponent.extendComponent({ backgroundColors() { return Boards.simpleSchema()._schema.color.allowedValues; @@ -119,10 +125,15 @@ BlazeComponent.extendComponent({ }, }).register('boardChangeColorPopup'); -BlazeComponent.extendComponent({ +const CreateBoard = BlazeComponent.extendComponent({ + template() { + return 'createBoard'; + }, + onCreated() { this.visibilityMenuIsOpen = new ReactiveVar(false); this.visibility = new ReactiveVar('private'); + this.boardId = new ReactiveVar(''); }, visibilityCheck() { @@ -143,15 +154,12 @@ BlazeComponent.extendComponent({ const title = this.find('.js-new-board-title').value; const visibility = this.visibility.get(); - const boardId = Boards.insert({ + this.boardId.set(Boards.insert({ title, permission: visibility, - }); - - Utils.goBoardId(boardId); + })); - // Immediately star boards crated with the headerbar popup. - Meteor.user().toggleBoardStar(boardId); + Utils.goBoardId(this.boardId.get()); }, events() { @@ -166,6 +174,14 @@ BlazeComponent.extendComponent({ }, }).register('createBoardPopup'); +(class HeaderBarCreateBoard extends CreateBoard { + onSubmit(evt) { + super.onSubmit(evt); + // Immediately star boards crated with the headerbar popup. + Meteor.user().toggleBoardStar(this.boardId.get()); + } +}).register('headerBarCreateBoardPopup'); + BlazeComponent.extendComponent({ visibilityCheck() { const currentBoard = Boards.findOne(Session.get('currentBoard')); |