From 473f23c5df94dc662de5d53cce64e51d186d9982 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Wed, 24 Feb 2021 21:51:41 +0200 Subject: [PATCH] Reduce duplication in PointElement --- 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 0190626a37f..30932624ef4 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) {