diff --git a/Scales/TimePeriodScale.js b/Scales/TimePeriodScale.js index 70e725e55..cb836d04e 100644 --- a/Scales/TimePeriodScale.js +++ b/Scales/TimePeriodScale.js @@ -60,6 +60,26 @@ function newTimePeriodScale () { thisObject.container.eventHandler.listenToEvent('onMouseNotOver', function (event) { visible = false }) + + viewPort.eventHandler.listenToEvent('Zoom Changed', onZoomChanged) + } + + function onZoomChanged (event) { + let currentTimePeriod = thisObject.timePeriod + let timePeriod = recalculatePeriod(event.newLevel) + if (timePeriod !== currentTimePeriod) { + for (let i = 0; i < timePeriodsMasterArray.length; i++) { + let timePeriodArray = timePeriodsMasterArray[i] + for (let j = 0; j < timePeriodArray.length; j++) { + let record = timePeriodArray[j] + if (timePeriod === record[0]) { + filePeriodIndex = i + timePeriodIndex = j + } + } + } + newTimePeriod() + } } function onMouseWheel (event) { diff --git a/TimelineChart.js b/TimelineChart.js index ce8cc9965..34e41ec8c 100644 --- a/TimelineChart.js +++ b/TimelineChart.js @@ -70,19 +70,6 @@ market = pMarket timeLineCoordinateSystem = pTimeLineCoordinateSystem - timePeriodScale = newTimePeriodScale() - timePeriodScale.container.connectToParent(thisObject.container, false, false) - timePeriodScale.container.eventHandler.listenToEvent('Time Period Changed', function (event) { - return // Ignore events from this scale - let currentTimePeriod = timePeriod - timePeriod = event.timePeriod - if (timePeriod !== currentTimePeriod) { - plotterManager.setTimePeriod(timePeriod) - } - }) - - timePeriodScale.initialize(timeLineCoordinateSystem) - thisObject.container.eventHandler.listenToEvent('onMouseOver', function (event) { saveUserPosition(thisObject.container, timeLineCoordinateSystem, event) }) @@ -160,6 +147,18 @@ return } + timePeriodScale = newTimePeriodScale() + timePeriodScale.container.connectToParent(thisObject.container, false, false) + timePeriodScale.container.eventHandler.listenToEvent('Time Period Changed', function (event) { + let currentTimePeriod = timePeriod + timePeriod = event.timePeriod + if (timePeriod !== currentTimePeriod) { + plotterManager.setTimePeriod(timePeriod) + } + }) + + timePeriodScale.initialize(timeLineCoordinateSystem) + initializationReady = true callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE) return @@ -174,16 +173,6 @@ if (INFO_LOG === true) { logger.write('[INFO] onZoomChanged -> Entering function.') } if (initializationReady === true) { - let currentTimePeriod = timePeriod - - timePeriod = recalculatePeriod(event.newLevel) - - /* If the period changes, we need to spread the word in cascade towards all the depending objects. */ - - if (timePeriod !== currentTimePeriod) { - plotterManager.setTimePeriod(timePeriod) - } - recalculateCurrentDatetime() // saveUserPosition(thisObject.container, timeLineCoordinateSystem)