From 54f2c2268e7eb7b103c640d1a0ec8c7730466964 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Wed, 24 Apr 2019 20:37:19 +0200 Subject: [PATCH] EventHandling Improved --- BollingerBands.js | 26 ++++++++++++++++---------- PercentageBandwidth.js | 26 ++++++++++++++++---------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/BollingerBands.js b/BollingerBands.js index e55a8cf36..54f603b28 100644 --- a/BollingerBands.js +++ b/BollingerBands.js @@ -51,6 +51,12 @@ let bands = []; // Here we keep the bands to be ploted every time the Draw() function is called by the AAWebPlatform. + let zoomChangedEventSubscriptionId + let offsetChangedEventSubscriptionId + let filesUpdatedEventSubscriptionId + let dragFinishedEventSubscriptionId + let dimmensionsChangedEventSubscriptionId + return thisObject; function finalize() { @@ -60,11 +66,11 @@ /* Stop listening to the necesary events. */ - viewPort.eventHandler.stopListening("Zoom Changed", onZoomChanged); - viewPort.eventHandler.stopListening("Offset Changed", onOffsetChanged); - marketFiles.eventHandler.stopListening("Files Updated", onFilesUpdated); - canvas.eventHandler.stopListening("Drag Finished", onDragFinished); - thisObject.container.eventHandler.stopListening('Dimmensions Changed') + viewPort.eventHandler.stopListening(zoomChangedEventSubscriptionId); + viewPort.eventHandler.stopListening(offsetChangedEventSubscriptionId); + marketFiles.eventHandler.stopListening(filesUpdatedEventSubscriptionId); + canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId); + thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId) /* Destroyd References */ @@ -110,16 +116,16 @@ /* Listen to the necesary events. */ - viewPort.eventHandler.listenToEvent("Zoom Changed", onZoomChanged); - viewPort.eventHandler.listenToEvent("Offset Changed", onOffsetChanged); - marketFiles.eventHandler.listenToEvent("Files Updated", onFilesUpdated); - canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished); + zoomChangedEventSubscriptionId = viewPort.eventHandler.listenToEvent("Zoom Changed", onZoomChanged); + offsetChangedEventSubscriptionId = viewPort.eventHandler.listenToEvent("Offset Changed", onOffsetChanged); + filesUpdatedEventSubscriptionId = marketFiles.eventHandler.listenToEvent("Files Updated", onFilesUpdated); + dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished); /* Get ready for plotting. */ recalculate(); - thisObject.container.eventHandler.listenToEvent('Dimmensions Changed', function () { + dimmensionsChangedEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('Dimmensions Changed', function () { recalculateScale(); recalculate(); }) diff --git a/PercentageBandwidth.js b/PercentageBandwidth.js index 07579ceed..29ce829c9 100644 --- a/PercentageBandwidth.js +++ b/PercentageBandwidth.js @@ -51,6 +51,12 @@ let percentageBandwidthArray = []; // Here we keep the percentageBandwidthArray to be ploted every time the Draw() function is called by the AAWebPlatform. + let zoomChangedEventSubscriptionId + let offsetChangedEventSubscriptionId + let filesUpdatedEventSubscriptionId + let dragFinishedEventSubscriptionId + let dimmensionsChangedEventSubscriptionId + return thisObject; function finalize() { @@ -60,11 +66,11 @@ /* Stop listening to the necesary events. */ - viewPort.eventHandler.stopListening("Zoom Changed", onZoomChanged); - viewPort.eventHandler.stopListening("Offset Changed", onOffsetChanged); - marketFiles.eventHandler.stopListening("Files Updated", onFilesUpdated); - canvas.eventHandler.stopListening("Drag Finished", onDragFinished); - thisObject.container.eventHandler.stopListening('Dimmensions Changed') + viewPort.eventHandler.stopListening(zoomChangedEventSubscriptionId); + viewPort.eventHandler.stopListening(offsetChangedEventSubscriptionId); + marketFiles.eventHandler.stopListening(filesUpdatedEventSubscriptionId); + canvas.eventHandler.stopListening(dragFinishedEventSubscriptionId); + thisObject.container.eventHandler.stopListening(dimmensionsChangedEventSubscriptionId) /* Destroyd References */ @@ -111,16 +117,16 @@ /* Listen to the necesary events. */ - viewPort.eventHandler.listenToEvent("Zoom Changed", onZoomChanged); - viewPort.eventHandler.listenToEvent("Offset Changed", onOffsetChanged); - marketFiles.eventHandler.listenToEvent("Files Updated", onFilesUpdated); - canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished); + zoomChangedEventSubscriptionId = viewPort.eventHandler.listenToEvent("Zoom Changed", onZoomChanged); + offsetChangedEventSubscriptionId = viewPort.eventHandler.listenToEvent("Offset Changed", onOffsetChanged); + filesUpdatedEventSubscriptionId = marketFiles.eventHandler.listenToEvent("Files Updated", onFilesUpdated); + dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent("Drag Finished", onDragFinished); /* Get ready for plotting. */ recalculate(); - thisObject.container.eventHandler.listenToEvent('Dimmensions Changed', function () { + dimmensionsChangedEventSubscriptionId = thisObject.container.eventHandler.listenToEvent('Dimmensions Changed', function () { recalculateScaleY(); recalculateScaleX(); recalculate();