From 0f0cfd58ac62487ed8360cd158fc4931825524cb Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Wed, 8 Jan 2020 16:28:29 +0100 Subject: [PATCH] Finalizing Events at scales --- Scales/RateScale.js | 16 ++++++++++++---- Scales/TimeScale.js | 15 ++++++++++++--- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/Scales/RateScale.js b/Scales/RateScale.js index 33533b17e..9de0f83c7 100644 --- a/Scales/RateScale.js +++ b/Scales/RateScale.js @@ -30,18 +30,27 @@ function newRateScale () { thisObject.container.frame.height = 25 let isMouseOver + + let onMouseWheelEventSubscriptionId + let onMouseOverEventSubscriptionId + let onMouseNotOverEventSubscriptionId + return thisObject function finalize () { + thisObject.container.eventHandler.stopListening(onMouseWheelEventSubscriptionId) + thisObject.container.eventHandler.stopListening(onMouseOverEventSubscriptionId) + thisObject.container.eventHandler.stopListening(onMouseNotOverEventSubscriptionId) + thisObject.container.finalize() thisObject.container = undefined thisObject.fitFunction = undefined } function initialize () { - thisObject.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel) - thisObject.container.eventHandler.listenToEvent('onMouseOver', onMouseOver) - thisObject.container.eventHandler.listenToEvent('onMouseNotOver', onMouseNotOver) + onMouseWheelEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel) + onMouseOverEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseOver', onMouseOver) + onMouseNotOverEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseNotOver', onMouseNotOver) thisObject.heightPercentage = window.localStorage.getItem(MODULE_NAME) if (!thisObject.heightPercentage) { @@ -206,4 +215,3 @@ function newRateScale () { drawScaleDisplay(label1, label2, 10, 40, thisObject.container, thisObject.fitFunction) } } - diff --git a/Scales/TimeScale.js b/Scales/TimeScale.js index 154b4447f..eea2a89f3 100644 --- a/Scales/TimeScale.js +++ b/Scales/TimeScale.js @@ -30,18 +30,27 @@ function newTimeScale () { thisObject.container.frame.height = 25 let isMouseOver + + let onMouseWheelEventSubscriptionId + let onMouseOverEventSubscriptionId + let onMouseNotOverEventSubscriptionId + return thisObject function finalize () { + thisObject.container.eventHandler.stopListening(onMouseWheelEventSubscriptionId) + thisObject.container.eventHandler.stopListening(onMouseOverEventSubscriptionId) + thisObject.container.eventHandler.stopListening(onMouseNotOverEventSubscriptionId) + thisObject.container.finalize() thisObject.container = undefined thisObject.fitFunction = undefined } function initialize () { - thisObject.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel) - thisObject.container.eventHandler.listenToEvent('onMouseOver', onMouseOver) - thisObject.container.eventHandler.listenToEvent('onMouseNotOver', onMouseNotOver) + onMouseWheelEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel) + onMouseOverEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseOver', onMouseOver) + onMouseNotOverEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseNotOver', onMouseNotOver) thisObject.lenghtPercentage = window.localStorage.getItem(MODULE_NAME) if (!thisObject.lenghtPercentage) {