Bladeren bron

右边深度的长度修复

skyffire 1 jaar geleden
bovenliggende
commit
409b8daaa5
1 gewijzigde bestanden met toevoegingen van 5 en 8 verwijderingen
  1. 5 8
      src/index.js

+ 5 - 8
src/index.js

@@ -248,8 +248,6 @@ export default class StockHeatmap extends React.Component {
   yDomainValues = null;
   /** @type {d3Timer.Timer} */
   bidAskAnimTimer = null;
-  /** @type {{[key:number]:number}} */
-  bidAskBarAnimConfig = {};
   // ------------------ D3 Variables ---------------------
 
   /**
@@ -562,19 +560,18 @@ export default class StockHeatmap extends React.Component {
             this.drawingContext.fillStyle = color;
             const l = this.defaults.bidAskWidth * (+v.qty / maxBidAskVol);
             // save v bars length
-            this.bidAskBarAnimConfig[v.rate] = d3.interpolateNumber(this.bidAskBarAnimConfig[v.rate] || 0, l)(t);
-            this.drawingContext.fillRect(0, this.yScale(v.rate), this.bidAskBarAnimConfig[v.rate], h);
-            let tw = this.drawingContext.measureText(v.qty).width;
+            this.drawingContext.fillRect(0, this.yScale(v.rate), l, h);
+            let textWidth = this.drawingContext.measureText(v.qty).width;
 
-            if (this.defaults.bidAskWidth - this.bidAskBarAnimConfig[v.rate] - tw >= tw) {
+            if (this.defaults.bidAskWidth - l - textWidth >= textWidth) {
               // text outside bar
               this.drawingContext.textAlign = 'start';
               this.drawingContext.fillStyle = this.defaults.textOnBackground;
-              this.drawingContext.fillText(v.qty, this.bidAskBarAnimConfig[v.rate] + 1, this.yScale(v.rate) + h / 2 + 1);
+              this.drawingContext.fillText(v.qty, l + 1, this.yScale(v.rate) + h / 2 + 1);
             } else {
               this.drawingContext.textAlign = 'end';
               this.drawingContext.fillStyle = textColor;
-              this.drawingContext.fillText(v.qty, this.bidAskBarAnimConfig[v.rate] - tw, this.yScale(v.rate) + h / 2 + 1);
+              this.drawingContext.fillText(v.qty, l - textWidth, this.yScale(v.rate) + h / 2 + 1);
             }
           });
         }