From 3c5048a01bb6d1aaad5fefe4f1f7ba1443452223 Mon Sep 17 00:00:00 2001 From: Michele Alberti <michele.alberti@cea.fr> Date: Thu, 9 Jul 2020 12:29:38 +0200 Subject: [PATCH] [ivette] Dynamic visibility of column for after values. --- ivette/src/renderer/Values.tsx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ivette/src/renderer/Values.tsx b/ivette/src/renderer/Values.tsx index 026aff692c1..dfa9bb6468f 100644 --- a/ivette/src/renderer/Values.tsx +++ b/ivette/src/renderer/Values.tsx @@ -52,10 +52,12 @@ const Values = () => { const evaValues = States.useSyncArray(Eva.values).getArray(); const selectMarker = States.useSelection()[0]?.current?.marker; - const t = States.useRequest(Eva.getValues, selectMarker); const markerInfo = States.useSyncArray(Ast.markerInfo).getArray(); const [name, setName] = React.useState<string | undefined>(undefined); const [alarmOccurred, setAlarmOccurred] = React.useState(false); + const [unchanged, setUnchanged] = React.useState(false); + + States.useRequest(Eva.getValues, selectMarker); React.useLayoutEffect(() => { if (selectMarker && evaValues) { @@ -65,26 +67,30 @@ const Values = () => { switch (selectMarkerInfo.kind) { case 'expression': case 'lvalue': - setName(selectMarkerInfo.descr); evaValues.forEach((i) => model.setData(i.key, i)); + setName(selectMarkerInfo.descr); setAlarmOccurred(evaValues.some((e) => e.alarm)); + setUnchanged(evaValues.some((e) => e.value_after === 'unchanged')); break; case 'declaration': - setName(selectMarkerInfo.name); evaValues.forEach((i) => model.setData(i.key, i)); + setName(selectMarkerInfo.name); setAlarmOccurred(evaValues.some((e) => e.alarm)); + setUnchanged(evaValues.some((e) => e.value_after === 'unchanged')); break; default: setName(undefined); setAlarmOccurred(false); + setUnchanged(false); } } + model.reload(); } else { setName(undefined); setAlarmOccurred(false); + setUnchanged(false); } - model.reload(); - }, [model, evaValues, t, selectMarker, markerInfo]); + }, [evaValues, selectMarker, markerInfo, model]); // Component return ( @@ -102,7 +108,7 @@ const Values = () => { <ColumnAlarm visible={alarmOccurred} /> <Column id="value_after" - visible={!!name} + visible={!!name && !unchanged} label={name && `${name} (after)`} title="Values inferred by Eva just after the selected point" disableSort -- GitLab