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} />