From 72bd9108ca0ed2458ff450a2f411b62512634aad Mon Sep 17 00:00:00 2001 From: kalugin66 Date: Thu, 5 Mar 2026 11:48:44 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B4=D1=83=D0=B1=D0=BB=D1=8C=20=D1=82=D0=B0?= =?UTF-8?q?=D1=81=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/main.js | 69 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 55 insertions(+), 14 deletions(-) diff --git a/public/main.js b/public/main.js index 231b30e..c0e0bcd 100644 --- a/public/main.js +++ b/public/main.js @@ -24,26 +24,67 @@ document.addEventListener('DOMContentLoaded', function() { function setupEventListeners() { // Форма входа - document.getElementById('login-form').addEventListener('submit', login); - - // Формы задач - document.getElementById('create-task-form').addEventListener('submit', createTask); - document.getElementById('edit-task-form').addEventListener('submit', updateTask); - document.getElementById('copy-task-form').addEventListener('submit', copyTask); + const loginForm = document.getElementById('login-form'); + if (loginForm && !loginForm._hasSubmitListener) { + loginForm.addEventListener('submit', login); + loginForm._hasSubmitListener = true; + } + + // Форма создания задачи + const createForm = document.getElementById('create-task-form'); + if (createForm && !createForm._hasSubmitListener) { + createForm.addEventListener('submit', createTask); + createForm._hasSubmitListener = true; + } + + // Форма редактирования задачи + const editForm = document.getElementById('edit-task-form'); + if (editForm && !editForm._hasSubmitListener) { + editForm.addEventListener('submit', updateTask); + editForm._hasSubmitListener = true; + } + + // Форма копирования задачи + const copyForm = document.getElementById('copy-task-form'); + if (copyForm && !copyForm._hasSubmitListener) { + copyForm.addEventListener('submit', copyTask); + copyForm._hasSubmitListener = true; + } + + // Форма редактирования назначения + const editAssignmentForm = document.getElementById('edit-assignment-form'); + if (editAssignmentForm && !editAssignmentForm._hasSubmitListener) { + editAssignmentForm.addEventListener('submit', updateAssignment); + editAssignmentForm._hasSubmitListener = true; + } + + // Форма доработки + const reworkForm = document.getElementById('rework-task-form'); + if (reworkForm && !reworkForm._hasSubmitListener) { + reworkForm.addEventListener('submit', sendForRework); + reworkForm._hasSubmitListener = true; + } - document.getElementById('edit-assignment-form').addEventListener('submit', updateAssignment); - document.getElementById('rework-task-form').addEventListener('submit', sendForRework); - // Файлы - document.getElementById('files').addEventListener('change', updateFileList); - document.getElementById('edit-files').addEventListener('change', updateEditFileList); - + const filesInput = document.getElementById('files'); + if (filesInput && !filesInput._hasChangeListener) { + filesInput.addEventListener('change', updateFileList); + filesInput._hasChangeListener = true; + } + + const editFilesInput = document.getElementById('edit-files'); + if (editFilesInput && !editFilesInput._hasChangeListener) { + editFilesInput.addEventListener('change', updateEditFileList); + editFilesInput._hasChangeListener = true; + } + // Настройки уведомлений const notificationForm = document.getElementById('notification-settings-form'); - if (notificationForm) { + if (notificationForm && !notificationForm._hasSubmitListener) { notificationForm.addEventListener('submit', saveNotificationSettings); + notificationForm._hasSubmitListener = true; } - + // Инициализация загрузки файлов initializeFileUploads(); }