MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 4: Zeile 4:
   const run = function() {
   const run = function() {
     document.querySelectorAll('[data-zum-toggle]').forEach(function (elem) {
     document.querySelectorAll('[data-zum-toggle]').forEach(function (elem) {
       var zumToggleRaw = elem.dataSet.zumToggleTarget;
       var zumToggleRaw = elem.dataset.zumToggleTarget;
       if(!zumToggleRaw){ return; }
       if(!zumToggleRaw){ return; }
       var zumToggle = null;
       var zumToggle = null;
Zeile 16: Zeile 16:
       elem.addEventListener('click', function (ev) {
       elem.addEventListener('click', function (ev) {
         document.querySelectorAll(zumToggle.target).forEach(function (tElem) {
         document.querySelectorAll(zumToggle.target).forEach(function (tElem) {
           if (tElem.dataSet.zumToggleVisible) {
           if (tElem.dataset.zumToggleVisible) {
             tElem.dataSet.zumToggleVisible = null;
             tElem.dataset.zumToggleVisible = null;
           } else {
           } else {
             tElem.dataSet.zumToggleVisible = true;
             tElem.dataset.zumToggleVisible = true;
           }
           }
         });
         });

Version vom 15. Februar 2024, 23:47 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) {
      var zumToggleRaw = elem.dataset.zumToggleTarget;
      if(!zumToggleRaw){ return; }
      var zumToggle = null;
      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();
  }
})();