Persönliche Werkzeuge

Vorlage:SH

Aus BogenWiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 60: Zeile 60:
     let sNewTitle = '???';
     let sNewTitle = '???';
     switch (sState) {
     switch (sState) {
-
     case 'showall':     sNewImage = 'HideT';      sNewTitle = 'Alle verbergen'; break;
+
     case 'hideall':   sNewImage = 'HideT';      sNewTitle = 'Alle verbergen'; break;
-
     case 'showallavail': sNewImage = 'ShowT';      sNewTitle = 'Alle anzeigen'; break;
+
     case 'showall':   sNewImage = 'ShowT';      sNewTitle = 'Alle anzeigen'; break;
-
     case 'hideall':     sNewImage = 'ShowMixedT'; sNewTitle = 'Alle vorhandenen anzeigen'; break;
+
     case 'showavail': sNewImage = 'ShowMixedT'; sNewTitle = 'Alle vorhandenen anzeigen'; break;
     }
     }
     console.log('[SetBtnStateSHBD()]: sNewImage='+sNewImage+', sNewTitle="'+sNewTitle+'"');
     console.log('[SetBtnStateSHBD()]: sNewImage='+sNewImage+', sNewTitle="'+sNewTitle+'"');
Zeile 85: Zeile 85:
   {
   {
     console.log('GetActAndNewStateSHBD(): sSHID="'+sSHID+'"');
     console.log('GetActAndNewStateSHBD(): sSHID="'+sSHID+'"');
-
    let nRowsShown = 0;
+
     // count shown rows, rows with available objects and total rows
-
    let nRowsAvail = 0;
+
     let [nRowsShown,nRowsAvail,nRowsTotal] = CountSHBD(sSHID);
-
    let nRowsTotal = 0;
+
     // State-/display-order: hideall => showavail => showall
-
     // count display state of rows with objects
+
     // State showavail is skipped if all rows contain available objects
-
     let sNodeSel = 'tr[id^=SH-objrow-'+sSHID+']';
+
-
    let aNodes = document.querySelectorAll(sNodeSel);
+
-
    nRowsAvail = aNodes.length;
+
-
    nRowsTotal = aNodes.length;
+
-
    for (var i = 0; i < aNodes.length; i++)
+
-
      nRowsShown = (aNodes[i].style.display=='table-row' ? nRowsShown+1 : nRowsShown);
+
-
     // count display state of empty rows
+
-
    sNodeSel = 'tr[id^=SH-emptyrow-'+sSHID+']';
+
-
    aNodes = document.querySelectorAll(sNodeSel);
+
-
    nRowsTotal += aNodes.length;
+
-
     for (var i = 0; i < aNodes.length; i++)
+
-
      nRowsShown = (aNodes[i].style.display=='table-row' ? nRowsShown+1 : nRowsShown);
+
-
    console.log('[GetActAndNewStateSHBD()]: Shown='+nRowsShown+', Avail='+nRowsAvail+', Total='+nRowsTotal);
+
     //                                            ActState    NewState
     //                                            ActState    NewState
     // nRowsShown == 0, nRowsAvail <  nRowsTotal: hideall  => showavail
     // nRowsShown == 0, nRowsAvail <  nRowsTotal: hideall  => showavail
Zeile 111: Zeile 98:
     if (nRowsShown == 0) {
     if (nRowsShown == 0) {
       sActState = 'hideall';
       sActState = 'hideall';
-
       sNewState = (nRowsavail < nRowsTotal ? 'schowavail' : 'schowall');
+
       sNewState = (nRowsAvail < nRowsTotal ? 'schowavail' : 'schowall');
     } else {
     } else {
-
       sActState = (nRowsavail < nRowsTotal ? 'schowavail' : 'schowall');
+
       sActState = (nRowsAvail < nRowsTotal ? 'schowavail' : 'schowall');
       sNewState = 'hideall';
       sNewState = 'hideall';
     }
     }
Zeile 150: Zeile 137:
           SetRowStateSHBD(aNodesAll[i].id,sNewState);
           SetRowStateSHBD(aNodesAll[i].id,sNewState);
         // update header button
         // update header button
 +
        [sActState,sNewState] = GetActAndNewStateSHBD(sSHID)
         SetBtnStateSHBD('SH-headbtn-'+sSHID,sNewState);
         SetBtnStateSHBD('SH-headbtn-'+sSHID,sNewState);
         // update group buttons
         // update group buttons

Version vom 21:49, 2. Okt. 2026


Zeigen/Verbergen:

dies ist ein Test ...
dies ist ein Test ...
dies ist ein Test ...
dies ist ein Test ...