From f04ec9ff56104c8768460d014dc0ecd94d927844 Mon Sep 17 00:00:00 2001 From: Musselman Date: Wed, 29 Nov 2023 17:25:58 -0600 Subject: [PATCH] Move File List Javascript to seperate file --- static/build/list.js | 77 +++++++++++++++++++++++++++++++++++++ templates/list.html | 91 ++------------------------------------------ 2 files changed, 80 insertions(+), 88 deletions(-) create mode 100644 static/build/list.js diff --git a/static/build/list.js b/static/build/list.js new file mode 100644 index 0000000..c7b436d --- /dev/null +++ b/static/build/list.js @@ -0,0 +1,77 @@ + // Function to convert Unix timestamps to local time + function convertUnixTimeToLocalTime(unixTime, element) { + const date = new Date(unixTime * 1000); + element.textContent = date.toLocaleString(); + } + + // Call the function for each timestamp on page load + window.onload = function () { + const creationTimeElements = document.querySelectorAll('.creation-time'); + const lastEditedTimeElements = document.querySelectorAll('.last-edited-time'); + + creationTimeElements.forEach(element => { + const unixTime = parseInt(element.getAttribute('data-unix')); + convertUnixTimeToLocalTime(unixTime, element); + }); + + lastEditedTimeElements.forEach(element => { + const unixTime = parseInt(element.getAttribute('data-unix')); + convertUnixTimeToLocalTime(unixTime, element); + }); + }; + + const deleteForm = document.getElementById("deleteForm"); + const checkAllButton = document.getElementById("checkAll"); + const checkboxes = document.querySelectorAll('input[type="checkbox"]'); + checkAllButton.addEventListener("click", function () { + checkboxes.forEach(checkbox => { + checkbox.checked = true; + }); + }); + + deleteForm.addEventListener("submit", function (event) { + event.preventDefault(); // Stop form submission + + // Get all checkboxes in the delete form + const checkboxes = deleteForm.querySelectorAll('input[type="checkbox"]'); + const filesToDelete = []; + + // Get the filenames of the selected files + checkboxes.forEach(checkbox => { + if (checkbox.checked) { + filesToDelete.push(checkbox.value); + } + }); + + // Call the deleteFiles function to send the request to the server + deleteFiles(filesToDelete); + }); + + + function deleteFiles(filesToDelete) { + // Send a POST request to the server to delete the selected files + fetch("/delete", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ files: filesToDelete }), + }) + .then(response => { + if (response.ok) { + // Files deleted successfully + location.reload(); // Refresh the page to reflect the changes + } else { + // Handle the error, e.g., display an error message + console.error("Error deleting files"); + } + }) + .catch(error => { + console.error("Error deleting files:", error); + }); + } + // Handle exportFolder button click + const exportFolderButton = document.getElementById("exportFolder"); + exportFolderButton.addEventListener("click", function () { + window.location.href = "/export"; + }); \ No newline at end of file diff --git a/templates/list.html b/templates/list.html index 3b625d5..67f73f5 100644 --- a/templates/list.html +++ b/templates/list.html @@ -5,37 +5,14 @@ List Files - + +

Welcome, {{.Username}}!

- - +
Invalid Date @@ -146,67 +123,5 @@
- - - - - - \ No newline at end of file