MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus LessingWiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
// Local Maintainer: [[Commons:User:Dschwen]]
// Local Maintainer: [[Commons:User:Dschwen]]


function includePage(name) {
mw.loader.using(['mediawiki.util'], function () {
    document.write('<script type="text/javascript" src="' + wgScript + '?title='
        + name + '&action=raw&ctype=text/javascript&dontcountme=s"><\/script>');    // smaxage=3600
}


//================================================================================
//================================================================================
Zeile 15: Zeile 12:
// SEE ALSO [[MediaWiki:Onlyifuploading.js]]
// SEE ALSO [[MediaWiki:Onlyifuploading.js]]


if (wgCanonicalSpecialPageName == "Upload") {
function includePage(name) {
     includePage("MediaWiki:Onlyifuploading.js");
      
     includePage("MediaWiki:Onlyifediting.js");
    mw.loader.load(
}
      mw.util.wikiScript() +
        '?title=' + encodeURIComponent(name) +
        '&action=raw&ctype=text/javascript'
     );
  }


//================================================================================
//================================================================================
Zeile 24: Zeile 25:
// SEE ALSO [[MediaWiki:Onlyifediting.js]]
// SEE ALSO [[MediaWiki:Onlyifediting.js]]


if (document.URL.indexOf("action=edit") > 0 || document.URL.indexOf("action=submit") > 0) {
  var special = mw.config.get('wgCanonicalSpecialPageName') || '';
     includePage("MediaWiki:Onlyifediting.js");
  var action  = mw.config.get('wgAction') || '';
}
  var url    = window.location.href;
 
  if (special === 'Upload') {
    includePage('MediaWiki:Onlyifuploading.js');
    includePage('MediaWiki:Onlyifediting.js');
  }
 
  if (action === 'edit' || action === 'submit' || url.indexOf('action=edit') > -1 || url.indexOf('action=submit') > -1) {
     includePage('MediaWiki:Onlyifediting.js');
  }


//================================================================================
//================================================================================
Zeile 116: Zeile 126:
//*** Fügt eine Betreffzeile auf leeren Diskussionsseiten ein
//*** Fügt eine Betreffzeile auf leeren Diskussionsseiten ein


addOnloadHook(function() {
  var ns = mw.config.get('wgNamespaceNumber');
        if(wgNamespaceNumber != 0 && wgNamespaceNumber != 1) return;
  if (ns === 0 || ns === 1) {
var tab = document.getElementById( 'ca-talk' );
    var tab = document.getElementById('ca-talk');
if( !tab || tab.className != 'new' ) return;
    if (tab && tab.className === 'new') {
var link = tab.getElementsByTagName( 'a' )[0];
      var link = tab.getElementsByTagName('a')[0];
if( !link ) return;
      if (link) link.href += '&section=new';
link.href += '&section=new';
    }
  }
 
});
});
// Lessing-Wiki: Klappbox
(function () {
  document.addEventListener('click', function (e) {
    var t = e.target;
    if (t && t.nodeType !== 1) t = t.parentElement;
    if (!t) return;
    var title = t.closest && t.closest('.lessing-klappbox-title');
    if (!title) return;
    var table = title.closest && title.closest('table.lessing-klappbox');
    if (!table) return;
    e.preventDefault();
    table.classList.toggle('open');
  }, true);
})();

Aktuelle Version vom 15. Februar 2026, 23:58 Uhr

/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */


//================================================================================
//*** force the loading of another JavaScript file (Kopie von [[Commons:Common.js]])
// Local Maintainer: [[Commons:User:Dschwen]]

