use common function

This commit is contained in:
Zhora Shalyapin 2025-03-26 10:34:54 +00:00
parent 3f6daf97eb
commit 3746131d1f

73
main.js
View File

@ -348,7 +348,7 @@
return `https://${adminSite}/competitions/${getCompetition()}/relations`
}
function createPseudoButton(button, callback) {
function createPseudoButton(button, callback, clickAfter = true) {
let pseudoButton = Tag.button({
type: "button",
textContent: button.value,
@ -356,7 +356,9 @@
on: {
click: async () => {
await callback()
button.click()
if (clickAfter) {
button.click()
}
}
}
})
@ -968,7 +970,7 @@
})
}
async function sendForm(onSend) {
async function sendForm() {
let formData = new FormData(document.querySelector("form"))
let fileInputNames = Object.values(fileInputs).reduce((res, el) => typeof el == "string" ? [...res, el] : [...res, ...Object.values(el)], [])
@ -1007,9 +1009,6 @@
catch (e) {
console.log(e)
}
finally {
onSend()
}
}
function createSaveAndNewButton() {
@ -1018,18 +1017,18 @@
type: "button",
classes: "safe-action",
on: {
click: () => {
sendForm(() => {
let cpNumber = document.querySelector(`input[name="cp[number]"]`).value
let lattitude = document.querySelector(`input[name="cp[lattitude]"]`).value
let longitude = document.querySelector(`input[name="cp[longitude]"]`).value
click: async () => {
await sendForm()
localStorage.setItem(localStorageItems.JUST_CREATED, cpNumber)
localStorage.setItem(localStorageItems.LATTITUDE, lattitude)
localStorage.setItem(localStorageItems.LONGITUDE, longitude)
let cpNumber = document.querySelector(`input[name="cp[number]"]`).value
let lattitude = document.querySelector(`input[name="cp[lattitude]"]`).value
let longitude = document.querySelector(`input[name="cp[longitude]"]`).value
document.querySelector(`input[name="save_go"]`).click()
})
localStorage.setItem(localStorageItems.JUST_CREATED, cpNumber)
localStorage.setItem(localStorageItems.LATTITUDE, lattitude)
localStorage.setItem(localStorageItems.LONGITUDE, longitude)
document.querySelector(`input[name="save_go"]`).click()
}
}
})
@ -1043,30 +1042,20 @@
let saveAndStayButtons = document.querySelectorAll(`input[name="save_go"]`)
let saveAndExitButtons = document.querySelectorAll(`input[name="save_exit"]`)
let saveButtons = [...saveAndStayButtons, ...saveAndExitButtons]
let cpIsKnown = document.querySelector(`input[name="cp[id]"]`).value != ''
for (let saveButton of saveButtons) {
let pseudoSaveButton = Tag.button({
type: "button",
textContent: saveButton.value,
classes: "safe-action pseudo-save",
on: {
click: async () => await sendForm(() => {
if (document.querySelector(`input[name="cp[id]"]`).value != '') {
saveButton.click()
return
}
createPseudoButton(saveButton, async () => {
await sendForm()
if (saveButton.name == "save_exit") {
localStorage.setItem(localStorageItems.REDIRECT_EXIT, true)
}
if (cpIsKnown) return
saveAndStayButtons[0].click()
})
if (saveButton.name == "save_exit") {
localStorage.setItem(localStorageItems.REDIRECT_EXIT, true)
}
})
saveButton.style.display = "none"
saveButton.parentElement.insertBefore(pseudoSaveButton, saveButton)
saveAndStayButtons[0].click()
}, cpIsKnown)
}
saveAndStayButtons.forEach(el => el.after(createSaveAndNewButton()))
@ -1346,21 +1335,7 @@
}
function bindDeleteButton() {
let deleteButton = document.querySelector(`input[name="delete_go"]`)
let pseudoDeleteButton = Tag.button({
type: "button",
textContent: deleteButton.value,
classes: "unsafe-action pseudo-save",
on: {
click: async () => {
await deletePoint()
deleteButton.click()
}
}
})
deleteButton.style.display = "none"
deleteButton.parentElement.insertBefore(pseudoDeleteButton, deleteButton)
createPseudoButton(document.querySelector(`input[name="delete_go"]`), deletePoint)
}
function makeTopAndBottomButtons(rows, form, oldTable, container, insertedFileRows) {