From 4a317708b3bd5c2f318d89fa1acb79cd42326b0c Mon Sep 17 00:00:00 2001 From: Markus Grigull Date: Tue, 21 Mar 2017 19:41:11 +0100 Subject: [PATCH] Don't show simulator notification on mount --- src/data-managers/simulator-data-data-manager.js | 15 ++++++++++----- src/stores/simulator-store.js | 12 +++++++----- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/data-managers/simulator-data-data-manager.js b/src/data-managers/simulator-data-data-manager.js index ad11d03..35c9a17 100644 --- a/src/data-managers/simulator-data-data-manager.js +++ b/src/data-managers/simulator-data-data-manager.js @@ -25,15 +25,21 @@ class SimulatorDataDataManager { this._sockets[identifier] = WebsocketAPI.addSocket(endpoint, { onOpen: (event) => this.onOpen(event, identifier, signals), onClose: (event) => this.onClose(event, identifier), onMessage: (event) => this.onMessage(event, identifier) }); } } else { - this._sockets[identifier] = WebsocketAPI.addSocket(endpoint, { onOpen: (event) => this.onOpen(event, identifier, signals), onClose: (event) => this.onClose(event, identifier), onMessage: (event) => this.onMessage(event, identifier) }); + // set flag if a socket to this simulator was already create before + if (this._sockets[identifier] === null) { + this._sockets[identifier] = WebsocketAPI.addSocket(endpoint, { onOpen: (event) => this.onOpen(event, identifier, signals, false), onClose: (event) => this.onClose(event, identifier), onMessage: (event) => this.onMessage(event, identifier) }); + } else { + this._sockets[identifier] = WebsocketAPI.addSocket(endpoint, { onOpen: (event) => this.onOpen(event, identifier, signals, true), onClose: (event) => this.onClose(event, identifier), onMessage: (event) => this.onMessage(event, identifier) }); + } } } - onOpen(event, identifier, signals) { + onOpen(event, identifier, signals, firstOpen) { AppDispatcher.dispatch({ type: 'simulatorData/opened', identifier: identifier, - signals: signals + signals: signals, + firstOpen: firstOpen }); } @@ -43,8 +49,7 @@ class SimulatorDataDataManager { identifier: identifier }); - // remove from list - delete this._sockets[identifier]; + // remove from list, keep null reference for flag detection this._sockets[identifier] = null; } diff --git a/src/stores/simulator-store.js b/src/stores/simulator-store.js index 1e7d48b..a1ec187 100644 --- a/src/stores/simulator-store.js +++ b/src/stores/simulator-store.js @@ -52,11 +52,13 @@ class SimulatorStore extends ArrayStore { return element._id === action.identifier; }); - NotificationsDataManager.addNotification({ - title: 'Simulator online', - message: 'Simulator \'' + simulator.name + '\' went online.', - level: 'info' - }); + if (action.firstOpen === false) { + NotificationsDataManager.addNotification({ + title: 'Simulator online', + message: 'Simulator \'' + simulator.name + '\' went online.', + level: 'info' + }); + } // restart requesting again SimulatorsDataManager.stopRunningDetection(simulator);