|
|
|
@@ -27,7 +27,7 @@ export const transFileSize = (srcSize) => { |
|
|
|
srcSize = parseFloat(srcSize); |
|
|
|
const index = Math.floor(Math.log(srcSize) / Math.log(1024)); |
|
|
|
const size = (srcSize / Math.pow(1024, index)).toFixed(2); |
|
|
|
return size + ' ' + unitArr[index]; |
|
|
|
return size + ' ' + unitArr[index]; |
|
|
|
}; |
|
|
|
|
|
|
|
export const renderSpecStr = (spec, showPoint) => { |
|
|
|
@@ -39,3 +39,91 @@ export const renderSpecStr = (spec, showPoint) => { |
|
|
|
var specStr = `${ngpu}, CPU: ${spec.CpuCores}, ${gpuMemStr}${i18n.t('resourcesManagement.mem')}: ${spec.MemGiB}GB${sharedMemStr}${pointStr}`; |
|
|
|
return specStr; |
|
|
|
}; |
|
|
|
|
|
|
|
const Minute = 60; |
|
|
|
const Hour = 60 * Minute; |
|
|
|
const Day = 24 * Hour; |
|
|
|
const Week = 7 * Day; |
|
|
|
const Month = 30 * Day; |
|
|
|
const Year = 12 * Month; |
|
|
|
|
|
|
|
const computeTimeDiff = (diff) => { |
|
|
|
let diffStr = ''; |
|
|
|
switch (true) { |
|
|
|
case diff <= 0: |
|
|
|
diff = 0; |
|
|
|
diffStr = i18n.t('timeObj.now'); |
|
|
|
break; |
|
|
|
case diff < 2: |
|
|
|
diff = 0; |
|
|
|
diffStr = i18n.t('timeObj.1s'); |
|
|
|
break; |
|
|
|
case diff < 1 * Minute: |
|
|
|
diffStr = i18n.t('timeObj.seconds', { msg: Math.floor(diff) }); |
|
|
|
diff = 0; |
|
|
|
break; |
|
|
|
case diff < 2 * Minute: |
|
|
|
diff -= 1 * Minute; |
|
|
|
diffStr = i18n.t('timeObj.1m'); |
|
|
|
break; |
|
|
|
case diff < 1 * Hour: |
|
|
|
diffStr = i18n.t('timeObj.minutes', { msg: Math.floor(diff / Minute) }); |
|
|
|
diff -= diff / Minute * Minute; |
|
|
|
break; |
|
|
|
case diff < 2 * Hour: |
|
|
|
diff -= 1 * Hour; |
|
|
|
diffStr = i18n.t('timeObj.1h'); |
|
|
|
break; |
|
|
|
case diff < 1 * Day: |
|
|
|
diffStr = i18n.t('timeObj.hours', { msg: Math.floor(diff / Hour) }); |
|
|
|
diff -= diff / Hour * Hour; |
|
|
|
break; |
|
|
|
case diff < 2 * Day: |
|
|
|
diff -= 1 * Day; |
|
|
|
diffStr = i18n.t('timeObj.1d'); |
|
|
|
break; |
|
|
|
case diff < 1 * Week: |
|
|
|
diffStr = i18n.t('timeObj.days', { msg: Math.floor(diff / Day) }); |
|
|
|
diff -= diff / Day * Day; |
|
|
|
break; |
|
|
|
case diff < 2 * Week: |
|
|
|
diff -= 1 * Week; |
|
|
|
diffStr = i18n.t('timeObj.1w'); |
|
|
|
break; |
|
|
|
case diff < 1 * Month: |
|
|
|
diffStr = i18n.t('timeObj.weeks', { msg: Math.floor(diff / Week) }); |
|
|
|
diff -= diff / Week * Week; |
|
|
|
break; |
|
|
|
case diff < 2 * Month: |
|
|
|
diff -= 1 * Month; |
|
|
|
diffStr = i18n.t('timeObj.1mon'); |
|
|
|
break; |
|
|
|
case diff < 1 * Year: |
|
|
|
diffStr = i18n.t('timeObj.months', { msg: Math.floor(diff / Month) }); |
|
|
|
diff -= diff / Month * Month; |
|
|
|
break; |
|
|
|
case diff < 2 * Year: |
|
|
|
diff -= 1 * Year; |
|
|
|
diffStr = i18n.t('timeObj.1y'); |
|
|
|
break; |
|
|
|
default: |
|
|
|
diffStr = i18n.t('timeObj.years', { msg: Math.floor(diff / Year) }); |
|
|
|
diff -= (diff / Year) * Year; |
|
|
|
break; |
|
|
|
} |
|
|
|
return { diff, diffStr }; |
|
|
|
}; |
|
|
|
|
|
|
|
export const timeSinceUnix = (then, now) => { |
|
|
|
let lbl = 'timeObj.ago'; |
|
|
|
let diff = now - then; |
|
|
|
if (then > now) { |
|
|
|
lbl = 'timeObj.from_now'; |
|
|
|
diff = then - now; |
|
|
|
} |
|
|
|
if (diff <= 0) { |
|
|
|
return i18n.t('timeObj.now'); |
|
|
|
} |
|
|
|
const out = computeTimeDiff(diff); |
|
|
|
return i18n.t(lbl, { msg: out.diffStr }); |
|
|
|
}; |