From ef0a09ceb334f1d1f05ad790e570ef0cdaaa3c52 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Mon, 4 Mar 2013 13:03:25 +0100 Subject: functions to render file status, only simple coloring for now --- module/web/static/js/helpers/fileHelper.js | 51 ++++++++++++++++++++++++++++++ module/web/static/js/helpers/formatSize.js | 4 +-- 2 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 module/web/static/js/helpers/fileHelper.js (limited to 'module/web/static/js/helpers') diff --git a/module/web/static/js/helpers/fileHelper.js b/module/web/static/js/helpers/fileHelper.js new file mode 100644 index 000000000..d7cf03f53 --- /dev/null +++ b/module/web/static/js/helpers/fileHelper.js @@ -0,0 +1,51 @@ +// Helpers to render the file view +define('helpers/fileHelper', ['handlebars', 'utils/apitypes'], + function(Handlebars, Api) { + + function fileClass(file, options) { + if (file.finished) + return 'finished'; + else if (file.failed) + return "failed"; + else if (file.offline) + return "offline"; + else if (file.online) + return "online"; + else if (file.waiting) + return "waiting"; + else if (file.downloading) + return "downloading"; + + return ""; + } + + // TODO + function fileIcon(media, options) { + return 'iconf-music'; + } + + // TODO rest of the states + function fileStatus(file, options) { + var s; + var msg = file.download.statusmsg; + + if (file.failed) { + s = " "; + if (file.download.error) + s += file.download.error; + else s += msg; + } else if (file.finished) + s = " " + msg; + else if(file.downloading) + s= "
"; + else + s = msg; + + return new Handlebars.SafeString(s); + } + + Handlebars.registerHelper('fileClass', fileClass); + Handlebars.registerHelper('fileIcon', fileIcon); + Handlebars.registerHelper('fileStatus', fileStatus); + return fileClass; + }); \ No newline at end of file diff --git a/module/web/static/js/helpers/formatSize.js b/module/web/static/js/helpers/formatSize.js index 1b1d96a73..a792392b7 100644 --- a/module/web/static/js/helpers/formatSize.js +++ b/module/web/static/js/helpers/formatSize.js @@ -1,8 +1,8 @@ // Format bytes in human readable format define('helpers/formatSize', ['handlebars'], function(Handlebars) { + var sizes = ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB"]; function formatSize(bytes, options) { - var sizes = ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB"]; - if (bytes == 0) return '0 B'; + if (bytes === 0) return '0 B'; var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024))); // round to two digits return (bytes / Math.pow(1024, i)).toFixed(2) + ' ' + sizes[i]; -- cgit v1.2.3