mw.loader.using(['mediawiki.util'], function () {

//================================================================================
//*** import Onlyifuploading-functions
// SEE ALSO [[MediaWiki:Onlyifuploading.js]]

function includePage(name) {
    
    mw.loader.load(
      mw.util.wikiScript() +
        '?title=' + encodeURIComponent(name) +
        '&action=raw&ctype=text/javascript'
    );
  }

//================================================================================
//*** import Onlyifediting-functions
// SEE ALSO [[MediaWiki:Onlyifediting.js]]

  var special = mw.config.get('wgCanonicalSpecialPageName') || '';
  var action  = mw.config.get('wgAction') || '';
  var url     = window.location.href;

  if (special === 'Upload') {
    includePage('MediaWiki:Onlyifuploading.js');
    includePage('MediaWiki:Onlyifediting.js');
  }

  if (action === 'edit' || action === 'submit' || url.indexOf('action=edit') > -1 || url.indexOf('action=submit') > -1) {
    includePage('MediaWiki:Onlyifediting.js');
  }

//================================================================================

/** Skript für Vorlage:Galerie */
addOnloadHook(function() {
  if (document.URL.match(/printable/g)) return;

  function toggleImageFunction(group,  remindex, shwindex) {
    return function() {
      document.getElementById("ImageGroupsGr" + group + "Im" + remindex).style["display"] = "none";
      document.getElementById("ImageGroupsGr" + group + "Im" + shwindex).style["display"] = "block";
      return false;
    };
  }

  var divs = document.getElementsByTagName("div");
  var i = 0, j = 0;
  var units, search;
  var currentimage;
  var UnitNode;
  for (i = 0; i < divs.length; i++) {
    if (divs[i].className !== "ImageGroup") { continue; }
    UnitNode = undefined;
    search = divs[i].getElementsByTagName("div");
    for (j = 0; j < search.length; j++) {
      if (search[j].className !== "ImageGroupUnits") { continue; }
      UnitNode=search[j];
      break;
    }
    if (UnitNode === undefined) { continue; }
    units = [];
    for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
      var temp = UnitNode.childNodes[j];
      if (temp.className === "center") { units.push(temp); }
    }
    var rightlink = undefined;
    var commentText = undefined;
    for (j = 0; j < units.length; j++) {
      currentimage = units[j];
      currentimage.id = "ImageGroupsGr" + i + "Im" + j;
      var leftlink = document.createElement("a");
      if (commentText !== undefined) {
        leftlink.setAttribute("title", commentText);
      }
      var comment;
      if (typeof(currentimage.getAttribute("title")) !== "string") {
        commentText = (j+1) + "/" + units.length;
        comment = document.createElement("tt").appendChild(document.createTextNode("("+ commentText + ")"));
      }
      else {
        commentText = currentimage.getAttribute("title");
        comment = document.createElement("span").appendChild(document.createTextNode(commentText));
        currentimage.removeAttribute("title");
      }
      if(rightlink !== undefined) {
        rightlink.setAttribute("title", commentText);
      }
      var imghead = document.createElement("div");
      rightlink = document.createElement("a");
      if (j != 0) {
        leftlink.href = "#";
        leftlink.onclick = toggleImageFunction(i, j, j-1);
        leftlink.appendChild(document.createTextNode("◀"));
      }
      if (j != units.length - 1) {
        rightlink.href = "#";
        rightlink.onclick = toggleImageFunction(i, j, j+1);
        rightlink.appendChild(document.createTextNode("▶"));
      }
      imghead.style["fontSize"] = "110%";
      imghead.style["fontweight"] = "bold";
      imghead.appendChild(leftlink);
      imghead.appendChild(document.createTextNode("\xA0"));
      imghead.appendChild(comment);
      imghead.appendChild(document.createTextNode("\xA0"));
      imghead.appendChild(rightlink);
      if (units.length > 1) {
        currentimage.insertBefore(imghead,currentimage.childNodes[0]);
      }
      if (j != 0) {
        currentimage.style["display"] = "none";
      }
    }
  }
});

//==============================================================================
//*** Fügt eine Betreffzeile auf leeren Diskussionsseiten ein

  var ns = mw.config.get('wgNamespaceNumber');
  if (ns === 0 || ns === 1) {
    var tab = document.getElementById('ca-talk');
    if (tab && tab.className === 'new') {
      var link = tab.getElementsByTagName('a')[0];
      if (link) link.href += '&section=new';
    }
  }

});

// Lessing-Wiki: Klappbox 

(function () {
  document.addEventListener('click', function (e) {
    var t = e.target;
    if (t && t.nodeType !== 1) t = t.parentElement;
    if (!t) return;

    var title = t.closest && t.closest('.lessing-klappbox-title');
    if (!title) return;

    var table = title.closest && title.closest('table.lessing-klappbox');
    if (!table) return;

    e.preventDefault();
    table.classList.toggle('open');
  }, true); 
})();