BUG FIXED with Zooming and the new Plotter module

This commit is contained in:
Luis Fernando Molina committed 2019-12-15 22:46:29 +01:00
1 parent 5a0ac3a532
commit b2ff763c80
4 files changed
+37 -18

No files matched your search

+2
View File
@@ -290,6 +290,8 @@ function newViewPort () {
x: 0,
y: 0
}
thisObject.eventHandler.raiseEvent('Zoom Changed')
}
function zoomFontSize (baseSize, level) {
+6 -4
View File
@@ -58,7 +58,9 @@ function newTimeControlPanel () {
}
function onZoomChanged (event) {
timePeriod = recalculatePeriod(event.newLevel)
if (event !== undefined) { // it is undefined when the level is just being animated.
timePeriod = recalculatePeriod(event.newLevel)
}
}
function getContainer (point) {
@@ -115,7 +117,7 @@ function newTimeControlPanel () {
labelPoint = thisObject.container.frame.frameThisPoint(labelPoint)
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.fillStyle = 'rgba(60, 60, 60, 0.50)'
browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
@@ -132,7 +134,7 @@ function newTimeControlPanel () {
labelPoint = thisObject.container.frame.frameThisPoint(labelPoint)
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.fillStyle = 'rgba(60, 60, 60, 0.50)'
browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
@@ -151,7 +153,7 @@ function newTimeControlPanel () {
labelPoint = thisObject.container.frame.frameThisPoint(labelPoint)
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.font = fontSize + 'px ' + UI_FONT.PRIMARY
browserCanvasContext.fillStyle = 'rgba(60, 60, 60, 0.50)'
browserCanvasContext.fillText(label, labelPoint.x, labelPoint.y)
}
+15 -2
View File
@@ -59,6 +59,7 @@ function newPlotter () {
let marketFilesUpdatedEventSubscriptionId
let dailyFilesUpdatedEventSubscriptionId
let logged = false
return thisObject
function finalize () {
@@ -177,7 +178,7 @@ function newPlotter () {
try {
if (timePeriod !== pTimePeriod) {
timePeriod = pTimePeriod
mustRecalculateDataPoints = true
if (timePeriod >= _1_HOUR_IN_MILISECONDS) {
let newMarketFile = marketFiles.getFile(pTimePeriod)
@@ -408,6 +409,14 @@ function newPlotter () {
leftDate = new Date(leftDate.valueOf() - dateDiff * 1.5)
rightDate = new Date(rightDate.valueOf() + dateDiff * 1.5)
for (let i = 0; i < records.length; i++) {
let record = records[i]
record.fillStyle = undefined
record.strokeStyle = undefined
record.dataPoints = undefined
record.previous = undefined
records[i] = {}
}
records = []
/* Transform the current file content into an array of JSON objects */
@@ -428,7 +437,6 @@ function newPlotter () {
function recalculateScale () {
try {
if (timeLineCoordinateSystem.maxValue > 0) { return } // Already calculated.
/* First we calculate the default scale */
let minValue = {
x: MIN_PLOTABLE_DATE.valueOf(),
@@ -531,6 +539,9 @@ function newPlotter () {
/* We use the datapoints already calculated. */
dataPoints = record.dataPoints
} else {
if (logged === false) {
logged = true
}
/* Only calculate the datapoints for this record, if we have not calculate it before. */
for (let k = 0; k < productDefinition.referenceParent.shapes.chartPoints.length; k++) {
let chartPoints = productDefinition.referenceParent.shapes.chartPoints[k]
@@ -747,6 +758,7 @@ function newPlotter () {
}
mustRecalculateDataPoints = false
logged = false
} catch (err) {
if (ERROR_LOG === true) { logger.write('[ERROR] plotChart -> err = ' + err.stack) }
}
@@ -754,6 +766,7 @@ function newPlotter () {
function onZoomChanged (event) {
try {
mustRecalculateDataPoints = true
recalculate()
} catch (err) {
if (ERROR_LOG === true) { logger.write('[ERROR] onZoomChanged -> err = ' + err.stack) }
+14 -12
View File
@@ -83,21 +83,23 @@ function newTimePeriodScale () {
}
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
if (event !== undefined) { // it is undefined when the level is just being animated.
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
}
}
}
saveObjectState()
newTimePeriod()
}
saveObjectState()
newTimePeriod()
}
}