From 92f37b8c4526d3c74a5e7c6b1c0d07a35fa25988 Mon Sep 17 00:00:00 2001
From: cv <34649812+cpvalente@users.noreply.github.com>
Date: Tue, 11 May 2021 16:56:05 +0200
Subject: [PATCH] bugfix duration
duration would be invalid when timestart > timeend
---
.../eventTimes/EventTimesVertical.jsx | 22 +++++++++++++------
.../src/features/editors/list/EventBlock.jsx | 7 ++++++
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/client/src/common/components/eventTimes/EventTimesVertical.jsx b/client/src/common/components/eventTimes/EventTimesVertical.jsx
index b39322db2..5528ebf25 100644
--- a/client/src/common/components/eventTimes/EventTimesVertical.jsx
+++ b/client/src/common/components/eventTimes/EventTimesVertical.jsx
@@ -8,10 +8,16 @@ const label = {
};
const TimesDelayed = (props) => {
- const { handleValidate, actionHandler, delay, timeStart, timeEnd } = props;
+ const {
+ handleValidate,
+ actionHandler,
+ delay,
+ timeStart,
+ timeEnd,
+ duration,
+ } = props;
const scheduledStart = stringFromMillis(timeStart, false);
-
const scheduledEnd = stringFromMillis(timeEnd, false);
return (
@@ -41,7 +47,7 @@ const TimesDelayed = (props) => {
name='duration'
validate={handleValidate}
actionHandler={actionHandler}
- time={timeEnd - timeStart}
+ time={duration}
delay={0}
/>
>
@@ -49,7 +55,7 @@ const TimesDelayed = (props) => {
};
const Times = (props) => {
- const { handleValidate, actionHandler, timeStart, timeEnd } = props;
+ const { handleValidate, actionHandler, timeStart, timeEnd, duration } = props;
return (
<>
@@ -69,12 +75,12 @@ const Times = (props) => {
time={timeEnd}
delay={0}
/>
- Duration (min)
+ Duration
>
@@ -82,7 +88,7 @@ const Times = (props) => {
};
export default function EventTimesVertical(props) {
- const { delay, timeStart, timeEnd } = props;
+ const { delay, timeStart, timeEnd, duration } = props;
const handleValidate = (entry, v) => {
// we dont enforce validation here
@@ -107,6 +113,7 @@ export default function EventTimesVertical(props) {
delay={delay}
timeStart={timeStart}
timeEnd={timeEnd}
+ duration={duration}
/>
) : (
);
}
diff --git a/client/src/features/editors/list/EventBlock.jsx b/client/src/features/editors/list/EventBlock.jsx
index 2d0aa1042..b6acdf292 100644
--- a/client/src/features/editors/list/EventBlock.jsx
+++ b/client/src/features/editors/list/EventBlock.jsx
@@ -16,6 +16,12 @@ const ExpandedBlock = (props) => {
const oscid = data.id.length > 4 ? '...' : data.id;
+ // if end is before, assume is the day after
+ const duration =
+ data.timeStart > data.timeEnd
+ ? data.timeEnd + 86400000 - data.timeStart
+ : data.timeEnd + 86400000 - data.timeStart;
+
return (
<>
@@ -33,6 +39,7 @@ const ExpandedBlock = (props) => {
actionHandler={actionHandler}
timeStart={data.timeStart}
timeEnd={data.timeEnd}
+ duration={duration}
delay={delay}
className={style.time}
/>