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(function (elem) {
     document.querySelectorAll('[data-zum-toggle-target]').forEach(function (elem) {
       var zumToggleRaw = elem.dataset.zumToggle;
       var target = elem.dataset.zumToggleTarget;
      if(!zumToggleRaw){ return; }
       if(!target){ return; }
      var zumToggle = null;
      try {
        zumToggle = JSON.parse(zumToggleRaw);
      } catch(e) {
        console.warn('unable to read zum-toggle from', elem, e);
        zumToggle = null;
      }
       if(!zumToggle){ return; }
       elem.addEventListener('click', function (ev) {
       elem.addEventListener('click', function (ev) {
         document.querySelectorAll(zumToggle.target).forEach(function (tElem) {
         document.querySelectorAll(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, 23:53 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
(function(){
  console.log("initializing zum-toggle");
  const run = function() {
    document.querySelectorAll('[data-zum-toggle-target]').forEach(function (elem) {
      var target = elem.dataset.zumToggleTarget;
      if(!target){ return; }
      elem.addEventListener('click', function (ev) {
        document.querySelectorAll(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();
  }
})();