X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/9be874f7744b5ceb53f4be20d1748db34859468a..5b2cd67083705b616e5d468e8ad2c10d84db2af7:/src/common/formatters.ts diff --git a/src/common/formatters.ts b/src/common/formatters.ts index 819875be..d8228bf5 100644 --- a/src/common/formatters.ts +++ b/src/common/formatters.ts @@ -20,21 +20,31 @@ export const formatDate = (isoDate?: string | null, utc: boolean = false) => { return "(none)"; }; -export const formatFileSize = (size?: number) => { +export const formatFileSize = (size?: number | string) => { if (typeof size === "number") { + if (size === 0) { return "0 B"; } + for (const { base, unit } of FILE_SIZES) { if (size >= base) { return `${(size / base).toFixed()} ${unit}`; } } + } + if ((typeof size === "string" && size === '') || size === undefined) { + return ''; } - return ""; + return "0 B"; }; -export const formatTime = (time: number) => { +export const formatTime = (time: number, seconds?: boolean) => { const minutes = Math.floor(time / (1000 * 60) % 60).toFixed(0); const hours = Math.floor(time / (1000 * 60 * 60)).toFixed(0); + if (seconds) { + const seconds = Math.floor(time / (1000) % 60).toFixed(0); + return hours + "h " + minutes + "m " + seconds + "s"; + } + return hours + "h " + minutes + "m"; };