From b31352c665ee41aeae538219dabb39ed18aa8ecc Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Wed, 24 Feb 2021 23:28:18 +0200 Subject: [PATCH] Reduce duplication in PointElement (#8517) --- src/elements/element.point.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) 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) { -- 2.47.3