clean up & insert new file in the correct place
This commit is contained in:
parent
cbbbd8e338
commit
047c1046c2
46
main.js
46
main.js
@ -70,7 +70,9 @@
|
|||||||
this.content = columns[1].innerHTML
|
this.content = columns[1].innerHTML
|
||||||
.replaceAll("<br>", "")
|
.replaceAll("<br>", "")
|
||||||
.replaceAll(/\s*Перейти к легенде.*$/gs, "")
|
.replaceAll(/\s*Перейти к легенде.*$/gs, "")
|
||||||
.replaceAll("общие (\"c\")", "")
|
.replaceAll(`общие ("c")`, "")
|
||||||
|
.replaceAll(`("l")`, "")
|
||||||
|
.replaceAll(`("h")`, "")
|
||||||
.replaceAll("Получить координаты КП из картинки", "")
|
.replaceAll("Получить координаты КП из картинки", "")
|
||||||
.trim()
|
.trim()
|
||||||
}
|
}
|
||||||
@ -371,6 +373,18 @@
|
|||||||
return el
|
return el
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getAttachmentIndex(input) {
|
||||||
|
return input.name.replace(/\D/g, '')
|
||||||
|
}
|
||||||
|
|
||||||
|
function getContainersByVariant(variant, attachmentIndex) {
|
||||||
|
let from = variant == "l" ? "history" : "legend"
|
||||||
|
let to = variant == "l" ? "legend" : "history"
|
||||||
|
let type = attachmentIndex == 1 ? "photo" : "files"
|
||||||
|
|
||||||
|
return [document.querySelector(`.${from}-${type}-container`), document.querySelector(`.${to}-${type}-container`)]
|
||||||
|
}
|
||||||
|
|
||||||
function makeHandleFilesFunc() {
|
function makeHandleFilesFunc() {
|
||||||
let storedFiles = []
|
let storedFiles = []
|
||||||
|
|
||||||
@ -388,7 +402,17 @@
|
|||||||
const file = this.files[i]
|
const file = this.files[i]
|
||||||
dt.items.add(file)
|
dt.items.add(file)
|
||||||
|
|
||||||
let fileListContainer = this.parentElement.parentElement.querySelector(".file-list-container")
|
let variant = this.parentElement.querySelector('input[type="radio"]:checked')?.value
|
||||||
|
let fileListContainer
|
||||||
|
|
||||||
|
if (variant) {
|
||||||
|
let [_, filesContainer] = getContainersByVariant(variant, getAttachmentIndex(this))
|
||||||
|
fileListContainer = filesContainer.querySelector(".file-list-container")
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fileListContainer = this.parentElement.parentElement.querySelector(".file-list-container")
|
||||||
|
}
|
||||||
|
|
||||||
let fileContainer = document.createElement("div")
|
let fileContainer = document.createElement("div")
|
||||||
fileContainer.classList.add("file-container", "file-container-new")
|
fileContainer.classList.add("file-container", "file-container-new")
|
||||||
|
|
||||||
@ -412,7 +436,7 @@
|
|||||||
deleteButton.textContent = "x"
|
deleteButton.textContent = "x"
|
||||||
deleteButton.type = "button"
|
deleteButton.type = "button"
|
||||||
deleteButton.addEventListener("click", e => {
|
deleteButton.addEventListener("click", e => {
|
||||||
let index = [...fileListContainer.children].indexOf(fileContainer)
|
let index = [...fileContainer.parentElement.children].indexOf(fileContainer)
|
||||||
|
|
||||||
if (!confirm("Точно?")) return
|
if (!confirm("Точно?")) return
|
||||||
|
|
||||||
@ -425,7 +449,7 @@
|
|||||||
rdt.items.remove(index)
|
rdt.items.remove(index)
|
||||||
this.files = rdt.files
|
this.files = rdt.files
|
||||||
|
|
||||||
fileListContainer.removeChild(fileContainer)
|
fileContainer.parentElement.removeChild(fileContainer)
|
||||||
})
|
})
|
||||||
fileButtonsContainer.appendChild(deleteButton)
|
fileButtonsContainer.appendChild(deleteButton)
|
||||||
|
|
||||||
@ -550,14 +574,12 @@
|
|||||||
|
|
||||||
function moveNewFilesOnVariantChange() {
|
function moveNewFilesOnVariantChange() {
|
||||||
document.querySelectorAll(`input[name^="new_file_type"]`).forEach(el => el.addEventListener("change", function() {
|
document.querySelectorAll(`input[name^="new_file_type"]`).forEach(el => el.addEventListener("change", function() {
|
||||||
let attachmentIndex = this.name.replace(/\D/g,'')
|
let attachmentIndex = getAttachmentIndex(this)
|
||||||
|
|
||||||
let from = this.value == "l" ? "history" : "legend"
|
let [from, to] = getContainersByVariant(this.value, attachmentIndex)
|
||||||
let to = this.value == "l" ? "legend" : "history"
|
let newFiles = [...from.querySelectorAll(`.file-container-new`)]
|
||||||
let type = attachmentIndex == 1 ? "photo" : "files"
|
|
||||||
let newFiles = [...document.querySelectorAll(`.${from}-${type}-container .file-container-new`)]
|
|
||||||
for (const newFile of newFiles) {
|
for (const newFile of newFiles) {
|
||||||
document.querySelector(`.${to}-${type}-container .file-list-container`).appendChild(newFile)
|
to.querySelector(`.file-list-container`).appendChild(newFile)
|
||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
@ -899,6 +921,10 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input[type=radio] {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
input[type="file"] {
|
input[type="file"] {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user