summaryrefslogtreecommitdiffstats
path: root/module/web/static/js/helpers/formatTime.js
diff options
context:
space:
mode:
Diffstat (limited to 'module/web/static/js/helpers/formatTime.js')
-rw-r--r--module/web/static/js/helpers/formatTime.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/module/web/static/js/helpers/formatTime.js b/module/web/static/js/helpers/formatTime.js
new file mode 100644
index 000000000..cb635ede9
--- /dev/null
+++ b/module/web/static/js/helpers/formatTime.js
@@ -0,0 +1,40 @@
+// Format bytes in human readable format
+define('helpers/formatTime', ['handlebars'], function(Handlebars) {
+
+ // TODO: seconds are language dependant
+ // time could be better formatted
+ function seconds2time (seconds) {
+ var hours = Math.floor(seconds / 3600);
+ var minutes = Math.floor((seconds - (hours * 3600)) / 60);
+ seconds = seconds - (hours * 3600) - (minutes * 60);
+ var time = "";
+
+ if (hours != 0) {
+ time = hours+":";
+ }
+ if (minutes != 0 || time !== "") {
+ minutes = (minutes < 10 && time !== "") ? "0"+minutes : String(minutes);
+ time += minutes+":";
+ }
+ if (time === "") {
+ time = seconds+"s";
+ }
+ else {
+ time += (seconds < 10) ? "0"+seconds : String(seconds);
+ }
+ return time;
+ }
+
+
+ function formatTime(seconds, options) {
+ if (seconds === Infinity)
+ return '∞';
+ else if (!seconds || seconds <= 0)
+ return "-";
+
+ return seconds2time(seconds);
+ }
+
+ Handlebars.registerHelper('formatTime', formatTime);
+ return formatTime;
+}); \ No newline at end of file