diff --git a/ChartsSpace/PlottersManager.js b/ChartsSpace/PlottersManager.js index 1f0b5e082..62a090940 100644 --- a/ChartsSpace/PlottersManager.js +++ b/ChartsSpace/PlottersManager.js @@ -110,7 +110,7 @@ function newPlottersManager () { for (let i = 0; i < layer.definition.referenceParent.referenceParent.datasets.length; i++) { let dataset = layer.definition.referenceParent.referenceParent.datasets[i] - switch (dataset.type) { + switch (dataset.code.type) { case 'Market Files': { storage.onMarketFileLoadedLayerEventsSubscriptionId = storage.eventHandler.listenToEvent('Market File Loaded', layer.onMarketFileLoaded) } diff --git a/Panels/Layer.js b/Panels/Layer.js index 935cb24f9..2ac627e97 100644 --- a/Panels/Layer.js +++ b/Panels/Layer.js @@ -104,7 +104,7 @@ function newLayer () { thisObject.container.eventHandler.stopListening(onMouseClickEventSuscriptionId) } - function initialize () { + function initialize (callBackFunction) { /* Create this objects continer */ try { thisObject.container = newContainer() @@ -149,8 +149,8 @@ function newLayer () { if (thisObject.definition.referenceParent === undefined) { return } if (thisObject.definition.referenceParent.parentNode === undefined) { return } if (thisObject.definition.referenceParent.parentNode.referenceParent === undefined) { return } - if (thisObject.definition.referenceParent.parentNode.referenceParent.referenceParent === undefined) { return } - if (thisObject.definition.referenceParent.parentNode.referenceParent.referenceParent.referenceParent === undefined) { return } + if (thisObject.definition.referenceParent.parentNode.referenceParent.parentNode === undefined) { return } + if (thisObject.definition.referenceParent.parentNode.referenceParent.parentNode.parentNode === undefined) { return } if (thisObject.definition.referenceParent.parentNode.referenceParent.baseAsset === undefined) { return } if (thisObject.definition.referenceParent.parentNode.referenceParent.baseAsset.referenceParent === undefined) { return } if (thisObject.definition.referenceParent.parentNode.referenceParent.quotedAsset === undefined) { return } @@ -174,6 +174,8 @@ function newLayer () { /* Lets listen to our own events to react when we have a Mouse Click */ onMouseClickEventSuscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseClick', onMouseClick) + + callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE) } catch (err) { if (ERROR_LOG === true) { logger.write('[ERROR] initialize -> err = ' + err.stack) } } diff --git a/Panels/LayersPanel.js b/Panels/LayersPanel.js index aa3ace3b9..5bb86653c 100644 --- a/Panels/LayersPanel.js +++ b/Panels/LayersPanel.js @@ -83,36 +83,40 @@ function newProductsPanel () { layer.fitFunction = thisObject.fitFunction /* Initialize it */ - layer.initialize() - layersMap.set(layerNode.id, layer) + layer.initialize(onInitialized) + function onInitialized (err) { + if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result) { + layersMap.set(layerNode.id, layer) - /* Container Stuff */ - layer.container.frame.parentFrame = thisObject.container.frame - layer.container.parentContainer = thisObject.container - layer.container.isWheelable = true + /* Container Stuff */ + layer.container.frame.parentFrame = thisObject.container.frame + layer.container.parentContainer = thisObject.container + layer.container.isWheelable = true - /* Positioning within thisObject Panel */ - let position = { - x: 0, - y: thisObject.container.frame.height - thisObject.container.frame.getBodyHeight() + /* Positioning within thisObject Panel */ + let position = { + x: 0, + y: thisObject.container.frame.height - thisObject.container.frame.getBodyHeight() + } + + layer.container.frame.position.x = position.x + layer.container.frame.position.y = position.y + layer.container.frame.height * thisObject.layers.length + LAYER_SEPARATION + + /* Add to the Product Array */ + thisObject.layers.push(layer) + + /* Add to Visible Product Array */ + if (layer.container.frame.position.y + layer.container.frame.height < thisObject.container.frame.height) { + visibleLayers.push(layer) + } + + /* Listen to Status Changes Events */ + layer.onLayerStatusChangedEventSuscriptionId = layer.container.eventHandler.listenToEvent('Status Changed', onLayerStatusChanged) + layer.onMouseWheelEventSuscriptionId = layer.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel) + + return layer + } } - - layer.container.frame.position.x = position.x - layer.container.frame.position.y = position.y + layer.container.frame.height * thisObject.layers.length + LAYER_SEPARATION - - /* Add to the Product Array */ - thisObject.layers.push(layer) - - /* Add to Visible Product Array */ - if (layer.container.frame.position.y + layer.container.frame.height < thisObject.container.frame.height) { - visibleLayers.push(layer) - } - - /* Listen to Status Changes Events */ - layer.onLayerStatusChangedEventSuscriptionId = layer.container.eventHandler.listenToEvent('Status Changed', onLayerStatusChanged) - layer.onMouseWheelEventSuscriptionId = layer.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel) - - return layer } function onMouseWheel (event) { @@ -244,7 +248,9 @@ function newProductsPanel () { let found = removeFromLocalLayers(layerNode.id) if (found !== true) { layer = addLayer(layerNode) - onLayerStatusChanged(layer) + if (layer !== undefined) { + onLayerStatusChanged(layer) + } } } }