diff --git a/BollingerBands.js b/BollingerBands.js index 67ab26855..78e845766 100644 --- a/BollingerBands.js +++ b/BollingerBands.js @@ -13,6 +13,7 @@ // Main functions and properties. initialize: initialize, + finalize: finalize, container: undefined, getContainer: getContainer, setTimePeriod: setTimePeriod, @@ -52,6 +53,35 @@ return thisObject; + function finalize() { + try { + + if (INFO_LOG === true) { logger.write("[INFO] finalize -> Entering function."); } + + /* 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); + + /* Destroyd References */ + + marketFiles = undefined; + dailyFiles = undefined; + + datetime = undefined; + timePeriod = undefined; + + marketFile = undefined; + fileCursor = undefined; + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] finalize -> err.message = " + err.message); } + } + } + function initialize(pStorage, pExchange, pMarket, pDatetime, pTimePeriod, callBackFunction) { try { diff --git a/PercentageBandwidth.js b/PercentageBandwidth.js index 4730e9b48..c48f3b266 100644 --- a/PercentageBandwidth.js +++ b/PercentageBandwidth.js @@ -12,6 +12,7 @@ // Main functions and properties. initialize: initialize, + finalize: finalize, container: undefined, getContainer: getContainer, setTimePeriod: setTimePeriod, @@ -52,6 +53,35 @@ return thisObject; + function finalize() { + try { + + if (INFO_LOG === true) { logger.write("[INFO] finalize -> Entering function."); } + + /* 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); + + /* Destroyd References */ + + marketFiles = undefined; + dailyFiles = undefined; + + datetime = undefined; + timePeriod = undefined; + + marketFile = undefined; + fileCursor = undefined; + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] finalize -> err.message = " + err.message); } + } + } + function initialize(pStorage, pExchange, pMarket, pDatetime, pTimePeriod, callBackFunction) { try {