From 2b350794f9f51752a51b6625173c79c77adc1480 Mon Sep 17 00:00:00 2001 From: Daniel Molina Date: Tue, 9 Jun 2015 18:13:19 +0200 Subject: [PATCH] feature #3748: Add prettyDuration helper --- src/sunstone/public/app/utils/humanize.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/sunstone/public/app/utils/humanize.js b/src/sunstone/public/app/utils/humanize.js index 4b21fefc0f..ac9c8dd884 100644 --- a/src/sunstone/public/app/utils/humanize.js +++ b/src/sunstone/public/app/utils/humanize.js @@ -15,6 +15,7 @@ define(function(require) { 'sizeFromB': _sizeFromB, 'sizeFromKB': _sizeFromKB, 'sizeFromMB': _sizeFromMB, + 'prettyDuration': _prettyDuration, 'prettyTime': _prettyTime, 'prettyTimeAxis': _prettyTimeAxis, 'prettyPrintJSON': _prettyPrintJSON, @@ -82,6 +83,25 @@ define(function(require) { return st; } + function _prettyDuration(duration) { + var days = Math.floor(duration / 86400); + duration -= days * 86400; + + var hours = Math.floor(duration / 3600) % 24; + duration -= hours * 3600; + + var minutes = Math.floor(duration / 60) % 60; + duration -= minutes * 60; + + var seconds = duration % 60; + + var str = ""; + if (days > 0) { str += days + 'd '}; + if (hours > 0) { str += hours + 'h '}; + str += minutes + 'm '; + return str; + } + //introduces 0s before a number until in reaches 'length'. function _pad(number, length) { var str = '' + number;