v1.1.2: UI — params inline, no header, create button below list

This commit is contained in:
2026-07-28 11:31:45 +04:00
parent 12e3d12e09
commit 393e433b4f
3 changed files with 15 additions and 15 deletions
+4 -8
View File
@@ -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){
</div>`;
html+=`<div class="inst-ops" id="ops-${i.instanceUid}"></div>`;
});
html+=`<div class="inst-item" style="margin-top:8px;border-top:1px solid var(--brand-gray);padding-top:8px;" onclick="startCreate()">
<span style="flex:1;color:var(--brand-primary);">+ Создать новый инстанс</span>
</div>`;
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(){
</div>`;
html+=`<div class="inst-ops" id="ops-${i.instanceUid}"></div>`;
});
html+=`<div class="inst-item" style="margin-top:8px;border-top:1px solid var(--brand-gray);padding-top:8px;" onclick="startCreate()">
<span style="flex:1;color:var(--brand-primary);">+ Создать новый инстанс</span>
</div>`;
document.getElementById('inst-list').innerHTML=html;
}