summaryrefslogtreecommitdiffstats
path: root/client/components
diff options
context:
space:
mode:
Diffstat (limited to 'client/components')
-rw-r--r--client/components/boards/boardArchive.js2
-rw-r--r--client/components/boards/boardsList.js8
-rw-r--r--client/components/cards/cardDetails.js23
-rw-r--r--client/components/main/popup.styl4
-rw-r--r--client/components/sidebar/sidebar.js17
-rw-r--r--client/components/users/userHeader.jade11
-rw-r--r--client/components/users/userHeader.js37
7 files changed, 77 insertions, 25 deletions
diff --git a/client/components/boards/boardArchive.js b/client/components/boards/boardArchive.js
index 9f4d60a1..5a5cf772 100644
--- a/client/components/boards/boardArchive.js
+++ b/client/components/boards/boardArchive.js
@@ -7,7 +7,7 @@ BlazeComponent.extendComponent({
return Boards.find(
{ archived: true },
{
- sort: { sort: 1 /* boards default sorting */ }
+ sort: { sort: 1 /* boards default sorting */ },
},
);
},
diff --git a/client/components/boards/boardsList.js b/client/components/boards/boardsList.js
index c700084f..9208fdb2 100644
--- a/client/components/boards/boardsList.js
+++ b/client/components/boards/boardsList.js
@@ -9,7 +9,7 @@ Template.boardListHeaderBar.events({
Template.boardListHeaderBar.helpers({
title() {
- return FlowRouter.getRouteName() == 'home' ? 'my-boards' : 'public';
+ return FlowRouter.getRouteName() === 'home' ? 'my-boards' : 'public';
},
templatesBoardId() {
return Meteor.user() && Meteor.user().getTemplatesBoardId();
@@ -82,11 +82,13 @@ BlazeComponent.extendComponent({
archived: false,
type: 'board',
};
- if (FlowRouter.getRouteName() == 'home')
+ if (FlowRouter.getRouteName() === 'home')
query['members.userId'] = Meteor.userId();
else query.permission = 'public';
- return Boards.find(query, { sort: { sort: 1 /* boards default sorting */ } });
+ return Boards.find(query, {
+ sort: { sort: 1 /* boards default sorting */ },
+ });
},
isStarred() {
const user = Meteor.user();
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js
index ce504146..b958d5bf 100644
--- a/client/components/cards/cardDetails.js
+++ b/client/components/cards/cardDetails.js
@@ -56,9 +56,8 @@ BlazeComponent.extendComponent({
},
votePublic() {
const card = this.currentData();
- if (card.vote)
- return card.vote.public
- return null
+ if (card.vote) return card.vote.public;
+ return null;
},
voteCountPositive() {
const card = this.currentData();
@@ -380,7 +379,7 @@ BlazeComponent.extendComponent({
}
},
'click .js-go-to-linked-card'() {
- Utils.goCardId(this.data().linkedId)
+ Utils.goCardId(this.data().linkedId);
},
'click .js-member': Popup.open('cardMember'),
'click .js-add-members': Popup.open('cardMembers'),
@@ -391,7 +390,7 @@ BlazeComponent.extendComponent({
'click .js-start-date': Popup.open('editCardStartDate'),
'click .js-due-date': Popup.open('editCardDueDate'),
'click .js-end-date': Popup.open('editCardEndDate'),
- 'click .js-show-positive-votes':Popup.open('positiveVoteMembers'),
+ 'click .js-show-positive-votes': Popup.open('positiveVoteMembers'),
'click .js-show-negative-votes': Popup.open('negativeVoteMembers'),
'mouseenter .js-card-details'() {
const parentComponent = this.parentComponent().parentComponent();
@@ -420,9 +419,9 @@ BlazeComponent.extendComponent({
const forIt = $(e.target).hasClass('js-vote-positive');
let newState = null;
if (
- this.voteState() == null ||
- (this.voteState() == false && forIt) ||
- (this.voteState() == true && !forIt)
+ this.voteState() === null ||
+ (this.voteState() === false && forIt) ||
+ (this.voteState() === true && !forIt)
) {
newState = forIt;
}
@@ -658,7 +657,7 @@ Template.cardDetailsActionsPopup.events({
},
});
-Template.editCardTitleForm.onRendered(function () {
+Template.editCardTitleForm.onRendered(function() {
autosize(this.$('.js-edit-card-title'));
});
@@ -672,7 +671,7 @@ Template.editCardTitleForm.events({
},
});
-Template.editCardRequesterForm.onRendered(function () {
+Template.editCardRequesterForm.onRendered(function() {
autosize(this.$('.js-edit-card-requester'));
});
@@ -685,7 +684,7 @@ Template.editCardRequesterForm.events({
},
});
-Template.editCardAssignerForm.onRendered(function () {
+Template.editCardAssignerForm.onRendered(function() {
autosize(this.$('.js-edit-card-assigner'));
});
@@ -825,7 +824,7 @@ Template.copyChecklistToManyCardsPopup.events({
// copy subtasks
cursor = Cards.find({ parentId: oldId });
- cursor.forEach(function () {
+ cursor.forEach(function() {
'use strict';
const subtask = arguments[0];
subtask.parentId = _id;
diff --git a/client/components/main/popup.styl b/client/components/main/popup.styl
index 023cba3d..f1db3927 100644
--- a/client/components/main/popup.styl
+++ b/client/components/main/popup.styl
@@ -135,6 +135,10 @@ $popupWidth = 300px
margin-bottom: 8px
.pop-over-list
+ li
+ display: block
+ clear: both
+
li > a
clear: both
cursor: pointer
diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js
index 11471c2f..cbe00797 100644
--- a/client/components/sidebar/sidebar.js
+++ b/client/components/sidebar/sidebar.js
@@ -196,14 +196,14 @@ Template.boardMenuPopup.events({
},
'click .js-change-board-color': Popup.open('boardChangeColor'),
'click .js-change-language': Popup.open('changeLanguage'),
- 'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function () {
+ 'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function() {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
currentBoard.archive();
// XXX We should have some kind of notification on top of the page to
// confirm that the board was successfully archived.
FlowRouter.go('home');
}),
- 'click .js-delete-board': Popup.afterConfirm('deleteBoard', function () {
+ 'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
Popup.close();
Boards.remove(currentBoard._id);
@@ -215,17 +215,16 @@ Template.boardMenuPopup.events({
'click .js-card-settings': Popup.open('boardCardSettings'),
});
-
-Template.boardMenuPopup.onCreated(function () {
+Template.boardMenuPopup.onCreated(function() {
this.apiEnabled = new ReactiveVar(false);
Meteor.call('_isApiEnabled', (e, result) => {
- this.apiEnabled.set(result)
- })
-})
+ this.apiEnabled.set(result);
+ });
+});
Template.boardMenuPopup.helpers({
withApi() {
- return Template.instance().apiEnabled.get()
+ return Template.instance().apiEnabled.get();
},
exportUrl() {
const params = {
@@ -248,7 +247,7 @@ Template.memberPopup.events({
Popup.close();
},
'click .js-change-role': Popup.open('changePermissions'),
- 'click .js-remove-member': Popup.afterConfirm('removeMember', function () {
+ 'click .js-remove-member': Popup.afterConfirm('removeMember', function() {
const boardId = Session.get('currentBoard');
const memberId = this.userId;
Cards.find({ boardId, members: memberId }).forEach(card => {
diff --git a/client/components/users/userHeader.jade b/client/components/users/userHeader.jade
index 1cd9da6b..3747d882 100644
--- a/client/components/users/userHeader.jade
+++ b/client/components/users/userHeader.jade
@@ -117,6 +117,17 @@ template(name="changeSettingsPopup")
| {{_ 'show-cards-minimum-count'}}
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false")
input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}")
+ li
+ label.bold
+ i.fa.fa-calendar
+ | {{_ 'start-day-of-week'}}
+ select#start-day-of-week.inline-input.left
+ each day in weekDays startDayOfWeek
+ if day.isSelected
+ option(selected="true", value="#{day.value}") #{day.name}
+ else
+ option(value="#{day.value}") #{day.name}
+ input.js-apply-start-day-of-week.left(type="submit" value="{{_ 'apply'}}")
template(name="userDeletePopup")
unless currentUser.isWorker
diff --git a/client/components/users/userHeader.js b/client/components/users/userHeader.js
index cd315bd6..5298e99a 100644
--- a/client/components/users/userHeader.js
+++ b/client/components/users/userHeader.js
@@ -224,6 +224,27 @@ Template.changeSettingsPopup.helpers({
return cookies.get('limitToShowCardsCount');
}
},
+ weekDays(startDay) {
+ return [
+ TAPi18n.__('sunday'),
+ TAPi18n.__('monday'),
+ TAPi18n.__('tuesday'),
+ TAPi18n.__('wednesday'),
+ TAPi18n.__('thursday'),
+ TAPi18n.__('friday'),
+ TAPi18n.__('saturday'),
+ ].map(function(day, index) {
+ return { name: day, value: index, isSelected: index === startDay };
+ });
+ },
+ startDayOfWeek() {
+ currentUser = Meteor.user();
+ if (currentUser) {
+ return currentUser.getStartDayOfWeek();
+ } else {
+ return cookies.get('startDayOfWeek');
+ }
+ },
});
Template.changeSettingsPopup.events({
@@ -263,4 +284,20 @@ Template.changeSettingsPopup.events({
Popup.back();
}
},
+ 'click .js-apply-start-day-of-week'(event, templateInstance) {
+ event.preventDefault();
+ const startDay = parseInt(
+ templateInstance.$('#start-day-of-week').val(),
+ 10,
+ );
+ if (!isNaN(startDay)) {
+ currentUser = Meteor.user();
+ if (currentUser) {
+ Meteor.call('changeStartDayOfWeek', startDay);
+ } else {
+ cookies.set('startDayOfWeek', startDay);
+ }
+ Popup.back();
+ }
+ },
});