Fix live token price updates
This commit is contained in:
		
							parent
							
								
									df7e5c0e97
								
							
						
					
					
						commit
						24928c10fa
					
				| @ -25,6 +25,7 @@ Chart.register( | |||||||
| import {updateHighVal} from "./highTime"; | import {updateHighVal} from "./highTime"; | ||||||
| import {updateLowVal} from "./lowTime"; | import {updateLowVal} from "./lowTime"; | ||||||
| import {isOverlaySelected, getOverlayTime, setOverlayLabelTime} from "./overlay"; | import {isOverlaySelected, getOverlayTime, setOverlayLabelTime} from "./overlay"; | ||||||
|  | import Datum from "./datum"; | ||||||
| 
 | 
 | ||||||
| function lookupTimeUnit(query){ | function lookupTimeUnit(query){ | ||||||
|     const lookup = { |     const lookup = { | ||||||
| @ -77,6 +78,22 @@ export default class TokenChart { | |||||||
|         this._chart = new Chart(this._context, chartConfig); |         this._chart = new Chart(this._context, chartConfig); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     async #updateHighLow(datum) { | ||||||
|  |         if (this._highDatum === null) { | ||||||
|  |             this._highDatum = new Datum(datum.getTime(), 0); | ||||||
|  |             this._lowDatum = datum; | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         if (datum.getPrice() > this._highDatum.getPrice()) { | ||||||
|  |             this._highDatum = datum; | ||||||
|  |             updateHighVal(this.highDatum); | ||||||
|  |         } | ||||||
|  |         else if (datum.getPrice() < this._lowDatum.getPrice()) { | ||||||
|  |             this._lowDatum = datum; | ||||||
|  |             updateLowVal(this.lowDatum); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     async #createOverlayChart(region, time, yLevel, data){ |     async #createOverlayChart(region, time, yLevel, data){ | ||||||
|         const chartData = []; |         const chartData = []; | ||||||
|         const overlayData = []; |         const overlayData = []; | ||||||
| @ -91,15 +108,7 @@ export default class TokenChart { | |||||||
|                 }); |                 }); | ||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
| 
 |                 await this.#updateHighLow(data[i]); | ||||||
|                 this._lastDatum = data[i]; |  | ||||||
|                 if (this._highDatum === null || this._lastDatum.getPrice() > this._highDatum.getPrice()) { |  | ||||||
|                     this._highDatum = data[i]; |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 if (this._lowDatum === null || this._lowDatum.getPrice() > this._lastDatum.getPrice()) { |  | ||||||
|                     this._lowDatum = data[i]; |  | ||||||
|                 } |  | ||||||
| 
 | 
 | ||||||
|                 chartData.push({ |                 chartData.push({ | ||||||
|                     x: data[i].getX(), |                     x: data[i].getX(), | ||||||
| @ -174,13 +183,7 @@ export default class TokenChart { | |||||||
| 
 | 
 | ||||||
|         for (let i = 0; i < data.length; i++) { |         for (let i = 0; i < data.length; i++) { | ||||||
|             this._lastDatum = data[i]; |             this._lastDatum = data[i]; | ||||||
|             if (this._highDatum === null || this._lastDatum.getPrice() > this._highDatum.getPrice()) { |             await this.#updateHighLow(data[i]); | ||||||
|                 this._highDatum = data[i]; |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             if (this._lowDatum === null || this._lowDatum.getPrice() > this._lastDatum.getPrice()) { |  | ||||||
|                 this._lowDatum = data[i]; |  | ||||||
|             } |  | ||||||
| 
 | 
 | ||||||
|             chartData.push({ |             chartData.push({ | ||||||
|                 x: data[i].getX(), |                 x: data[i].getX(), | ||||||
| @ -289,7 +292,10 @@ export default class TokenChart { | |||||||
|             this._lowDatum = datum; |             this._lowDatum = datum; | ||||||
|             updateLowVal(this.lowDatum); |             updateLowVal(this.lowDatum); | ||||||
|         } |         } | ||||||
|         this._chart.data.datasets[0].data.push(datum); |         this._chart.data.datasets[0].data.push({ | ||||||
|  |             x: datum.getX(), | ||||||
|  |             y: datum.getY(), | ||||||
|  |         }); | ||||||
|         this._chart.update(); |         this._chart.update(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user