store files only locally
This commit is contained in:
parent
c33e506078
commit
47acab8944
20
main.js
20
main.js
@ -184,15 +184,14 @@
|
||||
return el
|
||||
}
|
||||
|
||||
function handleFiles() {
|
||||
function makeHandleFilesFunc() {
|
||||
let storedFiles = []
|
||||
|
||||
return function() {
|
||||
let dt = new DataTransfer()
|
||||
|
||||
let storageLabel = `files-${this.dataset.index}`
|
||||
|
||||
let storedFiles = sessionStorage.getItem(storageLabel)
|
||||
if (storedFiles) {
|
||||
let oldFiles = JSON.parse(sessionStorage.getItem(storageLabel))
|
||||
for (const oldFile of oldFiles) {
|
||||
if (storedFiles.length) {
|
||||
for (const oldFile of storedFiles) {
|
||||
let oldFileObj = dataURLtoFile(oldFile.data, oldFile.name)
|
||||
dt.items.add(oldFileObj)
|
||||
}
|
||||
@ -230,9 +229,7 @@
|
||||
|
||||
if (!confirm("Точно?")) return
|
||||
|
||||
let storedFiles = JSON.parse(sessionStorage.getItem(storageLabel)) ?? []
|
||||
storedFiles.splice(storedFiles.length - this.files.length + index, 1)
|
||||
sessionStorage.setItem(storageLabel, JSON.stringify(storedFiles))
|
||||
|
||||
let rdt = new DataTransfer()
|
||||
for (const file of this.files) {
|
||||
@ -255,15 +252,14 @@
|
||||
displayedFile.src = e.target.result
|
||||
downloadLink.setAttribute("href", displayedFile.src)
|
||||
|
||||
let storedFiles = JSON.parse(sessionStorage.getItem(storageLabel)) ?? []
|
||||
storedFiles.push({data: displayedFile.src, name: file.name})
|
||||
sessionStorage.setItem(storageLabel, JSON.stringify(storedFiles))
|
||||
}
|
||||
reader.readAsDataURL(file)
|
||||
}
|
||||
|
||||
this.files = dt.files
|
||||
}
|
||||
}
|
||||
|
||||
let prettifyFiles = (function() {
|
||||
var executed = false
|
||||
@ -285,7 +281,7 @@
|
||||
fileListContainer.classList.add("file-list-container")
|
||||
element.parentElement.parentElement.appendChild(fileListContainer)
|
||||
|
||||
element.addEventListener("change", handleFiles, false)
|
||||
element.addEventListener("change", makeHandleFilesFunc(), false)
|
||||
})
|
||||
|
||||
moveFileInputValues(insertedFileRows)
|
||||
|
Loading…
Reference in New Issue
Block a user