Benutzer:DaB./monobook.js

aus Wikipedia, der freien Enzyklopädie
< Benutzer:DaB.
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 29. November 2021 um 08:35 Uhr durch imported>Ladsgroup(567577) (Maintenance: Replacing addPortletLink() with mw.util.addPortletLink() (mw:ResourceLoader/Migration_guide_(users)#addPortletLink)).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
/*
  *  Adds a tab allowing you to edit the 0th section of a page
  *  (the top area usually used as an introduction).
  *
  *  Author: [[:en:User:Ilmari Karonen]]
  *
  *  copied 2007/01/11 from [[:en:User:Ilmari Karonen/editsection0.js]]
  *  requires addLink() from helperFunctions.js
  *
  *  Modifiziert für de.WP von [[Benutzer:PDD]]
  *
  *  (http://en.wikipedia.org/wiki/Wikipedia:WikiProject_User_scripts/Scripts/Add_edit_section_0)
  */
 
 // <nowiki>
 
 function addEditSection0() {
 
   // Variables that should be defined in your monobook
   if (typeof(editintrotext) == 'undefined')
       editintrotext = "IntroBearbeiten";
 
   var x;
   if (!(x = document.getElementById('ca-edit') )) return;
   var url;
   if (!(url = x.getElementsByTagName('a')[0] )) return;
   if (!(url = url.href )) return;
   var y = mw.util.addPortletLink('p-cactions', url+"&section=0", editintrotext, 'ca-edit-0',
                   'Klicke hier, um den Intro-Abschnitt zu bearbeiten', '0', x.nextSibling);
 
   y.className = x.className;  // steal classes from the the edit tab...
   x.className = 'istalk';     // ...and make the edit tab have no right margin
 
   // exception: don't steal the "selected" class unless actually editing section 0:
   if (/(^| )selected( |$)/.test(y.className)) {
       if (!document.editform || !document.editform.wpSection
           || document.editform.wpSection.value != "0") {
           y.className = y.className.replace(/(^| )selected( |$)/g, "$1");
           x.className += ' selected';
       }
   }
 }
 
 // das folgende müsste man noch eleganter machen
 if ((document.title.indexOf("Bearbeiten von ") == -1) &&
     (document.title.indexOf("Bearbeitungskonflikt: ") == -1)) {
    addOnloadHook(addEditSection0);
 }
 
 // </nowiki>

$(function() {
    if (document.URL.match(/printable/g)) return;
    
    function changeGallery(table) {
        var tds     = table.getElementsByTagName("td");
        for (var i=0; i<tds.length; i++) {
            tds[i].style.display = "none";
        }
        
        function changeCurrent(target) {
            if (target < 0 || target >= count)  return;
            tds[current].style.display = "none";
            tds[target].style.display  = "block";  
            current = target;
            comment.innerHTML = "&nbsp;" + (current+1) + "/" + count + "&nbsp;";
            previous.style.visibility = current > 0       ? "visible" : "hidden";
            next.style.visibility     = current < count-1 ? "visible" : "hidden"; 
        }
        
        var current = 0;
        var count   = tds.length;
        if (count == 0) return;
        
        var previous = document.createElement("a");
        previous.innerHTML = "◀";
        previous.onclick = function() { changeCurrent(current-1); }
        var next = document.createElement("a");
        next.innerHTML = "▶";
        next.onclick = function() { changeCurrent(current+1); }
        var comment = document.createElement("span");
        var slide = document.createElement("div");
        slide.style.margin  = "auto";
        slide.style.display = "inline";
        slide.appendChild(previous);      
        slide.appendChild(comment);
        slide.appendChild(next);
        
        var outer = document.createElement("div");
        outer.style.border     = "10px solid #cccccc";
        outer.style.display    = "inline";
        outer.style.background = "red";
        var captions = table.getElementsByTagName("caption");
        if (captions.length != 0) {
            var caption = captions[0];
            var header = document.createElement("div");
            header.style.margin  = "auto";
            header.style.display = "table";
            header.innerHTML = caption.innerHTML;
            outer.appendChild(header);
            caption.parentNode.removeChild(caption);
        }

var dabtable = document.createElement("table");
var slideTR = dabtable.insertRow();
var slideTD = document.createElement("td");
slideTD.appendChild(slide);
slideTR.appendChild(slideTD);
var galleryTR = dabtable.insertRow();
var galleryTD = document.createElement("td");
galleryTD.appendChild(table);
galleryTR.appendChild(galleryTD);
table.parentNode.insertBefore(dabtable, table);
table.parentNode.removeChild(table);

//        outer.appendChild(slide);
//        table.parentNode.insertBefore(outer, table);
//        table.parentNode.removeChild(table);
//        outer.appendChild(table);
//        var slideTR = table.insertRow(1);
//        var slideTD = document.createElement("td");
//        slideTD.appendChild(slide);
//        slideTR.appendChild(slideTD);
//        table.firstChild.insertBefore(slideTR, table.firstChild.firstChild);
        table.style.border = "none";
        changeCurrent(0);
    }
    
    var bodyContent = document.getElementById("bodyContent");
    var tables      = bodyContent.getElementsByTagName("table");
    for (var i=0; i<tables.length; i++) {
        var table = tables[i];
        if (table.className == "gallery slide") changeGallery(table);
    }
});