From bb4f1ce7cd87781198705362c0a4c1ed3dcb6fd9 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 25 May 2016 10:52:25 -0700 Subject: [PATCH] [Timeline] Include utilization columns --- platform/features/timeline/bundle.js | 3 ++- .../timeline/src/actions/UtilizationColumn.js | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/platform/features/timeline/bundle.js b/platform/features/timeline/bundle.js index 4663a37fae..b8754f4916 100644 --- a/platform/features/timeline/bundle.js +++ b/platform/features/timeline/bundle.js @@ -557,7 +557,8 @@ define([ { "key": "comms", "name": "Comms", - "units": "Kbps" + "units": "Kbps", + "foo": "Kb" }, { "key": "battery", diff --git a/platform/features/timeline/src/actions/UtilizationColumn.js b/platform/features/timeline/src/actions/UtilizationColumn.js index f2c8a56544..e9e88a5896 100644 --- a/platform/features/timeline/src/actions/UtilizationColumn.js +++ b/platform/features/timeline/src/actions/UtilizationColumn.js @@ -41,11 +41,23 @@ define([], function () { UtilizationColumn.prototype.value = function (domainObject) { var resource = this.resource; + function getCost(utilization) { + var seconds = (utilization.end - utilization.start) / 1000; + return seconds * utilization.value; + } + function getUtilizationValue(utilizations) { utilizations = utilizations.filter(function (utilization) { - return key === resource.key; + return utilization.key === resource.key; }); - return utilizations.length === 1 ? utilizations[0].value : ""; + + if (utilizations.length === 0) { + return ""; + } + + return utilizations.map(getCost).reduce(function (a, b) { + return a + b; + }, 0); } return !domainObject.hasCapability('utilization') ?