From 393e433b4f61552b91ab17c3a66e13ad282621a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Tue, 28 Jul 2026 11:31:45 +0400 Subject: [PATCH] =?UTF-8?q?v1.1.2:=20UI=20=E2=80=94=20params=20inline,=20n?= =?UTF-8?q?o=20header,=20create=20button=20below=20list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- site/app.py | 2 +- site/static/app.js | 12 ++++-------- site/templates/index.html | 16 ++++++++++------ 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/site/app.py b/site/app.py index e959724..f5bf12c 100644 --- a/site/app.py +++ b/site/app.py @@ -18,7 +18,7 @@ from routes.api import bp as api_bp from routes.api_test import bp as api_test_bp # Версия — меняется при КАЖДОМ изменении кода. Показывается в топбаре UI. -VERSION = "1.1.1" +VERSION = "1.1.2" app = Flask(__name__, template_folder="templates", static_folder="static") app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc") diff --git a/site/static/app.js b/site/static/app.js index de247cf..d648dfd 100644 --- a/site/static/app.js +++ b/site/static/app.js @@ -35,7 +35,7 @@ selectService(currentSvcId); async function selectService(svcId){ currentSvcId=svcId; selectedInst=null; selectedOp=null; stopPoll(); - document.getElementById('params-card').style.display='none'; + document.getElementById('params-area').style.display='none'; document.getElementById('stages-box').style.display='none'; // Подсветить активный сервис в боковой панели document.querySelectorAll('.svc-item').forEach(e=>e.classList.remove('active')); @@ -56,8 +56,6 @@ async function selectService(svcId){ `; html+=`
`; }); - html+=`
- + Создать новый инстанс
`; document.getElementById('inst-list').innerHTML=html; } @@ -65,7 +63,7 @@ async function selectService(svcId){ async function toggleInstance(iuid){ selectedInst=iuid; stopPoll(); document.querySelectorAll('[data-iuid]').forEach(e=>e.classList.toggle('active',e.dataset.iuid===iuid)); - document.getElementById('params-card').style.display='none'; + document.getElementById('params-area').style.display='none'; const opsEl=document.getElementById('ops-'+iuid); if(opsEl.classList.contains('open')){opsEl.classList.remove('open');return;} @@ -130,7 +128,7 @@ function findInstName(){ function showParams(opId,opName){ selectedOp={opId,opName,svcId:currentSvcId}; - document.getElementById('params-card').style.display='block'; + document.getElementById('params-area').style.display='block'; document.getElementById('stages-box').style.display='none'; document.getElementById('test-status').textContent=''; @@ -235,7 +233,7 @@ async function executeOp(params){ const displayNameInput=document.getElementById('param-displayname'); const displayNameSuffix=(displayNameInput?.value||'').trim(); const displayName=isCreate ? `${AUTOTEST_PREFIX}${displayNameSuffix || makeCreateDisplayName()}` : findInstName(); - document.getElementById('params-card').style.display='block'; + document.getElementById('params-area').style.display='block'; document.getElementById('params-form').innerHTML=''; const btn=document.getElementById('btn-test'); btn.style.display='inline-flex'; @@ -308,8 +306,6 @@ async function refreshInstances(){ `; html+=`
`; }); - html+=`
- + Создать новый инстанс
`; document.getElementById('inst-list').innerHTML=html; } diff --git a/site/templates/index.html b/site/templates/index.html index 5e0c731..bafb8f2 100644 --- a/site/templates/index.html +++ b/site/templates/index.html @@ -110,15 +110,19 @@
Загрузка...
+
+
+ + Создать новый инстанс +
+
-