From 1c76184ccd81a1588cc07c6a39e8ba5068c64c54 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Thu, 24 May 2018 08:44:11 +0200 Subject: [PATCH] use new simulation model data manager for initialising simulator data store (closes #169) --- .../simulation-models-data-manager.js | 28 +++++++++++++++- src/data-managers/simulations-data-manager.js | 32 +------------------ 2 files changed, 28 insertions(+), 32 deletions(-) diff --git a/src/data-managers/simulation-models-data-manager.js b/src/data-managers/simulation-models-data-manager.js index 79e6c4e..5496268 100644 --- a/src/data-managers/simulation-models-data-manager.js +++ b/src/data-managers/simulation-models-data-manager.js @@ -20,5 +20,31 @@ ******************************************************************************/ import RestDataManager from './rest-data-manager'; +import AppDispatcher from '../app-dispatcher'; -export default new RestDataManager('simulationModel', '/models'); +class SimulationModelDataManager extends RestDataManager { + constructor() { + super('simulationModel', '/models'); + + this.onLoad = this.onModelsLoad; + } + + onModelsLoad(data) { + if (!Array.isArray(data)) + data = [ data ]; + + for (let model of data) + this.loadModelData(model); + } + + loadModelData(model) { + AppDispatcher.dispatch({ + type: 'simulatorData/prepare', + inputLength: parseInt(model.inputLength, 10), + outputLength: parseInt(model.outputLength, 10), + id: model.simulator + }); + } +} + +export default new SimulationModelDataManager(); diff --git a/src/data-managers/simulations-data-manager.js b/src/data-managers/simulations-data-manager.js index 4ded924..d5fdfde 100644 --- a/src/data-managers/simulations-data-manager.js +++ b/src/data-managers/simulations-data-manager.js @@ -20,35 +20,5 @@ ******************************************************************************/ import RestDataManager from './rest-data-manager'; -import AppDispatcher from '../app-dispatcher'; -class SimulationsDataManager extends RestDataManager { - constructor() { - super('simulation', '/simulations', [ '_id', 'name', 'projects', 'models' ]); - - this.onLoad = this.onSimulationsLoad; - } - - onSimulationsLoad(data) { - if (Array.isArray(data)) { - for (let simulation of data) { - this.loadSimulationData(simulation); - } - } else { - this.loadSimulationData(data); - } - } - - loadSimulationData(simulation) { - for (let model of simulation.models) { - AppDispatcher.dispatch({ - type: 'simulatorData/prepare', - inputLength: parseInt(model.inputLength, 10), - outputLength: parseInt(model.outputLength, 10), - id: model.simulator - }); - } - } -} - -export default new SimulationsDataManager(); +export default new RestDataManager('simulation', '/simulations', [ '_id', 'name', 'projects', 'models' ]);