From 3d86871c1d881dc6a709b9803f80dc3cd85165c0 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 24 Feb 2015 09:25:14 -0800 Subject: [PATCH] [Fixed Position] Cache name/value Cache name/value for telemetry elements to avoid flashing after drag gestures, WTD-881. --- platform/features/layout/src/FixedController.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/platform/features/layout/src/FixedController.js b/platform/features/layout/src/FixedController.js index f795093dd4..afef3355b4 100644 --- a/platform/features/layout/src/FixedController.js +++ b/platform/features/layout/src/FixedController.js @@ -24,6 +24,8 @@ define( subscription, cellStyles = [], elementProxies = [], + names = {}, // Cache names by ID + values = {}, // Cache values by ID elementProxiesById = {}, selection; @@ -67,10 +69,12 @@ define( var id = telemetryObject && telemetryObject.getId(); if (id) { (elementProxiesById[id] || []).forEach(function (element) { - element.name = telemetryObject.getModel().name; - element.value = telemetryFormatter.formatRangeValue( + names[id] = telemetryObject.getModel().name; + values[id] = telemetryFormatter.formatRangeValue( subscription.getRangeValue(telemetryObject) ); + element.name = names[id]; + element.value = values[id]; }); } } @@ -127,6 +131,9 @@ define( elementProxies.forEach(function (elementProxy) { var id = elementProxy.id; if (elementProxy.element.type === 'fixed.telemetry') { + // Provide it a cached name/value to avoid flashing + elementProxy.name = names[id]; + elementProxy.value = values[id]; elementProxiesById[id] = elementProxiesById[id] || []; elementProxiesById[id].push(elementProxy); }