diff --git a/interface/src/project/Scheduler.tsx b/interface/src/project/Scheduler.tsx
index 7389c0e5c..1262f0030 100644
--- a/interface/src/project/Scheduler.tsx
+++ b/interface/src/project/Scheduler.tsx
@@ -87,7 +87,7 @@ const Scheduler: FC = () => {
const schedule_theme = useTheme({
Table: `
- --data-table-library_grid-template-columns: 36px 324px 50px 192px repeat(1, minmax(100px, 1fr)) 160px;
+ --data-table-library_grid-template-columns: 36px 210px 100px 192px repeat(1, minmax(100px, 1fr)) 160px;
`,
BaseRow: `
font-size: 14px;
@@ -198,7 +198,7 @@ const Scheduler: FC = () => {
active: false,
deleted: false,
flags: 0,
- time: '12:00',
+ time: '',
cmd: '',
value: '',
name: ''
@@ -216,11 +216,21 @@ const Scheduler: FC = () => {
= ScheduleFlag.SCHEDULE_TIMER && si.flags !== flag
+ ? 'gray'
+ : (si.flags & flag) === flag
+ ? 'primary'
+ : 'grey'
+ }
>
{flag === ScheduleFlag.SCHEDULE_TIMER
? LL.TIMER(0)
- : dow[Math.log(flag) / Math.log(2)]}
+ : flag === ScheduleFlag.SCHEDULE_ONCHANGE
+ ? 'OnChange'
+ : flag === ScheduleFlag.SCHEDULE_CONDITION
+ ? 'Condition'
+ : dow[Math.log(flag) / Math.log(2)]}
@@ -245,7 +255,7 @@ const Scheduler: FC = () => {
{LL.SCHEDULE(0)}
- {LL.TIME(0)}
+ {LL.TIME(0)}/Cond.
{LL.COMMAND(0)}
{LL.VALUE(0)}
{LL.NAME(0)}
@@ -268,16 +278,25 @@ const Scheduler: FC = () => {
)}
|
-
+
- {dayBox(si, ScheduleFlag.SCHEDULE_MON)}
- {dayBox(si, ScheduleFlag.SCHEDULE_TUE)}
- {dayBox(si, ScheduleFlag.SCHEDULE_WED)}
- {dayBox(si, ScheduleFlag.SCHEDULE_THU)}
- {dayBox(si, ScheduleFlag.SCHEDULE_FRI)}
- {dayBox(si, ScheduleFlag.SCHEDULE_SAT)}
- {dayBox(si, ScheduleFlag.SCHEDULE_SUN)}
- {dayBox(si, ScheduleFlag.SCHEDULE_TIMER)}
+ {si.flags < ScheduleFlag.SCHEDULE_TIMER ? (
+ <>
+ {dayBox(si, ScheduleFlag.SCHEDULE_MON)}
+ {dayBox(si, ScheduleFlag.SCHEDULE_TUE)}
+ {dayBox(si, ScheduleFlag.SCHEDULE_WED)}
+ {dayBox(si, ScheduleFlag.SCHEDULE_THU)}
+ {dayBox(si, ScheduleFlag.SCHEDULE_FRI)}
+ {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)}
+ >
+ )}
|
{si.time} |
@@ -341,7 +360,7 @@ const Scheduler: FC = () => {
}
variant="outlined"
- color="secondary"
+ color="primary"
onClick={addScheduleItem}
>
{LL.ADD(0)}
diff --git a/interface/src/project/SchedulerDialog.tsx b/interface/src/project/SchedulerDialog.tsx
index ab803e84a..324eba784 100644
--- a/interface/src/project/SchedulerDialog.tsx
+++ b/interface/src/project/SchedulerDialog.tsx
@@ -91,10 +91,10 @@ const SchedulerDialog = ({
const getFlagString = (f: number) => {
const new_flags: string[] = [];
- if ((f & 1) === 1) {
+ if ((f & 129) === 1) {
new_flags.push('1');
}
- if ((f & 2) === 2) {
+ if ((f & 130) === 2) {
new_flags.push('2');
}
if ((f & 4) === 4) {
@@ -112,26 +112,45 @@ const SchedulerDialog = ({
if ((f & 64) === 64) {
new_flags.push('64');
}
- if ((f & 128) === 128) {
+ if ((f & 131) === 128) {
new_flags.push('128');
}
+ if ((f & 131) === 129) {
+ new_flags.push('129');
+ }
+ if ((f & 131) === 130) {
+ new_flags.push('130');
+ }
return new_flags;
};
+ const isTimer = editItem.flags === ScheduleFlag.SCHEDULE_TIMER;
+ const isCondition = editItem.flags === ScheduleFlag.SCHEDULE_CONDITION;
+ const isOnChange = editItem.flags === ScheduleFlag.SCHEDULE_ONCHANGE;
+
const showFlag = (si: ScheduleItem, flag: number) => (
{flag === ScheduleFlag.SCHEDULE_TIMER
? LL.TIMER(0)
- : dow[Math.log(flag) / Math.log(2)]}
+ : flag === ScheduleFlag.SCHEDULE_ONCHANGE
+ ? 'On Change'
+ : flag === ScheduleFlag.SCHEDULE_CONDITION
+ ? 'Condition'
+ : dow[Math.log(flag) / Math.log(2)]}
);
- const isTimer = editItem.flags === ScheduleFlag.SCHEDULE_TIMER;
-
return (