improve file previews
This commit is contained in:
@@ -67,6 +67,10 @@ function formatNumber(amt, precision) {
|
||||
return amt
|
||||
}
|
||||
|
||||
function formatThousands(x) {
|
||||
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ");
|
||||
}
|
||||
|
||||
function formatDataVolume(amt, precision) {
|
||||
if (precision < 3) { precision = 3; }
|
||||
if (amt >= 1e12) {
|
||||
|
@@ -27,8 +27,8 @@ function Toolbar(viewer) {
|
||||
|
||||
Toolbar.prototype.setFile = function(file) {
|
||||
this.currentFile = file
|
||||
this.spanViews.innerText = file.views
|
||||
this.spanDownloads.innerText = Math.round((file.bandwidth_used/file.size)*10)/10
|
||||
this.spanViews.innerText = formatThousands(file.views)
|
||||
this.spanDownloads.innerText = formatThousands(Math.round(file.bandwidth_used/file.size))
|
||||
this.spanSize.innerText = formatDataVolume(file.size, 3)
|
||||
}
|
||||
|
||||
|
@@ -7,19 +7,37 @@ function FileViewer(viewer, file, next) {
|
||||
this.container.classList = "image-container"
|
||||
this.container.appendChild(document.createElement("br"))
|
||||
|
||||
this.title = document.createElement("h1")
|
||||
this.title.innerText = "You are viewing a file on pixeldrain"
|
||||
this.container.appendChild(this.title)
|
||||
|
||||
this.icon = document.createElement("img")
|
||||
this.icon.style.display = "inline-block"
|
||||
this.icon.style.verticalAlign = "middle"
|
||||
this.icon.src = this.file.icon_href
|
||||
this.container.appendChild(this.icon)
|
||||
|
||||
this.container.appendChild(document.createElement("br"))
|
||||
this.container.appendChild(document.createTextNode(file.name))
|
||||
this.container.appendChild(document.createElement("br"))
|
||||
this.container.appendChild(document.createTextNode("Type: "+file.mime_type))
|
||||
this.container.appendChild(document.createElement("br"))
|
||||
this.container.appendChild(document.createElement("br"))
|
||||
this.container.appendChild(document.createTextNode(
|
||||
"Press the 'Download' button in the menu to download this file"
|
||||
this.fileDetails = document.createElement("div")
|
||||
this.fileDetails.style.display = "inline-block"
|
||||
this.fileDetails.style.textAlign = "left"
|
||||
this.fileDetails.style.paddingLeft = "8px"
|
||||
this.fileDetails.style.verticalAlign = "middle"
|
||||
|
||||
this.fileDetails.appendChild(document.createTextNode("Name: "+file.name))
|
||||
this.fileDetails.appendChild(document.createElement("br"))
|
||||
this.fileDetails.appendChild(document.createTextNode("Type: "+file.mime_type))
|
||||
this.fileDetails.appendChild(document.createElement("br"))
|
||||
this.fileDetails.appendChild(document.createTextNode(
|
||||
"No preview is available for this file type. Download to view it locally"
|
||||
))
|
||||
this.fileDetails.appendChild(document.createElement("br"))
|
||||
|
||||
this.btnDL = document.getElementById("btn_download").cloneNode(true)
|
||||
this.btnDL.addEventListener("click", () => { viewer.toolbar.download() })
|
||||
this.btnDL.classList = "button_highlight"
|
||||
this.fileDetails.appendChild(this.btnDL)
|
||||
|
||||
this.container.appendChild(this.fileDetails)
|
||||
}
|
||||
|
||||
FileViewer.prototype.render = function(parent) {
|
||||
|
Reference in New Issue
Block a user