MediaWiki:Common.js: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 53: Line 53:
             default:
             default:
                 // Toggle
                 // Toggle
                 for (j = 0; j < toggles.length; j++)
                 for (j = 0; j < toggles.length; j++) {
togglerStates[id] = !togglerStates[id];
                      var toggleName = toBeToggled[i][1];
if (togglerStates[id] || !togglerStates[id] && areAllTogglersOff(toggles[j]))
                      togglerStates[toggleName] = !togglerStates[toggleName];
toggles[j].style.display = (togglerStates[id] ? '' : 'none');
                      if (togglerStates[toggleName] || !togglerStates[toggleName] && areAllTogglersOff(toggles[j]))
                      toggles[j].style.display = (togglerStates[toggleName] ? '' : 'none');
                }
                 break;
                 break;
         }
         }
Line 66: Line 68:
     for (var i = 0; i < togglers.length; i++)
     for (var i = 0; i < togglers.length; i++)
     {
     {
if (allClasses[togglers[i][1]].includes(elem) && togglerStates[togglers[i][1]] === true)
      if (allClasses[togglers[i][1]].includes(elem) && togglerStates[togglers[i][1]] === true)
{
      {
return false;
        return false;
      }
}
}
}
return true;
return true;
}
}
Line 92: Line 94:
     // initialize/clear any old information
     // initialize/clear any old information
     togglers = [];   
     togglers = [];   
togglerStates = {};
togglerStates = {};
     allClasses = {};
     allClasses = {};
          
          
Line 141: Line 143:
                 var hyphen = elemClass.indexOf('-');
                 var hyphen = elemClass.indexOf('-');
                  
                  
if (hyphen != -1)
if (hyphen != -1)
                     toBeToggled = elemClass.substring(hyphen+1);
                     toBeToggled = elemClass.substring(hyphen+1);


                 var op = elemClass.substring(8, hyphen);
                 var op = elemClass.substring(8, hyphen);
var collection = document.getElementsByClassName(toBeToggled);
                var collection = document.getElementsByClassName(toBeToggled);
for (var a=[], k=collection.length; k;) a[--k] = collection[k];
                for (var a=[], k=collection.length; k;) a[--k] = collection[k];
               
if (!allClasses[toBeToggled])
                if (!allClasses[toBeToggled])
allClasses[toBeToggled] = a;
                  allClasses[toBeToggled] = a;
         
                 togglers[togglerID].push(new Array(op, toBeToggled));
                 togglers[togglerID].push(new Array(op, toBeToggled));
               
if (!togglerStates[toBeToggled])
                if (!togglerStates[toBeToggled])
togglerStates[toBeToggled] = togglerState;
                  togglerStates[toBeToggled] = togglerState;
             }
             }
         }
         }