summaryrefslogtreecommitdiffstats
path: root/client/components/boards
diff options
context:
space:
mode:
Diffstat (limited to 'client/components/boards')
-rw-r--r--client/components/boards/boardBody.jade2
-rw-r--r--client/components/boards/boardBody.js6
-rw-r--r--client/components/boards/boardHeader.jade8
-rw-r--r--client/components/boards/boardHeader.js52
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'));