diff --git a/interface/src/app/main/CustomEntitiesDialog.tsx b/interface/src/app/main/CustomEntitiesDialog.tsx index 285ae9fff..4a62c84ac 100644 --- a/interface/src/app/main/CustomEntitiesDialog.tsx +++ b/interface/src/app/main/CustomEntitiesDialog.tsx @@ -64,7 +64,7 @@ const CustomEntitiesDialog = ({ } }, [open, selectedItem]); - const handleClose = (event: object, reason: 'backdropClick' | 'escapeKeyDown') => { + const handleClose = (_event, reason: 'backdropClick' | 'escapeKeyDown') => { if (reason !== 'backdropClick') { onClose(); } diff --git a/interface/src/app/main/CustomizationDialog.tsx b/interface/src/app/main/CustomizationDialog.tsx index bd7ac45b2..cb03bcbae 100644 --- a/interface/src/app/main/CustomizationDialog.tsx +++ b/interface/src/app/main/CustomizationDialog.tsx @@ -54,7 +54,7 @@ const CustomizationDialog = ({ } }, [open, selectedItem]); - const handleClose = (event: object, reason: 'backdropClick' | 'escapeKeyDown') => { + const handleClose = (_event, reason: 'backdropClick' | 'escapeKeyDown') => { if (reason !== 'backdropClick') { onClose(); } diff --git a/interface/src/app/main/Scheduler.tsx b/interface/src/app/main/Scheduler.tsx index 168be4b36..0c3327aea 100644 --- a/interface/src/app/main/Scheduler.tsx +++ b/interface/src/app/main/Scheduler.tsx @@ -219,27 +219,33 @@ const Scheduler: FC = () => { = ScheduleFlag.SCHEDULE_TIMER && si.flags !== flag - ? 'gray' - : (si.flags & flag) === flag - ? 'primary' - : 'grey' - } + color={(si.flags & flag) === flag ? 'primary' : 'grey'} > - {flag === ScheduleFlag.SCHEDULE_TIMER - ? LL.TIMER(0) - : flag === ScheduleFlag.SCHEDULE_ONCHANGE - ? 'On Change' - : flag === ScheduleFlag.SCHEDULE_CONDITION - ? 'Condition' - : dow[Math.log(flag) / Math.log(2)]} + {dow[Math.log(flag) / Math.log(2)]} ); + const scheduleType = (si: ScheduleItem) => ( + + + {si.flags === ScheduleFlag.SCHEDULE_IMMEDIATE ? ( + <>Immediate + ) : si.flags === ScheduleFlag.SCHEDULE_TIMER ? ( + <>Timer + ) : si.flags === ScheduleFlag.SCHEDULE_CONDITION ? ( + <>Condition + ) : si.flags === ScheduleFlag.SCHEDULE_ONCHANGE ? ( + <>On Change + ) : ( + <> + )} + + + ); + useLayoutTitle(LL.SCHEDULER()); return ( @@ -283,9 +289,9 @@ const Scheduler: FC = () => { - {si.flags === ScheduleFlag.SCHEDULE_IMMEDIATE ? ( - <> - ) : si.flags < ScheduleFlag.SCHEDULE_TIMER ? ( + {si.flags > 127 ? ( + scheduleType(si) + ) : ( <> {dayBox(si, ScheduleFlag.SCHEDULE_MON)} {dayBox(si, ScheduleFlag.SCHEDULE_TUE)} @@ -295,12 +301,6 @@ const Scheduler: FC = () => { {dayBox(si, ScheduleFlag.SCHEDULE_SAT)} {dayBox(si, ScheduleFlag.SCHEDULE_SUN)} - ) : ( - <> - {dayBox(si, ScheduleFlag.SCHEDULE_TIMER)} - {dayBox(si, ScheduleFlag.SCHEDULE_ONCHANGE)} - {dayBox(si, ScheduleFlag.SCHEDULE_CONDITION)} - )} diff --git a/interface/src/app/main/SchedulerDialog.tsx b/interface/src/app/main/SchedulerDialog.tsx index 59a293d45..0df8d0f17 100644 --- a/interface/src/app/main/SchedulerDialog.tsx +++ b/interface/src/app/main/SchedulerDialog.tsx @@ -144,7 +144,7 @@ const SchedulerDialog = ({ ); - const handleClose = (event: object, reason: 'backdropClick' | 'escapeKeyDown') => { + const handleClose = (_event, reason: 'backdropClick' | 'escapeKeyDown') => { if (reason !== 'backdropClick') { onClose(); } @@ -164,20 +164,23 @@ const SchedulerDialog = ({ exclusive disabled={!creating} onChange={(_event, flag: ScheduleFlag) => { - setScheduleType(flag); - // wipe the time field when changing the schedule type - setEditItem({ ...editItem, time: '' }); - // set the flags based on type - // 0-127 is day schedule - // 128 is timer - // 129 is on change - // 130 is on condition - // 132 is immediate - setEditItem( - flag === ScheduleFlag.SCHEDULE_DAY - ? { ...editItem, flags: 0 } - : { ...editItem, flags: flag } - ); + if (flag !== null) { + setFieldErrors(undefined); // clear any validation errors + setScheduleType(flag); + // wipe the time field when changing the schedule type + setEditItem({ ...editItem, time: '' }); + // set the flags based on type + // 0-127 is day schedule + // 128 is timer + // 129 is on change + // 130 is on condition + // 132 is immediate + setEditItem( + flag === ScheduleFlag.SCHEDULE_DAY + ? { ...editItem, flags: 0 } + : { ...editItem, flags: flag } + ); + } }} > diff --git a/interface/src/app/main/SensorsAnalogDialog.tsx b/interface/src/app/main/SensorsAnalogDialog.tsx index 1249e9637..59700ba4c 100644 --- a/interface/src/app/main/SensorsAnalogDialog.tsx +++ b/interface/src/app/main/SensorsAnalogDialog.tsx @@ -57,7 +57,7 @@ const SensorsAnalogDialog = ({ } }, [open, selectedItem]); - const handleClose = (event: object, reason: 'backdropClick' | 'escapeKeyDown') => { + const handleClose = (_event, reason: 'backdropClick' | 'escapeKeyDown') => { if (reason !== 'backdropClick') { onClose(); } diff --git a/interface/src/app/main/SensorsTemperatureDialog.tsx b/interface/src/app/main/SensorsTemperatureDialog.tsx index 433b3bdbf..cc3b94705 100644 --- a/interface/src/app/main/SensorsTemperatureDialog.tsx +++ b/interface/src/app/main/SensorsTemperatureDialog.tsx @@ -52,7 +52,7 @@ const SensorsTemperatureDialog = ({ } }, [open, selectedItem]); - const handleClose = (event: object, reason: 'backdropClick' | 'escapeKeyDown') => { + const handleClose = (_event, reason: 'backdropClick' | 'escapeKeyDown') => { if (reason !== 'backdropClick') { onClose(); }