From 3958a610f9fb845946fd804d7c7848f4c5a5ac10 Mon Sep 17 00:00:00 2001 From: Zhora Shalyapin Date: Thu, 20 Mar 2025 14:27:18 +0000 Subject: [PATCH] make function local --- main.js | 304 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 154 insertions(+), 150 deletions(-) diff --git a/main.js b/main.js index 409276e..1af42d0 100644 --- a/main.js +++ b/main.js @@ -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) {