filesafe/public/js/album.js
Bobby Wibowo da86f605c6
Updates [!! run database/migration.js !!]
Added description column into albums.
So yeah, now albums can have description.
It'll only be shown in the album's edit popup and public link.

HTML chars will now be escaped from album's name and description.

Removed message warning about CDN cache from album's public link.
A shortened version will be shown as the download button's tooltip.

Darkened color of textarea's placeholder.

Bumped v1 version string.
2018-12-13 16:09:46 +07:00

35 lines
954 B
JavaScript

/* global LazyLoad */
const page = {
lazyLoad: null,
// byte units for getPrettyBytes()
byteUnits: ['B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
}
page.getPrettyBytes = num => {
// MIT License
// Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
if (!Number.isFinite(num)) { return num }
const neg = num < 0
if (neg) { num = -num }
if (num < 1) { return (neg ? '-' : '') + num + ' B' }
const exponent = Math.min(Math.floor(Math.log10(num) / 3), page.byteUnits.length - 1)
const numStr = Number((num / Math.pow(1000, exponent)).toPrecision(3))
const unit = page.byteUnits[exponent]
return (neg ? '-' : '') + numStr + ' ' + unit
}
window.onload = function () {
const elements = document.getElementsByClassName('file-size')
for (let i = 0; i < elements.length; i++) {
elements[i].innerHTML = page.getPrettyBytes(parseInt(elements[i].innerHTML))
}
page.lazyLoad = new LazyLoad()
}