From a298ed94307b405709f46177542e8bab8cd09c5f Mon Sep 17 00:00:00 2001 From: Andrii Podriez Date: Fri, 30 Aug 2024 16:06:44 +0200 Subject: [PATCH] fixed issue when signals were not added on config import Signed-off-by: Andrii Podriez --- src/pages/scenarios/tables/configs-table.js | 22 ++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/pages/scenarios/tables/configs-table.js b/src/pages/scenarios/tables/configs-table.js index afa7976..2e14456 100644 --- a/src/pages/scenarios/tables/configs-table.js +++ b/src/pages/scenarios/tables/configs-table.js @@ -103,6 +103,7 @@ const ConfigsTable = ({scenario, ics}) => { const importConfig = async (data) => { if(data){ + //imported config const config = { config: { ScenarioID: scenario.id, @@ -114,7 +115,20 @@ const ConfigsTable = ({scenario, ics}) => { } try { - await addComponentConfig(config).unwrap(); + const res = await addComponentConfig(config).unwrap(); + if(res.config){ + if(data.config.inputMapping){ + //after importing new config, we need to import according signals + for(let i = 0; i < data.config.inputMapping.length; i++){ + data.config.inputMapping[i].configID = res.config.id; + await addSignalToConfig(data.config.inputMapping[i]).unwrap(); + } + for(let i = 0; i < data.config.outputMapping.length; i++){ + data.config.outputMapping[i].configID = res.config.id; + await addSignalToConfig(data.config.outputMapping[i]).unwrap(); + } + } + } } catch (err) { notificationsDataManager.addNotification(NotificationsFactory.LOAD_ERROR(err.data.message)); } @@ -125,8 +139,6 @@ const ConfigsTable = ({scenario, ics}) => { } const exportConfig = (index) => { - - // show save dialog const blob = new Blob([JSON.stringify(config, null, 2)], { type: 'application/json' }); FileSaver.saveAs(blob, 'config-' + config.name + '.json'); @@ -250,10 +262,6 @@ const ConfigsTable = ({scenario, ics}) => { } } - const handleSignalMapping = () => { - - } - const toggleCheckAllConfigs = () => { if(checkedConfigsIDs.length === configs.length){ setCheckedConfigsIDs([]);