From 99e579f47da9d5b288bc2bc7676d1cdcc1ec8d8b Mon Sep 17 00:00:00 2001 From: Nadav Tasher Date: Wed, 1 Jan 2025 21:12:04 +0200 Subject: [PATCH 1/5] Add week of year toggle state in user model --- models/users.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/models/users.js b/models/users.js index d50a826da..8643fca2b 100644 --- a/models/users.js +++ b/models/users.js @@ -458,6 +458,13 @@ Users.attachSchema( type: Boolean, defaultValue: true, }, + 'profile.showWeekOfYear': { + /** + * User-specified state of week-of-year in date displays. + */ + type: Boolean, + defaultValue: true, + }, services: { /** * services field of the user @@ -978,6 +985,11 @@ Users.helpers({ return verticalScrollbars; }, + isShowWeekOfYear() { + const { showWeekOfYear = true } = this.profile || {}; + return showWeekOfYear; + }, + remove() { User.remove({ _id: this._id, @@ -1058,6 +1070,14 @@ Users.mutations({ }, }; }, + toggleShowWeekOfYear() { + const { showWeekOfYear = true } = this.profile || {}; + return { + $set: { + 'profile.showWeekOfYear': !showWeekOfYear, + }, + }; + }, addInvite(boardId) { return { From 25ad901fb3017ded51d356c186672749ec39e9ce Mon Sep 17 00:00:00 2001 From: Nadav Tasher Date: Wed, 1 Jan 2025 21:12:38 +0200 Subject: [PATCH 2/5] Add show week of year toggle to sidebar --- client/components/sidebar/sidebar.jade | 5 +++++ client/components/sidebar/sidebar.js | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/client/components/sidebar/sidebar.jade b/client/components/sidebar/sidebar.jade index 56c7dc331..3bfb44011 100644 --- a/client/components/sidebar/sidebar.jade +++ b/client/components/sidebar/sidebar.jade @@ -39,6 +39,11 @@ template(name='homeSidebar') span {{_ 'enable-vertical-scrollbars'}} b   .materialCheckBox(class="{{#if isVerticalScrollbars}}is-checked{{/if}}") + ul#cards.show-week-of-year-toggle + a.flex.js-show-week-of-year-toggle(title="{{_ 'show-week-of-year'}}") + span {{_ 'show-week-of-year'}} + b   + .materialCheckBox(class="{{#if isShowWeekOfYear}}is-checked{{/if}}") hr unless currentUser.isNoComments h3.activity-title diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index 36cc3f050..28b7408fc 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -142,6 +142,9 @@ BlazeComponent.extendComponent({ 'click .js-vertical-scrollbars-toggle'() { ReactiveCache.getCurrentUser().toggleVerticalScrollbars(); }, + 'click .js-show-week-of-year-toggle'() { + ReactiveCache.getCurrentUser().toggleShowWeekOfYear(); + }, 'click .js-close-sidebar'() { Sidebar.toggle() }, @@ -167,6 +170,10 @@ BlazeComponent.extendComponent({ const user = ReactiveCache.getCurrentUser(); return user && user.isVerticalScrollbars(); }, + isShowWeekOfYear() { + const user = ReactiveCache.getCurrentUser(); + return user && user.isShowWeekOfYear(); + }, showActivities() { let ret = Utils.getCurrentBoard().showActivities ?? false; return ret; From de0eece27ccc3fbe24e60012dd2fbd61681cdc1d Mon Sep 17 00:00:00 2001 From: Nadav Tasher Date: Wed, 1 Jan 2025 21:13:03 +0200 Subject: [PATCH 3/5] Add show week of year translation --- imports/i18n/data/en.i18n.json | 1 + 1 file changed, 1 insertion(+) diff --git a/imports/i18n/data/en.i18n.json b/imports/i18n/data/en.i18n.json index 2eb6c9401..172b3b3ae 100644 --- a/imports/i18n/data/en.i18n.json +++ b/imports/i18n/data/en.i18n.json @@ -1256,6 +1256,7 @@ "text": "Text", "translation-text": "Translation text", "show-subtasks-field": "Show subtasks field", + "show-week-of-year": "Show week of year (ISO 8601)", "convert-to-markdown": "Convert to markdown", "import-board-zip": "Add .zip file that has board JSON files, and board name subdirectories with attachments", "collapse": "Collapse", From 4607bfe454b7652a470d74090d97d39b92f0a1c6 Mon Sep 17 00:00:00 2001 From: Nadav Tasher Date: Wed, 1 Jan 2025 21:13:30 +0200 Subject: [PATCH 4/5] Support week of year toggle in cardDate --- client/components/cards/cardDate.jade | 21 ++++++++++++--------- client/components/cards/cardDate.js | 8 ++++++++ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/client/components/cards/cardDate.jade b/client/components/cards/cardDate.jade index caaab219c..202b8f6f0 100644 --- a/client/components/cards/cardDate.jade +++ b/client/components/cards/cardDate.jade @@ -1,20 +1,23 @@ template(name="dateBadge") if canModifyCard - a.js-edit-date.card-date(title="{{showTitle}} {{_ 'predicate-week'}} {{showWeek}}" class="{{classes}}") + a.js-edit-date.card-date(title="{{showTitle}} {{_ 'predicate-week'}} {{#if showWeekOfYear}}{{showWeek}}{{/if}}" class="{{classes}}") time(datetime="{{showISODate}}") | {{showDate}} - b - | {{showWeek}} + if showWeekOfYear + b + | {{showWeek}} else - a.card-date(title="{{showTitle}} {{_ 'predicate-week'}} {{showWeek}}" class="{{classes}}") + a.card-date(title="{{showTitle}} {{_ 'predicate-week'}} {{#if showWeekOfYear}}{{showWeek}}{{/if}}" class="{{classes}}") time(datetime="{{showISODate}}") | {{showDate}} - b - | {{showWeek}} + if showWeekOfYear + b + | {{showWeek}} template(name="dateCustomField") - a(title="{{showTitle}} {{_ 'predicate-week'}} {{showWeek}}" class="{{classes}}") + a(title="{{showTitle}} {{_ 'predicate-week'}} {{#if showWeekOfYear}}{{showWeek}}{{/if}}" class="{{classes}}") time(datetime="{{showISODate}}") | {{showDate}} - b - | {{showWeek}} + if showWeekOfYear + b + | {{showWeek}} diff --git a/client/components/cards/cardDate.js b/client/components/cards/cardDate.js index 22cc91d78..6e093d441 100644 --- a/client/components/cards/cardDate.js +++ b/client/components/cards/cardDate.js @@ -110,6 +110,10 @@ const CardDate = BlazeComponent.extendComponent({ return this.date.get().week().toString(); }, + showWeekOfYear() { + return ReactiveCache.getCurrentUser().isShowWeekOfYear(); + }, + showDate() { // this will start working once mquandalle:moment // is updated to at least moment.js 2.10.5 @@ -283,6 +287,10 @@ class CardCustomFieldDate extends CardDate { return this.date.get().week().toString(); } + showWeekOfYear() { + return ReactiveCache.getCurrentUser().isShowWeekOfYear(); + } + showDate() { // this will start working once mquandalle:moment // is updated to at least moment.js 2.10.5 From 08cde06ce5410d6222a54976c87a1db30f160c3a Mon Sep 17 00:00:00 2001 From: Nadav Tasher Date: Wed, 1 Jan 2025 21:13:55 +0200 Subject: [PATCH 5/5] Support show week of year toggle in cardCustomFields --- client/components/cards/cardCustomFields.jade | 12 +++++++----- client/components/cards/cardCustomFields.js | 4 ++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/client/components/cards/cardCustomFields.jade b/client/components/cards/cardCustomFields.jade index e8f69ab1b..cefeaac88 100644 --- a/client/components/cards/cardCustomFields.jade +++ b/client/components/cards/cardCustomFields.jade @@ -79,13 +79,14 @@ template(name="cardCustomField-currency") template(name="cardCustomField-date") if canModifyCard - a.js-edit-date(title="{{showTitle}} {{_ 'predicate-week'}} {{showWeek}}" class="{{classes}}") + a.js-edit-date(title="{{showTitle}} {{_ 'predicate-week'}} {{#if showWeekOfYear}}{{showWeek}}{{/if}}" class="{{classes}}") if value div.card-date time(datetime="{{showISODate}}") | {{showDate}} - b - | {{showWeek}} + if showWeekOfYear + b + | {{showWeek}} else | {{_ 'edit'}} else @@ -93,8 +94,9 @@ template(name="cardCustomField-date") div.card-date time(datetime="{{showISODate}}") | {{showDate}} - b - | {{showWeek}} + if showWeekOfYear + b + | {{showWeek}} template(name="cardCustomField-dropdown") if canModifyCard diff --git a/client/components/cards/cardCustomFields.js b/client/components/cards/cardCustomFields.js index 14d675683..23647ce53 100644 --- a/client/components/cards/cardCustomFields.js +++ b/client/components/cards/cardCustomFields.js @@ -148,6 +148,10 @@ CardCustomField.register('cardCustomField'); return this.date.get().week().toString(); } + showWeekOfYear() { + return ReactiveCache.getCurrentUser().isShowWeekOfYear(); + } + showDate() { // this will start working once mquandalle:moment // is updated to at least moment.js 2.10.5