Vorlage:SH
Aus BogenWiki
(Unterschied zwischen Versionen)
Nugman (Diskussion | Beiträge) |
Nugman (Diskussion | Beiträge) |
||
| (Der Versionsvergleich bezieht 5 dazwischenliegende Versionen mit ein.) | |||
| Zeile 26: | Zeile 26: | ||
function CountSHBD(sSHID) | function CountSHBD(sSHID) | ||
{ | { | ||
| + | // Count the rows in a BD table: | ||
| + | // - Amount of rows that are shown (visible in UI, display=table-row and and Bg!=-) | ||
| + | // - Amount of rows that contain an abject (Bg!=. and Bg!=-) | ||
| + | // - Total amount of rows (Bg!=-) | ||
console.log('CountSHBD('+sSHID+')'); | console.log('CountSHBD('+sSHID+')'); | ||
let nRowsShown = 0; | let nRowsShown = 0; | ||
| Zeile 60: | Zeile 64: | ||
let sNewTitle = '???'; | let sNewTitle = '???'; | ||
switch (sState) { | switch (sState) { | ||
| - | case 'hideall': sNewImage = 'HideT'; | + | case 'hideall': sNewImage = 'HideT'; sNewTitle = 'Alle verbergen'; break; |
| - | case 'showall': sNewImage = 'ShowT'; | + | case 'showall': sNewImage = 'ShowT'; sNewTitle = 'Alle anzeigen'; break; |
| - | case 'showavail': sNewImage = ' | + | case 'showavail': sNewImage = 'ShowMixedTa'; sNewTitle = 'Alle vorhandenen anzeigen'; break; |
} | } | ||
console.log('[SetBtnStateSHBD()]: sNewImage='+sNewImage+', sNewTitle="'+sNewTitle+'"'); | console.log('[SetBtnStateSHBD()]: sNewImage='+sNewImage+', sNewTitle="'+sNewTitle+'"'); | ||
| Zeile 98: | Zeile 102: | ||
if (nRowsShown == 0) { | if (nRowsShown == 0) { | ||
sActState = 'hideall'; | sActState = 'hideall'; | ||
| - | sNewState = (nRowsAvail > 0 ? (nRowsAvail < nRowsTotal ? ' | + | sNewState = (nRowsAvail > 0 ? (nRowsAvail < nRowsTotal ? 'showavail' : 'showall') : 'showall'); |
} else { | } else { | ||
| - | sActState = (nRowsAvail > 0 ? (nRowsAvail < nRowsTotal ? ' | + | sActState = (nRowsAvail > 0 ? (nRowsAvail < nRowsTotal ? 'showavail' : 'showall') : 'showall'); |
| - | sNewState = 'hideall'; | + | sNewState = (nRowsShown < nRowsTotal ? 'showall' : 'hideall'); |
} | } | ||
console.log('[GetActAndNewStateSHBD()]: sActState='+sActState+', sNewState="'+sNewState+'"'); | console.log('[GetActAndNewStateSHBD()]: sActState='+sActState+', sNewState="'+sNewState+'"'); | ||
| Zeile 110: | Zeile 114: | ||
console.log('ShowHideBD('+sSHID+','+sCmd+')'); | console.log('ShowHideBD('+sSHID+','+sCmd+')'); | ||
let aNodesAll = []; | let aNodesAll = []; | ||
| + | let aNodesGroup = []; | ||
let sActState = ''; | let sActState = ''; | ||
let sNewState = ''; | let sNewState = ''; | ||
| Zeile 116: | Zeile 121: | ||
break; | break; | ||
case 'showall': | case 'showall': | ||
| - | + | case 'showavail': | |
| - | case ' | + | |
| - | + | ||
case 'hideall': | case 'hideall': | ||
| + | // update rows to the desired state | ||
| + | aNodesAll = AddNodesSHBD('tr[id^=SH-objrow-'+sSHID+']') | ||
| + | aNodesAll = AddNodesSHBD('tr[id^=SH-emptyrow-'+sSHID+']',aNodesAll) | ||
| + | // update display state of the rows | ||
| + | for (let i = 0; i < aNodesAll.length; i++) | ||
| + | SetRowStateSHBD(aNodesAll[i].id,sCmd); | ||
| + | // update header button | ||
| + | [sActState,sNewState] = GetActAndNewStateSHBD(sSHID) | ||
| + | SetBtnStateSHBD('SH-headbtn-'+sSHID,sNewState); | ||
| + | // update group buttons | ||
| + | aNodesGroup = AddNodesSHBD('tr[id^=SH-divrow-'+sSHID+']'); | ||
| + | for (var i = 0; i < aNodesGroup.length; i++) { | ||
| + | let sSHGroupID = aNodesGroup[i].id.split('-')[2]; | ||
| + | let [sGroupActState,sGroupNewState] = GetActAndNewStateSHBD(sSHGroupID) | ||
| + | SetBtnStateSHBD('SH-divbtn-'+sSHGroupID,sGroupNewState); | ||
| + | } | ||
break; | break; | ||
case 'showgroup': | case 'showgroup': | ||
| - | |||
case 'showgroupavail': | case 'showgroupavail': | ||
| - | |||
case 'hidegroup': | case 'hidegroup': | ||
| + | // update rows to the desired state | ||
| + | aNodesAll = AddNodesSHBD('tr[id^=SH-objrow-'+sSHID+']') | ||
| + | aNodesAll = AddNodesSHBD('tr[id^=SH-emptyrow-'+sSHID+']',aNodesAll) | ||
| + | // update display state of the rows | ||
| + | for (let i = 0; i < aNodesAll.length; i++) { | ||
| + | SetRowStateSHBD(aNodesAll[i].id,(sCmd=='showgroup' ? 'show' : (sCmd=='showgroupavail' ? 'showavail' : 'hide'))); | ||
| + | } | ||
| + | [sActState,sNewState] = GetActAndNewStateSHBD(sSHID) | ||
| + | SetBtnStateSHBD('SH-divbtn-'+sSHID,sNewState); | ||
break; | break; | ||
case 'toggleall': | case 'toggleall': | ||
| Zeile 140: | Zeile 166: | ||
SetBtnStateSHBD('SH-headbtn-'+sSHID,sNewState); | SetBtnStateSHBD('SH-headbtn-'+sSHID,sNewState); | ||
// update group buttons | // update group buttons | ||
| - | + | aNodesGroup = AddNodesSHBD('tr[id^=SH-divrow-'+sSHID+']'); | |
for (var i = 0; i < aNodesGroup.length; i++) { | for (var i = 0; i < aNodesGroup.length; i++) { | ||
let sSHGroupID = aNodesGroup[i].id.split('-')[2]; | let sSHGroupID = aNodesGroup[i].id.split('-')[2]; | ||
| Zeile 156: | Zeile 182: | ||
SetRowStateSHBD(aNodesAll[i].id,sNewState); | SetRowStateSHBD(aNodesAll[i].id,sNewState); | ||
} | } | ||
| + | [sActState,sNewState] = GetActAndNewStateSHBD(sSHID) | ||
SetBtnStateSHBD('SH-divbtn-'+sSHID,sNewState); | SetBtnStateSHBD('SH-divbtn-'+sSHID,sNewState); | ||
| - | |||
break; | break; | ||
} | } | ||
Aktuelle Version vom 10:39, 5. Okt. 2026
Zeigen/Verbergen:
dies ist ein Test ...
dies ist ein Test ...
dies ist ein Test ...
dies ist ein Test ...
