diff --git a/StrategySpace/Workspace.js b/StrategySpace/Workspace.js index 373dad186..803decfad 100644 --- a/StrategySpace/Workspace.js +++ b/StrategySpace/Workspace.js @@ -45,29 +45,37 @@ function newWorkspace () { async function initialize () { let savedWorkspace = window.localStorage.getItem('workspace') if (savedWorkspace === null) { - await canvas.strategySpace.strategizerGateway.loadFromStrategyzer() - let tradingSystem = canvas.strategySpace.strategizerGateway.strategizerData - if (tradingSystem !== undefined) { - let adaptedTradingSystem = { - strategies: tradingSystem.subStrategies - } - thisObject.idAtStrategizer = tradingSystem.id - rootNodes.push(adaptedTradingSystem) - generateStrategyParts(adaptedTradingSystem) - thisObject.tradingSystem = adaptedTradingSystem - thisObject.tradingSystem.payload.uiObject.setRunningStatus() - } + initializeLoadingFromStrategizer() } else { workspace = JSON.parse(savedWorkspace) rootNodes = workspace.rootNodes thisObject.idAtStrategizer = workspace.idAtStrategizer - for (let i = 0; i < rootNodes.length; i++) { - let rootNode = rootNodes[i] - createPartFromNode(rootNode, undefined, undefined) + if (thisObject.idAtStrategizer === undefined) { + initializeLoadingFromStrategizer() + } else { + for (let i = 0; i < rootNodes.length; i++) { + let rootNode = rootNodes[i] + createPartFromNode(rootNode, undefined, undefined) + } } } } + async function initializeLoadingFromStrategizer () { + await canvas.strategySpace.strategizerGateway.loadFromStrategyzer() + let tradingSystem = canvas.strategySpace.strategizerGateway.strategizerData + if (tradingSystem !== undefined) { + let adaptedTradingSystem = { + strategies: tradingSystem.subStrategies + } + thisObject.idAtStrategizer = tradingSystem.id + rootNodes.push(adaptedTradingSystem) + generateStrategyParts(adaptedTradingSystem) + thisObject.tradingSystem = adaptedTradingSystem + thisObject.tradingSystem.payload.uiObject.setRunningStatus() + } + } + function getContainer (point) { }