From: Jukka Kurkela Date: Wed, 24 Feb 2021 21:28:18 +0000 (+0200) Subject: Reduce duplication in PointElement (#8517) X-Git-Tag: v3.0.0-beta.12~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b31352c665ee41aeae538219dabb39ed18aa8ecc;p=thirdparty%2FChart.js.git Reduce duplication in PointElement (#8517) --- diff --git a/src/elements/element.point.js b/src/elements/element.point.js index 0190626a3..30932624e 100644 --- a/src/elements/element.point.js +++ b/src/elements/element.point.js @@ -1,6 +1,13 @@ import Element from '../core/core.element'; import {drawPoint} from '../helpers/helpers.canvas'; +function inRange(el, pos, axis, useFinalPosition) { + const options = el.options; + const {[axis]: value} = el.getProps([axis], useFinalPosition); + + return (Math.abs(pos - value) < options.radius + options.hitRadius); +} + export default class PointElement extends Element { constructor(cfg) { @@ -22,16 +29,11 @@ export default class PointElement extends Element { } inXRange(mouseX, useFinalPosition) { - const options = this.options; - const {x} = this.getProps(['x'], useFinalPosition); - - return (Math.abs(mouseX - x) < options.radius + options.hitRadius); + return inRange(this, mouseX, 'x', useFinalPosition); } inYRange(mouseY, useFinalPosition) { - const options = this.options; - const {y} = this.getProps(['x'], useFinalPosition); - return (Math.abs(mouseY - y) < options.radius + options.hitRadius); + return inRange(this, mouseY, 'y', useFinalPosition); } getCenterPoint(useFinalPosition) {