From 8e14459cff4da1391f536dfbc6441abb21e9c215 Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Wed, 22 Apr 2020 14:44:08 +0200 Subject: Implement option to change the first day of week in user settings Implements #2535. --- client/components/users/userHeader.jade | 11 ++++++++++ client/components/users/userHeader.js | 37 +++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) (limited to 'client/components/users') 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(); + } + }, }); -- cgit v1.2.3-1-g7c22