onBrush()

in public/components/Charts/Highlight/Highlight.js [276:299]


  onBrush(e) {
    const { marginLeft, marginRight, innerWidth, onBrush, onDrag, drag } = this.props;
    const { brushing, dragging } = this.state;
    const { xLoc, yLoc } = getLocs(e);
    if (brushing) {
      const brushArea = this._getDrawArea(xLoc, yLoc);
      this.setState({ brushArea });
      if (onBrush) {
        onBrush(this._convertAreaToCoordinates(brushArea));
      }
    }

    if (drag && dragging) {
      const brushArea = this._getDragArea(xLoc, yLoc);
      const rightBoundary = innerWidth + marginRight;
      const leftBoundary = marginLeft;
      if (brushArea.right <= rightBoundary && brushArea.left >= leftBoundary) {
        this.setState({ brushArea });
        if (onDrag) {
          onDrag(this._convertAreaToCoordinates(brushArea));
        }
      }
    }
  }