From f038cfe0c87f3736a4f55bf285af34d7c16dac77 Mon Sep 17 00:00:00 2001 From: Sonja Happ Date: Wed, 1 Jul 2020 13:56:06 +0200 Subject: [PATCH] Add notifications, auto conf only for VILLASnode ICs #224 --- src/scenario/scenario.js | 14 ++++++++++++++ src/signal/signal-store.js | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/src/scenario/scenario.js b/src/scenario/scenario.js index 6f93ed7..8c91c95 100644 --- a/src/scenario/scenario.js +++ b/src/scenario/scenario.js @@ -42,6 +42,7 @@ import EditConfigDialog from "../componentconfig/edit-config"; import EditSignalMapping from "../signal/edit-signal-mapping"; import FileStore from "../file/file-store" import WidgetStore from "../widget/widget-store"; +import NotificationsDataManager from "../common/data-managers/notifications-data-manager"; class Scenario extends React.Component { @@ -396,6 +397,19 @@ class Scenario extends React.Component { let componentConfig = this.state.configs[index]; // determine host of infrastructure component let ic = this.state.ics.find(ic => ic.id === componentConfig.icID) + if(!ic.type.includes("VILLASnode") && !ic.type.includes("villasnode") && !ic.type.includes("VILLASNODE")){ + let message = "Cannot autoconfigure signals for IC type " + ic.type + " of category " + ic.category + ". This is only possible for gateway ICs of type 'VILLASnode'." + console.warn(message); + + const SIGNAL_AUTOCONF_WARN_NOTIFICATION = { + title: 'Failed to load signal config for IC ' + ic.name, + message: message, + level: 'warning' + }; + NotificationsDataManager.addNotification(SIGNAL_AUTOCONF_WARN_NOTIFICATION); + return; + } + let request = {}; request["id"] = this.uuidv4(); request["action"] = "config" diff --git a/src/signal/signal-store.js b/src/signal/signal-store.js index c947e56..e41b10c 100644 --- a/src/signal/signal-store.js +++ b/src/signal/signal-store.js @@ -40,6 +40,14 @@ class SignalStore extends ArrayStore{ case 'signals/autoconfig-loaded': console.log("AutoConfig Loaded: ", action.data) // TODO save signal config contained in action.data + + const SIGNAL_AUTOCONF_INFO_NOTIFICATION = { + title: 'Signal configuration loaded successfully.', + message: '', + level: 'info' + }; + NotificationsDataManager.addNotification(SIGNAL_AUTOCONF_INFO_NOTIFICATION); + return super.reduce(state, action); case 'signals/autoconfig-error':