diff --git a/interface/src/app/main/Scheduler.tsx b/interface/src/app/main/Scheduler.tsx index 1a3cd3753..581a2bbe2 100644 --- a/interface/src/app/main/Scheduler.tsx +++ b/interface/src/app/main/Scheduler.tsx @@ -41,6 +41,7 @@ const MIN_ID = -100; const MAX_ID = 100; const ICON_SIZE = 16; const SCHEDULE_FLAG_THRESHOLD = 127; +const FLAG_ALL_DAYS = 127; const REFERENCE_YEAR = 2017; const REFERENCE_MONTH = '01'; const LOG_2 = Math.log(2); @@ -51,7 +52,7 @@ const WEEK_DAYS = [1, 2, 3, 4, 5, 6, 7] as const; const DEFAULT_SCHEDULE_ITEM: Omit = { active: false, deleted: false, - flags: ScheduleFlag.SCHEDULE_DAY, + flags: FLAG_ALL_DAYS, time: '', cmd: '', value: '', diff --git a/interface/src/app/main/SchedulerDialog.tsx b/interface/src/app/main/SchedulerDialog.tsx index 06495fd94..a5cd6deec 100644 --- a/interface/src/app/main/SchedulerDialog.tsx +++ b/interface/src/app/main/SchedulerDialog.tsx @@ -33,7 +33,8 @@ import type { ScheduleItem } from './types'; // Constants const FLAG_MASK_127 = 127; -const SCHEDULE_TYPE_THRESHOLD = 128; +const SCHEDULE_TYPE_THRESHOLD = 127; +const FLAG_ALL_DAYS = 127; const DEFAULT_TIME = '00:00'; const TYPOGRAPHY_FONT_SIZE = 10; @@ -104,7 +105,7 @@ const SchedulerDialog = ({ // 130 is on condition // 132 is immediate setScheduleType( - selectedItem.flags < SCHEDULE_TYPE_THRESHOLD + selectedItem.flags <= SCHEDULE_TYPE_THRESHOLD ? ScheduleFlag.SCHEDULE_DAY : selectedItem.flags ); @@ -181,7 +182,7 @@ const SchedulerDialog = ({ setScheduleType(flag); // wipe the time field when changing the schedule type // set the flags based on type - const newFlags = flag === ScheduleFlag.SCHEDULE_DAY ? 0 : flag; + const newFlags = flag === ScheduleFlag.SCHEDULE_DAY ? FLAG_ALL_DAYS : flag; setEditItem((prev) => ({ ...prev, time: '', flags: newFlags })); } }, @@ -190,7 +191,7 @@ const SchedulerDialog = ({ const handleDOWChange = useCallback( (_event: React.SyntheticEvent, flags: string[]) => { - const newFlags = getFlagDOWnumber(flags); + const newFlags = getFlagDOWnumber(flags) === 0 ? FLAG_ALL_DAYS : getFlagDOWnumber(flags); setEditItem((prev) => ({ ...prev, flags: newFlags })); }, [getFlagDOWnumber]