Add QR code to file viewer

This commit is contained in:
2021-07-26 19:48:56 +02:00
parent c07ae47e8e
commit ae9f98dcba
3 changed files with 42 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
function QRCodeWindow(viewer) {
this.viewer = viewer
this.visible = false
this.modal = new Modal(
document.getElementById("file_viewer"),
() => { this.toggle() },
"QR code", "500px", "auto",
)
this.img = document.createElement("img")
this.img.style.display = "block"
this.img.style.width = "100%"
this.modal.setBody(this.img)
this.btnQRCode = document.getElementById("btn_qr_code")
this.btnQRCode.addEventListener("click", () => { this.toggle() })
this.setFile()
}
QRCodeWindow.prototype.toggle = function () {
if (this.visible) {
this.modal.close()
this.btnQRCode.classList.remove("button_highlight")
this.visible = false
} else {
this.modal.open()
this.btnQRCode.classList.add("button_highlight")
this.visible = true
}
}
QRCodeWindow.prototype.setFile = function () {
this.img.src = "/api/misc/qr?text=" + encodeURIComponent(window.location.href)
}

View File

@@ -17,6 +17,7 @@ function Viewer(type, viewToken, data) {
this.toolbar = new Toolbar(this)
this.detailsWindow = new DetailsWindow(this)
this.editWindow = new EditWindow()
this.qrCodeWindow = new QRCodeWindow(this)
this.divFilepreview = document.getElementById("filepreview")
@@ -117,6 +118,7 @@ Viewer.prototype.setFile = function (file) {
this.detailsWindow.setFile(file)
this.editWindow.setFile(file)
this.toolbar.setFile(file)
this.qrCodeWindow.setFile()
// Register a new view. We don't care what this returns becasue we can't
// do anything about it anyway