diff --git a/grafana-plugin/src/containers/Rotation/Rotation.tsx b/grafana-plugin/src/containers/Rotation/Rotation.tsx index e4c2b1a5..241c357d 100644 --- a/grafana-plugin/src/containers/Rotation/Rotation.tsx +++ b/grafana-plugin/src/containers/Rotation/Rotation.tsx @@ -82,11 +82,11 @@ const Rotation: FC = (props) => { const dayOffset = Math.floor((x / width) * 7); - console.log('event.offsetX', event.offsetX); + /* console.log('event.offsetX', event.offsetX); console.log('event.nativeEvent', event.nativeEvent); console.log('event.currentTarget', event.currentTarget); console.log('dayOffset', dayOffset); - +*/ onClick(startMoment.add(dayOffset, 'day')); }; diff --git a/grafana-plugin/src/containers/RotationForm/RotationForm.tsx b/grafana-plugin/src/containers/RotationForm/RotationForm.tsx index 3c19b25d..8a314524 100644 --- a/grafana-plugin/src/containers/RotationForm/RotationForm.tsx +++ b/grafana-plugin/src/containers/RotationForm/RotationForm.tsx @@ -213,10 +213,10 @@ const RotationForm: FC = observer((props) => { useEffect(() => { if (shift) { - setRotationStart(getDateTime(shift.rotation_start)); - setRotationEnd(getDateTime(shift.until)); - setShiftStart(getDateTime(shift.shift_start)); - setShiftEnd(getDateTime(shift.shift_end)); + setRotationStart(getDateTime(shift.rotation_start, currentTimezone)); + setRotationEnd(getDateTime(shift.until, currentTimezone)); + setShiftStart(getDateTime(shift.shift_start, currentTimezone)); + setShiftEnd(getDateTime(shift.shift_end, currentTimezone)); setEndless(!shift.until); setRepeatEveryValue(shift.interval); diff --git a/grafana-plugin/src/containers/RotationForm/ScheduleOverrideForm.tsx b/grafana-plugin/src/containers/RotationForm/ScheduleOverrideForm.tsx index bb4d5b81..5070ff95 100644 --- a/grafana-plugin/src/containers/RotationForm/ScheduleOverrideForm.tsx +++ b/grafana-plugin/src/containers/RotationForm/ScheduleOverrideForm.tsx @@ -140,8 +140,8 @@ const ScheduleOverrideForm: FC = (props) => { useEffect(() => { if (shift) { - setShiftStart(getDateTime(shift.shift_start)); - setShiftEnd(getDateTime(shift.shift_end)); + setShiftStart(getDateTime(shift.shift_start, currentTimezone)); + setShiftEnd(getDateTime(shift.shift_end, currentTimezone)); setUserGroups(shift.rolling_users); } diff --git a/grafana-plugin/src/pages/schedule/Schedule.helpers.ts b/grafana-plugin/src/pages/schedule/Schedule.helpers.ts index 3d0f9fa6..3779a86f 100644 --- a/grafana-plugin/src/pages/schedule/Schedule.helpers.ts +++ b/grafana-plugin/src/pages/schedule/Schedule.helpers.ts @@ -679,10 +679,16 @@ export const getUTCString = (moment: dayjs.Dayjs | DateTime, timezone: Timezone) .format('YYYY-MM-DDTHH:mm:ss.000Z'); }; -export const getDateTime = (date: string) => { +export const getDateTime = (date: string, timezone: Timezone) => { const browserTimezone = dayjs.tz.guess(); const browserTimezoneOffset = dayjs().tz(browserTimezone).utcOffset(); + const timezoneOffset = dayjs().tz(timezone).utcOffset(); - return dateTime(dayjs(date).subtract(browserTimezoneOffset, 'minutes').format('YYYY-MM-DDTHH:mm:ss.000Z')); + return dateTime( + dayjs(date) + .subtract(browserTimezoneOffset, 'minutes') + .add(timezoneOffset, 'minutes') + .format('YYYY-MM-DDTHH:mm:ss.000Z') + ); };