From 4173dd748bb723839a105003f2251c1ae9678ce5 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 10 Dec 2014 18:28:38 -0800 Subject: [PATCH] [Telemetry] Keep telemetryObjects reference Return the same value from getTelemetryObjects if thes e haven't changed, to permit this return value to be watched directly without appearing unstable. Supports the addition of stacked plot controls, which need to be conditioned on the number of telemetry objects present. WTD-625. --- platform/telemetry/src/TelemetryController.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/platform/telemetry/src/TelemetryController.js b/platform/telemetry/src/TelemetryController.js index 77318a5eb9..ddc9ad6c7d 100644 --- a/platform/telemetry/src/TelemetryController.js +++ b/platform/telemetry/src/TelemetryController.js @@ -45,7 +45,11 @@ define( // Used to track whether a new telemetryUpdate // is being issued. - broadcasting: false + broadcasting: false, + + // Used for getTelemetryObjects; a reference is + // stored so that this can be called in a watch + telemetryObjects: [] }; // Broadcast that a telemetryUpdate has occurred. @@ -182,6 +186,9 @@ define( // Build the containers domainObjects.forEach(buildResponseContainer); + // Store the reference to support getTelemetryObjects + self.telemetryObjects = domainObjects; + // Maintain a list of relevant ids, to convert // back from dictionary-like container objects to arrays. self.ids = domainObjects.map(function (obj) { @@ -259,9 +266,7 @@ define( * @returns {DomainObject[]} an array of metadata objects */ getTelemetryObjects: function () { - return self.ids.map(function (id) { - return self.response[id].domainObject; - }); + return self.telemetryObjects; }, /** * Get the latest telemetry response for a specific