MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
   console.log("initializing zum-toggle");
   console.log("initializing zum-toggle");
   const run = function() {
   const run = function() {
     document.querySelectorAll('[data-zum-toggle]').forEach((elem) => {
     document.querySelectorAll('[data-zum-toggle]').forEach(function (elem) {
       const zumToggleRaw = elem.dataSet.zumToggleTarget;
       const zumToggleRaw = elem.dataSet.zumToggleTarget;
       if(!zumToggleRaw){ return; }
       if(!zumToggleRaw){ return; }
Zeile 14: Zeile 14:
       }
       }
       if(!zumToggle){ return; }
       if(!zumToggle){ return; }
       elem.addEventListener('click', (ev) => {
       elem.addEventListener('click', function (ev) {
         document.querySelectorAll(zumToggle.target).forEach((tElem) => {
         document.querySelectorAll(zumToggle.target).forEach(function (tElem) {
           if (tElem.dataSet.zumToggleVisible) {
           if (tElem.dataSet.zumToggleVisible) {
             tElem.dataSet.zumToggleVisible = null;
             tElem.dataSet.zumToggleVisible = null;

Version vom 15. Februar 2024, 22:57 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
(function(){
  console.log("initializing zum-toggle");
  const run = function() {
    document.querySelectorAll('[data-zum-toggle]').forEach(function (elem) {
      const zumToggleRaw = elem.dataSet.zumToggleTarget;
      if(!zumToggleRaw){ return; }
      let zumToggle;
      try {
        zumToggle = JSON.parse(zumToggleRaw);
      } catch(e) {
        log.warning('unable to read zum-toggle from', elem, e);
        zumToggle = null;
      }
      if(!zumToggle){ return; }
      elem.addEventListener('click', function (ev) {
        document.querySelectorAll(zumToggle.target).forEach(function (tElem) {
          if (tElem.dataSet.zumToggleVisible) {
            tElem.dataSet.zumToggleVisible = null;
          } else {
            tElem.dataSet.zumToggleVisible = true;
          }
        });
      });
    });
  };

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", run);
  } else {
    run();
  }
})();