Skip to content

Commit

Permalink
馃悰 further bug fixes for the track > week view using different locales
Browse files Browse the repository at this point in the history
  • Loading branch information
faburem committed Feb 21, 2024
1 parent d44c4ea commit 78d93c0
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 11 deletions.
9 changes: 6 additions & 3 deletions imports/ui/pages/track/components/magicPopup.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { FlowRouter } from 'meteor/ostrio:flow-router-extra'
import dayjs from 'dayjs'
import isoWeek from 'dayjs/plugin/isoWeek'
import bootstrap from 'bootstrap'
import './magicPopup.html'
import './projectsearch.js'
Expand All @@ -11,16 +12,18 @@ import Projects from '../../../../api/projects/projects'
Template.magicPopup.onCreated(function magicPopupCreated() {
this.magicData = new ReactiveVar([])
this.showPopup = new ReactiveVar(false)
dayjs.extend(isoWeek)
this.subscribe('myProjects')
})
const getMagicData = (templateInstance) => {
let startDate = FlowRouter.getQueryParam('date') ? dayjs.utc(FlowRouter.getQueryParam('date'), 'YYYY-MM-DD').toDate() : dayjs.utc().startOf('day').toDate()
let endDate = dayjs.utc(startDate).add(1, 'day').toDate()
if (FlowRouter.getQueryParam('view') === 'w') {
startDate = FlowRouter.getQueryParam('date') ? dayjs.utc(FlowRouter.getQueryParam('date'), 'YYYY-MM-DD').startOf('week').toDate() : dayjs.utc().startOf('week').toDate()
startDate = FlowRouter.getQueryParam('date') ? dayjs.utc(FlowRouter.getQueryParam('date'), 'YYYY-MM-DD').startOf('day').isoWeekday(getUserSetting('startOfWeek')).toDate() : dayjs.utc().startOf('day').isoWeekday(getUserSetting('startOfWeek')).toDate()
endDate = FlowRouter.getQueryParam('date')
? dayjs.utc(FlowRouter.getQueryParam('date'), 'YYYY-MM-DD').endOf('week').add(getUserSetting('startOfWeek'), 'day').toDate()
: dayjs.utc().endOf('week').add(getUserSetting('startOfWeek'), 'day').toDate()
? dayjs.utc(FlowRouter.getQueryParam('date'), 'YYYY-MM-DD').add(6, 'day').toDate()
: dayjs.utc().endOf('day').isoWeekday(getUserSetting('startOfWeek')).add(6, 'day')
.toDate()
}
if (FlowRouter.getQueryParam('view') === 'm') {
startDate = FlowRouter.getQueryParam('date') ? dayjs.utc(FlowRouter.getQueryParam('date'), 'YYYY-MM-DD').startOf('month').toDate() : dayjs.utc().startOf('month').toDate()
Expand Down
4 changes: 2 additions & 2 deletions imports/ui/pages/track/components/weektable.js
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Template.weektable.events({
},
'click .js-today': (event, templateInstance) => {
event.preventDefault()
FlowRouter.setQueryParams({ date: dayjs.utc().startOf('week').add(getUserSetting('startOfWeek'), 'day').format('YYYY-MM-DD') })
FlowRouter.setQueryParams({ date: dayjs.utc().isoWeekday(getUserSetting('startOfWeek')).format('YYYY-MM-DD') })
},
'keyup .js-hours': (event, templateInstance) => {
if (event.keyCode === 13) {
Expand All @@ -116,7 +116,7 @@ Template.weektable.events({
const weekArray = []
let inputError = false
templateInstance.$('.js-hours').each((index, element) => {
const startDate = templateInstance.startDate.get().clone().startOf('week')
const startDate = templateInstance.startDate.get().clone().startOf('day').isoWeekday(getUserSetting('startOfWeek'))
const value = templateInstance.$(element).val()
if (value) {
const newTaskInput = templateInstance.$(element.parentElement.parentElement).find('.js-tasksearch-input').val()
Expand Down
16 changes: 11 additions & 5 deletions imports/utils/periodHelpers.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
import dayjs from 'dayjs'
import utc from 'dayjs/plugin/utc'
import { getGlobalSetting } from './frontend_helpers'
import isoWeek from 'dayjs/plugin/isoWeek'
import { getGlobalSetting, getUserSetting } from './frontend_helpers'

function periodToDates(period) {
check(period, String)
dayjs.extend(utc)
dayjs.extend(isoWeek)
let startDate
let endDate
switch (period) {
case 'currentWeek':
startDate = dayjs.utc().startOf('week').toDate()
endDate = dayjs.utc().endOf('week').toDate()
startDate = dayjs.utc().startOf('day').isoWeekday(getUserSetting('startOfWeek')).toDate()
endDate = dayjs.utc().endOf('day').isoWeekday(getUserSetting('startOfWeek')).add(6, 'day')
.toDate()
break
case 'lastMonth':
startDate = dayjs.utc().subtract(1, 'month').startOf('month').toDate()
Expand All @@ -21,8 +24,11 @@ function periodToDates(period) {
endDate = dayjs.utc().toDate()
break
case 'lastWeek':
startDate = dayjs.utc().subtract(1, 'week').startOf('week').toDate()
endDate = dayjs.utc().subtract(1, 'week').endOf('week').toDate()
startDate = dayjs.utc().subtract(1, 'week').startOf('day').isoWeekday(getUserSetting('startOfWeek'))
.toDate()
endDate = dayjs.utc().subtract(1, 'week').endOf('day').isoWeekday(getUserSetting('startOfWeek'))
.add(6, 'day')
.toDate()
break
case 'currentYear':
startDate = dayjs.utc().startOf('year').toDate()
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "titra",
"version": "0.96.7",
"version": "0.96.8",
"private": true,
"scripts": {
"start": "meteor run"
Expand Down

0 comments on commit 78d93c0

Please sign in to comment.