make function local

This commit is contained in:
Zhora Shalyapin 2025-03-20 14:27:18 +00:00
parent cf7a722429
commit 3958a610f9

304
main.js
View File

@ -1859,53 +1859,57 @@
}
}
function changeColumnWidthForRouteBuildPage() {
let styles = `
#content table table {
td:nth-child(2) {
width: 10%;
select {
width: 5em !important;
}
}
td:nth-child(3) {
width: 12%;
}
td:nth-child(4) {
width: 12%;
input {
width: 4em;
}
}
}
`
addStylesToHead(styles)
}
function hideDescriptionFromRouteBuildPage() {
document.querySelectorAll(`#content > form > table > tbody > tr:is(:nth-child(3), :nth-child(6)) `).forEach(el => el.remove())
}
function hideStartRowFromRouteBuildPage() {
document.querySelector(`#content table table tr:nth-child(2) `).remove()
}
function useColspanForFinishWarning() {
let rows = [...document.querySelectorAll(`#content > form > table > tbody > tr:nth-child(3) tr`)]
let finishRow = rows.find(el => el.querySelector(`td`)?.textContent.trim() == "Финиш маршрута")
finishRow.querySelectorAll(`td:not(:nth-child(2))`).forEach(el => el.remove())
finishRow.querySelector(`td`).colSpan = 4
}
function prettifyRouteBuildPage() {
changeColumnWidthForRouteBuildPage()
hideDescriptionFromRouteBuildPage()
hideStartRowFromRouteBuildPage()
function changeColumnWidth() {
let styles = `
#content table table {
td:nth-child(2) {
width: 10%;
select {
width: 5em !important;
}
}
td:nth-child(3) {
width: 12%;
}
td:nth-child(4) {
width: 12%;
input {
width: 4em;
}
}
}
`
addStylesToHead(styles)
}
function hideDescription() {
document.querySelectorAll(`#content > form > table > tbody > tr:is(:nth-child(3), :nth-child(6)) `).forEach(el => el.remove())
}
function hideStartRow() {
document.querySelector(`#content table table tr:nth-child(2) `).remove()
}
function getRows() {
return [...document.querySelectorAll(`#content > form > table > tbody > tr:nth-child(3) tr`)]
}
function useColspanForFinishWarning() {
let rows = getRows()
let finishRow = rows.find(el => el.querySelector(`td`)?.textContent.trim() == "Финиш маршрута")
finishRow.querySelectorAll(`td:not(:nth-child(2))`).forEach(el => el.remove())
finishRow.querySelector(`td`).colSpan = 4
}
changeColumnWidth()
hideDescription()
hideStartRow()
useColspanForFinishWarning()
}
@ -1924,111 +1928,111 @@
document.querySelector(`${select} option:last-child`).scrollIntoView()
}
function createPointsInpitForRouteEditPage() {
let addPointsContainer = document.createElement("div")
let pointInput = document.createElement("input")
pointInput.id = "add-point"
pointInput.type = "text"
pointInput.addEventListener("focus", () => {
pointInput.classList.remove("success", "error")
})
let addButton = document.createElement("button")
addButton.type = "button"
addButton.textContent = "Добавить"
addButton.id = "add-button"
addButton.addEventListener("click", () => {
let point = pointInput.value
if (point == "") return
let availablePoints = matchNumberFromSelect("#cps_avail")
let addedPoints = matchNumberFromSelect("#cps_in")
if (point in addedPoints) {
alert("Точка уже добавлена")
return
}
if (!(point in availablePoints)) {
alert("Точка не найдена")
return
}
unselectAll("#cps_avail")
let option = document.querySelector(`#cps_avail option[value="${availablePoints[point]}"]`)
option.selected = true
document.querySelector(`#cps_add`).click()
pointInput.classList.add("success")
pointInput.value = ""
option.selected = false
scrollSelectToBottom("#cps_in")
})
let removeButton = document.createElement("button")
removeButton.type = "button"
removeButton.textContent = "Убрать"
removeButton.addEventListener("click", () => {
let point = pointInput.value
if (point == "") return
let addedPoints = matchNumberFromSelect("#cps_in")
if (!(point in addedPoints)) return
unselectAll("#cps_in")
let option = document.querySelector(`#cps_in option[value="${addedPoints[point]}"]`)
option.selected = true
document.querySelector(`#cps_delete`).click()
pointInput.classList.add("error")
pointInput.value = ""
option.selected = false
scrollSelectToBottom("#cps_in")
})
addPointsContainer.append(addButton)
addPointsContainer.append(pointInput)
addPointsContainer.append(removeButton)
document.querySelector("table tr:nth-child(16) td").prepend(addPointsContainer)
addStylesToHead(`
#cps_in, #cps_avail {
height: 15em;
}
.success {
border-color: green;
}
.error {
border-color: red;
}
#add-point {
width: 5em;
}
#add-button {
margin-left: 420px;
}
`)
}
function makeTextareasOneRowInRouteEditPage() {
document.querySelectorAll(`textarea:is([name="track[comment_int]"], [name="track[comment_ext]"])`).forEach(el => {
el.rows = 1
})
}
function hideRedundantRowsInRouteEditPage() {
document.querySelectorAll(`table tr:is(:nth-child(3), :nth-child(4), :nth-child(5))`).forEach(el => el.classList.add("hidden"))
}
function prettifyRouteEditPage() {
makeTextareasOneRowInRouteEditPage()
hideRedundantRowsInRouteEditPage()
createPointsInpitForRouteEditPage()
function createPointsInpit() {
let addPointsContainer = document.createElement("div")
let pointInput = document.createElement("input")
pointInput.id = "add-point"
pointInput.type = "text"
pointInput.addEventListener("focus", () => {
pointInput.classList.remove("success", "error")
})
let addButton = document.createElement("button")
addButton.type = "button"
addButton.textContent = "Добавить"
addButton.id = "add-button"
addButton.addEventListener("click", () => {
let point = pointInput.value
if (point == "") return
let availablePoints = matchNumberFromSelect("#cps_avail")
let addedPoints = matchNumberFromSelect("#cps_in")
if (point in addedPoints) {
alert("Точка уже добавлена")
return
}
if (!(point in availablePoints)) {
alert("Точка не найдена")
return
}
unselectAll("#cps_avail")
let option = document.querySelector(`#cps_avail option[value="${availablePoints[point]}"]`)
option.selected = true
document.querySelector(`#cps_add`).click()
pointInput.classList.add("success")
pointInput.value = ""
option.selected = false
scrollSelectToBottom("#cps_in")
})
let removeButton = document.createElement("button")
removeButton.type = "button"
removeButton.textContent = "Убрать"
removeButton.addEventListener("click", () => {
let point = pointInput.value
if (point == "") return
let addedPoints = matchNumberFromSelect("#cps_in")
if (!(point in addedPoints)) return
unselectAll("#cps_in")
let option = document.querySelector(`#cps_in option[value="${addedPoints[point]}"]`)
option.selected = true
document.querySelector(`#cps_delete`).click()
pointInput.classList.add("error")
pointInput.value = ""
option.selected = false
scrollSelectToBottom("#cps_in")
})
addPointsContainer.append(addButton)
addPointsContainer.append(pointInput)
addPointsContainer.append(removeButton)
document.querySelector("table tr:nth-child(16) td").prepend(addPointsContainer)
addStylesToHead(`
#cps_in, #cps_avail {
height: 15em;
}
.success {
border-color: green;
}
.error {
border-color: red;
}
#add-point {
width: 5em;
}
#add-button {
margin-left: 420px;
}
`)
}
function makeTextareasOneRow() {
document.querySelectorAll(`textarea:is([name="track[comment_int]"], [name="track[comment_ext]"])`).forEach(el => {
el.rows = 1
})
}
function hideRedundantRows() {
document.querySelectorAll(`table tr:is(:nth-child(3), :nth-child(4), :nth-child(5))`).forEach(el => el.classList.add("hidden"))
}
makeTextareasOneRow()
hideRedundantRows()
createPointsInpit()
}
function toggleStagePageRows(rows) {