use common function
This commit is contained in:
parent
3f6daf97eb
commit
3746131d1f
73
main.js
73
main.js
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user