aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/js/files.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/js/files.js')
-rw-r--r--src/main/resources/js/files.js31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/main/resources/js/files.js b/src/main/resources/js/files.js
index 8b8bd87..f776165 100644
--- a/src/main/resources/js/files.js
+++ b/src/main/resources/js/files.js
@@ -33,7 +33,8 @@ drop.addEventListener('drop', e => {
row.insertCell(0).innerHTML = file.name;
row.insertCell(1).innerHTML = bytesToSize(file.size);
row.insertCell(2).innerHTML = `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`;
- row.insertCell(3).innerHTML = "<td><button class='delete'><i class='icon ion-md-trash'></i></button></td>";
+ row.insertCell(3).innerHTML = "<td><button class='share'><i class='icon ion-md-share'></i></button></td>";
+ row.insertCell(4).innerHTML = "<td><button class='delete'><i class='icon ion-md-trash'></i></button></td>";
setListeners();
@@ -128,6 +129,34 @@ function setListeners() {
parent.remove();
})
});
+
+ // share button
+ document.querySelectorAll(".share").forEach(element => {
+ element.addEventListener("click", e => {
+ e.stopPropagation();
+ const request = new XMLHttpRequest();
+ const parent = e.target.closest("tr");
+ const fileName = parent.getAttribute("data-href") || parent.getAttribute("data-path");
+
+ request.open("POST", `/share/${path}/${fileName}`);
+ request.onload = () => {
+ if (request.readyState === 4) {
+ if (request.status === 200) {
+ const input = document.createElement('input');
+ input.setAttribute('value', request.responseText);
+ document.body.appendChild(input);
+ input.select();
+ document.execCommand('copy');
+ document.body.removeChild(input);
+ alert("Copied url to clipboard!")
+ } else {
+ alert("Something went wrong.");
+ }
+ }
+ };
+ request.send();
+ })
+ });
}
setListeners();