From 940db42b19d9116b7bf497790758a3ae3be586bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=90=D0=BD=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BF=D0=BE=D0=B2?= Date: Wed, 20 Aug 2025 20:29:10 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82?= =?UTF-8?q?=D1=83=D1=80=D0=B0=20DOM=20=D0=B4=D0=BB=D1=8F=20=D1=81=D0=B2?= =?UTF-8?q?=D0=BE=D1=80=D0=B0=D1=87=D0=B8=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=81=D0=B5=D0=BA=D1=86=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Контейнеры теперь добавляются внутрь соответствующих section-content div'ов - Локальные контейнеры добавляются в local-content - Удаленные контейнеры добавляются в host-{hostname}-content - Исправлена логика сворачивания секций - теперь контейнеры находятся внутри сворачиваемых блоков - Убраны лишние строки закрытия секций Теперь сворачивание секций работает корректно: ✅ Контейнеры находятся внутри своих секций ✅ Сворачивание секций работает правильно ✅ Структура DOM соответствует логике сворачивания Автор: Сергей Антропов Сайт: https://devops.org.ru --- app/static/js/index.js | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/app/static/js/index.js b/app/static/js/index.js index 9be2b9d..3659925 100644 --- a/app/static/js/index.js +++ b/app/static/js/index.js @@ -926,7 +926,14 @@ ${svc.status === 'running' && svc.host_port ? `Порт: ${svc.host_port}` : ''} } await switchToSingle(svc); }; - els.containerList.appendChild(item); + + // Добавляем контейнер внутрь секции локальных контейнеров + const localContent = document.getElementById('local-content'); + if (localContent) { + localContent.appendChild(item); + } else { + els.containerList.appendChild(item); + } }); } @@ -1040,23 +1047,30 @@ ${svc.last_modified ? `Обновлено: ${new Date(svc.last_modified * 1000). } await switchToSingle(svc); }; - els.containerList.appendChild(item); + + // Добавляем контейнер внутрь секции хоста + const hostContent = document.getElementById(`host-${hostname}-content`); + if (hostContent) { + hostContent.appendChild(item); + } else { + els.containerList.appendChild(item); + } }); - // Закрываем секцию хоста + // Устанавливаем отображение секции хоста const hostContent = document.getElementById(`host-${hostname}-content`); if (hostContent) { hostContent.style.display = 'block'; } }); - // Закрываем секцию удаленных контейнеров + // Устанавливаем отображение секции удаленных контейнеров const remoteContent = document.getElementById('remote-content'); if (remoteContent) { remoteContent.style.display = 'block'; } - // Закрываем секцию локальных контейнеров + // Устанавливаем отображение секции локальных контейнеров const localContent = document.getElementById('local-content'); if (localContent) { localContent.style.display = 'block';