diff --git a/src/pages/dashboards/widget/widget.js b/src/pages/dashboards/widget/widget.js index 6f86f54..9f0e0da 100644 --- a/src/pages/dashboards/widget/widget.js +++ b/src/pages/dashboards/widget/widget.js @@ -35,7 +35,7 @@ import WidgetButton from './widgets/button'; import WidgetInput from './widgets/input'; import WidgetSlider from './widgets/slider'; // import WidgetTopology from './widgets/topology'; -import WidgetPlayer from './widgets/player'; +import WidgetPlayer from './widgets/player.jsx'; //import WidgetHTML from './widgets/html'; import '../../../styles/widgets.css'; import { useGetICSQuery, useGetSignalsQuery, useGetConfigsQuery } from '../../../store/apiSlice'; diff --git a/src/pages/scenarios/tables/config-action-board.js b/src/pages/scenarios/tables/config-action-board.js index 60379a8..854e772 100644 --- a/src/pages/scenarios/tables/config-action-board.js +++ b/src/pages/scenarios/tables/config-action-board.js @@ -33,7 +33,7 @@ const ConfigActionBoard = ({selectedConfigs, scenarioID}) => { const [triggerGetSignals] = useLazyGetSignalsQuery(); const [sendAction] = useSendActionMutation(); - const [addResult] = useAddResultMutation(); + const [addResult, {isError: isErrorAddingResult}] = useAddResultMutation(); //we only need to update results table in case new result being added const { refetch: refetchResults } = useGetResultsQuery(scenarioID); @@ -43,8 +43,14 @@ const ConfigActionBoard = ({selectedConfigs, scenarioID}) => { const handleConfigStart = async () => { for(const config of selectedConfigs){ try { - if(isResultRequested){ + const action = { + icid: config.icID, + action: "start", + when: Math.round(new Date(time).getTime() / 1000), + parameters: {...config.startParameters} + } + if(isResultRequested){ const signalsInRes = await triggerGetSignals({configID: config.id, direction: "in"}, ).unwrap(); const signalsOutRes = await triggerGetSignals({configID: config.id, direction: "out"}, ).unwrap(); @@ -73,10 +79,28 @@ const ConfigActionBoard = ({selectedConfigs, scenarioID}) => { } } - await addResult({result: newResult}) + //get result id (if successfull) before sending an action + const res = await addResult({result: newResult}).unwrap(); + + if(!isErrorAddingResult){ + console.log("result", res) + const url = window.location.origin; + action.results = { + url: `slew.k8s.eonerc.rwth-aachen.de/results/${res.result.id}/file`, + type: "url", + token: sessionToken + } + await sendAction(action).unwrap(); + } else { + notificationsDataManager.addNotification(NotificationsFactory.LOAD_ERROR("Error adding result")); + } + refetchResults(); + } else { + await sendAction(action).unwrap(); } - await sendAction({ icid: config.icID, action: "start", when: Math.round(new Date(time).getTime() / 1000), parameters: {} }).unwrap(); + + notificationsDataManager.addNotification(NotificationsFactory.ACTION_INFO()); } catch (err) { if(err.data){ notificationsDataManager.addNotification(NotificationsFactory.LOAD_ERROR(err.data.message));