Vorlage:SH
Aus BogenWiki
(Unterschied zwischen Versionen)
Nugman (Diskussion | Beiträge) |
Nugman (Diskussion | Beiträge) |
||
| Zeile 22: | Zeile 22: | ||
eSHElem.style.display = 'none'; | eSHElem.style.display = 'none'; | ||
eSHButton.src = '/bogenwiki/images/Symbol_'+sFNShowImg+'.png'; | eSHButton.src = '/bogenwiki/images/Symbol_'+sFNShowImg+'.png'; | ||
| + | } | ||
| + | } | ||
| + | function CountSHBD(sSHID) | ||
| + | { | ||
| + | console.log('CountSHBD('+SHID+')'); | ||
| + | sNodeSel = 'tr[id^=SH-objrow-'+SHID+']'; | ||
| + | console.log('[CountSHBD()]: NodeSel="'+sNodeSel+'"'); | ||
| + | aNodes = document.querySelectorAll(sNodeSel); | ||
| + | console.log('[CountSHBD()]: Nodes[].length='+aNodes.length); | ||
| + | nRowsShown = 0; | ||
| + | nRowsHidden = 0; | ||
| + | for (var i = 0; i < aNodes.length; i++) { | ||
| + | console.log('[CountSHBD()]: Node='+aNodes[i].id+', '+aNodes[i].style.display); | ||
| + | nRowsShown = (aNodes[i].style.display=='table-row' ? nRowsShown+1 : nRowsShown); | ||
| + | nRowsHidden = (aNodes[i].style.display=='none' ? nRowsHidden+1 : nRowsHidden); | ||
| + | } | ||
| + | return [nRowsShown, nRowsHidden]; | ||
| + | } | ||
| + | function ShowHideBD(sSHID,sCmd) | ||
| + | { | ||
| + | console.log('ShowHideBD('+sSHID+','+sCmd+')'); | ||
| + | switch (sCmd) { | ||
| + | case 'init': | ||
| + | break; | ||
| + | case 'showall': | ||
| + | break; | ||
| + | case 'showallavail': | ||
| + | break; | ||
| + | case 'showgroup': | ||
| + | break; | ||
| + | case 'showgroupavail': | ||
| + | break; | ||
| + | case 'hideall': | ||
| + | break; | ||
| + | case 'hidegroup': | ||
| + | break; | ||
| + | case 'toggleall': | ||
| + | // determine current state and new state | ||
| + | [nRowsShown, nRowsHidden] = CountSHBD(sSHID); | ||
| + | // nRowsShown == 0, nRowsHidden > 0: hideall => showallavail | ||
| + | // nRowsShown > 0, nRowsHidden > 0: showallavail => showall | ||
| + | // nRowsShown > 0, nRowsHidden == 0: showall => hideall | ||
| + | sToggleTo = 'showallavail'; | ||
| + | if (nRowsShown > 0) | ||
| + | if (nRowsHidden > 0) | ||
| + | sToggleTo ='showall' | ||
| + | else | ||
| + | sToggleTo ='hideall'; | ||
| + | } | ||
| + | // show/hide rows | ||
| + | sNodeSel = 'tr[id^=SH-objrow-'+SHID+']'; | ||
| + | aNodes = document.querySelectorAll(sNodeSel); | ||
| + | console.log('[ShowHideBD()]: Nodes[].length='+aNodes.length); | ||
| + | for (var i = 0; i < aNodes.length; i++) { | ||
| + | console.log('[ShowHideBD()]: Node='+aNodes[i].id+', '+aNodes[i].style.display); | ||
| + | switch (sToggleTo) { | ||
| + | case 'showall': aNodes[i].style.display = 'tablew-row'; | ||
| + | case 'showallavail': aNodes[i].style.display = (aNodes[i].id.split('-')[1] == 'objrow' ? 'tablew-row' : 'none'); | ||
| + | case 'hideall': aNodes[i].style.display = 'none'; | ||
| + | } | ||
| + | } | ||
| + | // update button | ||
| + | sNewImage = '???'; | ||
| + | sNewTitle = '???'; | ||
| + | switch (sToggleTo) { | ||
| + | case 'showall': sNewImage = 'ShowMixedT'; sNewTitle = 'Alle vorhandenen anzeigen'; break; | ||
| + | case 'showallavail': sNewImage = 'HideT'; sNewTitle = 'Alle verbergen'; break; | ||
| + | case 'hideall': sNewImage = 'ShowT'; sNewTitle = 'Alle anzeigen'; break; | ||
| + | } | ||
| + | console.log('[ShowHideBD()]: sNewImage='+sNewImage+', sNewTitle="'+sNewTitle+'"'); | ||
| + | eHeaderBtn = document.getElementById('SH-headrbtn-'+sSHID); | ||
| + | eHeaderBtn.src = '/bogenwiki/images/Symbol_'+sNewImage+'.png'; | ||
| + | eHeaderBtn.title = sNewTitle; | ||
| + | break; | ||
| + | case 'togglegroup': | ||
| + | [nRowsShown, nRowsHidden] = CountSHBD(sSHID); | ||
| + | break; | ||
} | } | ||
} | } | ||
Version vom 20:19, 1. Okt. 2026
Zeigen/Verbergen:
dies ist ein Test ...
dies ist ein Test ...
dies ist ein Test ...
dies ist ein Test ...
