v1.1.10: real svc per instance, create header, required marks for nested

This commit is contained in:
2026-07-28 13:50:34 +04:00
parent d326b63aa2
commit da88fa6bd8
2 changed files with 9 additions and 5 deletions
+8 -4
View File
@@ -54,7 +54,7 @@ async function selectService(svcId){
const sc=status==='running'?'badge-success':'';
html+=`<div class="inst-item" onclick="toggleInstance('${i.instanceUid}')" data-iuid="${i.instanceUid}">
<span style="display:inline-block;width:220px;">${i.displayName}</span>
<span style="display:inline-block;width:160px;color:var(--muted);font-size:11px;">${currentSvcName}</span>
<span style="display:inline-block;width:160px;color:var(--muted);font-size:11px;">${i.svc||''}</span>
<span class="badge ${sc}" style="font-size:9px;">${status}</span>
</div>`;
html+=`<div class="inst-ops" id="ops-${i.instanceUid}"></div>`;
@@ -150,7 +150,8 @@ function showParams(opId,opName){
}
const form=document.getElementById('params-form');
const displayNameValue=isCreate?makeCreateDisplayName():'';
form.innerHTML=(opName==='create'?`<div class="param-row"><label class="req">displayName</label><span style="font-size:12px;color:var(--muted);white-space:nowrap;">${AUTOTEST_PREFIX}</span><input type="text" id="param-displayname" value="${_esc(displayNameValue)}" autocomplete="off"></div>`:'')
const createHeader=isCreate?`<div style="font-weight:600;font-size:13px;margin-bottom:8px;color:var(--brand-primary);">Создание: ${currentSvcName}</div>`:'';
form.innerHTML=createHeader+(opName==='create'?`<div class="param-row"><label class="req">displayName</label><span style="font-size:12px;color:var(--muted);white-space:nowrap;">${AUTOTEST_PREFIX}</span><input type="text" id="param-displayname" value="${_esc(displayNameValue)}" autocomplete="off"></div>`:'')
+ params.map(p=>{
const req=p.isRequired;
const hasDfl=p.defaultValue!==null&&p.defaultValue!==undefined&&p.defaultValue!=='';
@@ -179,6 +180,9 @@ function showParams(opId,opName){
const sub=dd[subKey];
const subDfl=dflObj[subKey]!==undefined?dflObj[subKey]:'';
const subVl=sub.valueList;
const subReq=sub.isRequired;
const subNoDfl=subReq&&!subDfl&&subDfl!==0&&subDfl!==false;
const subLblCls=subNoDfl?'req-nodfl':'';
let si;
if(subVl&&Array.isArray(subVl)){
si=`<select name="p_${p.svcOperationCfsParamId}.${subKey}" data-type="mapchild">${subVl.map(v=>`<option value="${_esc(v)}" ${v==subDfl?'selected':''}>${_esc(v)}</option>`).join('')}</select>`;
@@ -187,7 +191,7 @@ function showParams(opId,opName){
}else{
si=`<input type="text" name="p_${p.svcOperationCfsParamId}.${subKey}" value="${_esc(subDfl)}" data-type="mapchild">`;
}
subHtml+=`<div class="param-row"><label>${_esc(subKey)}</label>${si}</div>`;
subHtml+=`<div class="param-row"><label class="${subLblCls}">${_esc(subKey)}</label>${si}</div>`;
});
input=`<div style="border-left:2px solid var(--brand-gray);margin-left:8px;padding:0 0 4px 8px;">${subHtml}</div>`;
return `<div class="param-row"><label class="${labelCls}">${_esc(p.name)}</label></div>${input}`;
@@ -354,7 +358,7 @@ async function refreshInstances(){
const sc=status==='running'?'badge-success':'';
html+=`<div class="inst-item" onclick="toggleInstance('${i.instanceUid}')" data-iuid="${i.instanceUid}">
<span style="display:inline-block;width:220px;">${i.displayName}</span>
<span style="display:inline-block;width:160px;color:var(--muted);font-size:11px;">${currentSvcName}</span>
<span style="display:inline-block;width:160px;color:var(--muted);font-size:11px;">${i.svc||''}</span>
<span class="badge ${sc}" style="font-size:9px;">${status}</span>
</div>`;
html+=`<div class="inst-ops" id="ops-${i.instanceUid}"></div>`;