MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Shadowhelix
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(45 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Das folgende JavaScript wird für alle Benutzer geladen. */
if (mwCustomEditButtons) {
    mwCustomEditButtons[mwCustomEditButtons.length] = {
        "imageFile": "http://shadowhelix.pegasus.de/images/1/1b/Button_empty.png",
        "speedTip": "a2060 a2070 ad adh adsw ahb aj1 aj2 aj3 aj4 b&s b6w b:adl\nb:m ber berlim bs btech cp! crit ctech c&d d6w db dc dnadoa\ndids dids2 dj eids el eme fd fe fk fk2 fmf fogw fr gidw\ngrim gk gz hbew hbk h hr jdk kd ke ken kf kk kz ldv ls73\nmat merc mg mk mn mshfs mst mst2 mum naqb nl ns otr pb\nped pz rhb r2 r3 ra:s rds rk rl rrmp srz sa sdk sh sk sk2 sl slr\nsls sls2 sls3 sls4 sm sm2 sota63 sota64 sota73 sox sqb sr\nsr2 sr3 sr4 sr4a sr4er srk srk3 ssch ss ss2 ssk ssk2 stech\nsühb sw sz tw ub uqb uw vd vf vn vr2 vt wda wds wpsi ww\n",
        "tagOpen": '',
        "tagClose": "",
        "sampleText": ""};
}


function createFunctionButtons() {
function createFunctionButtons() {
Zeile 148: Zeile 137:


         objects[i].style.display = 'none';
         objects[i].style.display = 'none';
    }
}
function showOnlyParentNodeWithIdGreaterZero( targetClass, defaultIdValue ) {
    var objects = document.getElementsByClassName( targetClass );
    for ( var i = 0; i < objects.length; i++ ) {
        if (!(objects[i].parentNode.id)) {
            objects[i].parentNode.id = defaultIdValue;
        }
        if (objects[i].parentNode.id > 0) {
            objects[i].parentNode.style.display = '';
        } else {
            objects[i].parentNode.style.display = 'none';
        }
    }
}
function parentNodeNumericalIdChange( targetClass, increment ) {
    var objects = document.getElementsByClassName( targetClass );
    for ( var i = 0; i < objects.length; i++ ) {
        if (objects[i].parentNode.id) {
            objects[i].parentNode.id = parseInt(objects[i].parentNode.id) + increment;
        } else {
            if (increment > 0) {
                objects[i].parentNode.id = 1;
            } else {
                objects[i].parentNode.id = 0;
            }
        }
     }
     }
}
}
Zeile 161: Zeile 186:
         } else {
         } else {
             objects[i].parentNode.id = 1;
             objects[i].parentNode.id = 1;
         }      
         }


         if (objects[i].parentNode.id > 0) {
         if (objects[i].parentNode.id > 0) {
Zeile 179: Zeile 204:
         if (!(objects[i].parentNode.id > 0)) {
         if (!(objects[i].parentNode.id > 0)) {
             objects[i].parentNode.style.display = '';
             objects[i].parentNode.style.display = '';
        }
    }
}
function parentNodeFade( targetClass, opacityValue ) {
    var objects = document.getElementsByClassName( targetClass );
    for ( var i = 0; i < objects.length; i++ ) {
        if (objects[i].parentNode.id) {
            objects[i].parentNode.id = parseInt(objects[i].parentNode.id) + 1;
        } else {
            objects[i].parentNode.id = 1;
        }
        if (objects[i].parentNode.id > 0) {
            objects[i].parentNode.style.opacity = opacityValue;
        }
    }
}
function parentNodeUnFade( targetClass ) {
    var objects = document.getElementsByClassName( targetClass );
    for ( var i = 0; i < objects.length; i++ ) {
        if (objects[i].parentNode.id) {
            objects[i].parentNode.id = parseInt(objects[i].parentNode.id) + 1;
        } else {
            objects[i].parentNode.id = 1;
        }
        if (objects[i].parentNode.id > 0) {
            objects[i].parentNode.style.opacity = '1';
         }
         }
     }
     }
Zeile 187: Zeile 248:
     var objects = document.getElementsByClassName( targetClass );
     var objects = document.getElementsByClassName( targetClass );


     for ( var i = 0; i < objects.length; i++ ) {    
     for ( var i = 0; i < objects.length; i++ ) {


         if (objects[i].id.search(targetID) == -1) {
         if (objects[i].id.search(targetID) == -1) {
Zeile 207: Zeile 268:
         } else {
         } else {
             objects[i].style.display = 'none';
             objects[i].style.display = 'none';
        }
    }
}
function resetParentNodeVisibility( targetClass, allVisible ) {
    var objects = document.getElementsByClassName( targetClass );
    for ( var i = 0; i < objects.length; i++ ) {   
        if (allVisible != 0) {
            objects[i].parentNode.style.display = '';
        } else {
            objects[i].parentNode.style.display = 'none';
         }
         }
     }
     }
Zeile 225: Zeile 300:
}
}


function multiCall122( func1,var11,func2,var21,var22,func3,var31,var32 ) {
/* Aufruf mehrerer Funktionen */
 
function multiCall11( func1,var11,func2,var21 ) {
 
    window[func1](var11);
    window[func2](var21);
 
}
 
function multiCall12( func1,var11,func2,var21,var22 ) {


     window[func1](var11);
     window[func1](var11);
     window[func2](var21,var22);
     window[func2](var21,var22);
    window[func3](var31,var32);


}
}


function multiCall222( func1,var11,var12,func2,var21,var22,func3,var31,var32 ) {
function multiCall22( func1,var11,var12,func2,var21,var22 ) {


     window[func1](var11,var12);
     window[func1](var11,var12);
     window[func2](var21,var22);
     window[func2](var21,var22);
    window[func3](var31,var32);


}
}


function multiCall11( func1,var11,func2,var21 ) {
function multiCall112( func1,var11,func2,var21,func3,var31,var32 ) {


     window[func1](var11);
     window[func1](var11);
     window[func2](var21);
     window[func2](var21);
    window[func3](var31,var32);


}
}


function multiCall12( func1,var11,func2,var21,var22 ) {
function multiCall122( func1,var11,func2,var21,var22,func3,var31,var32 ) {


     window[func1](var11);
     window[func1](var11);
     window[func2](var21,var22);
     window[func2](var21,var22);
    window[func3](var31,var32);


}
}


function multiCall22( func1,var11,var12,func2,var21,var22 ) {
function multiCall222( func1,var11,var12,func2,var21,var22,func3,var31,var32 ) {
 
    window[func1](var11,var12);
    window[func2](var21,var22);
    window[func3](var31,var32);
 
}
 
function multiCall2222( func1,var11,var12,func2,var21,var22,func3,var31,var32,func4,var41,var42 ) {


     window[func1](var11,var12);
     window[func1](var11,var12);
     window[func2](var21,var22);
     window[func2](var21,var22);
    window[func3](var31,var32);
    window[func4](var41,var42);


}
}
Zeile 267: Zeile 361:


}
}
addOnloadHook( createFunctionButtons );


/* Funktion um die Darstellung von Shadowtalk-Boxen im Artikel an- und abzuschalten */
/* Funktion um die Darstellung von Shadowtalk-Boxen im Artikel an- und abzuschalten */


function toggleShadowtalkTab() {
function toggleShadowtalkTab() {
     addPortletLink('p-cactions', 'javascript:switchVisibilityOnClass( "shadowtalkbox" )', 'Shadowtalk An/Aus', 'ca-last', 'Shadowtalk ein- oder ausblenden');
     mw.util.addPortletLink('p-cactions', 'javascript:switchVisibilityOnClass( "shadowtalkbox" )', 'Shadowtalk An/Aus', 'ca-last', 'Shadowtalk ein- oder ausblenden');
}
}


addOnloadHook( toggleShadowtalkTab );
$( toggleShadowtalkTab );
 
/* Funktion zur Formatierung der Links auf Artikel in den besonderen Kategorien (Quellen, Abenteuer, Erzählungen) */
 
function formatLinksKategorie() {


/* Funktion zur Formatierung der Links auf Quellenartikel in den Quellenkategorien */
    if ( document.location.href.search('/Kategorie:Quellen') != -1 || document.location.href.search('=Kategorie:Quellen') != -1 ) {


function formatLinksQuellenkategorie() {
        var objects = document.getElementsByTagName( "a" );
        for ( var i = 0; i < objects.length; i++ ) {   
            objects[i].innerHTML = objects[i].innerHTML.replace(/Quelle, (cs|de|en|es|fr|he|hu|it|ja|pl|pt):/,"<tt class=\"language-$1\"><small>Quelle, </small>$1:</tt>").replace(/, <\/small>(de|en):/,", </small><span style=\"font-style:italic; color:green;\">$1</span>:").replace(/, <\/small>(cs|es|fr|he|hu|it|ja|pl|pt):/,", </small><span style=\"font-style:italic; color:purple;\">$1</span>:").replace(/\/Abbildungsverzeichnis/,"<tt><small>\/Abbildungsverzeichnis<\/small><\/tt>");
        }
    }
 
    if ( document.location.href.search('/Kategorie:Abenteuer') != -1 || document.location.href.search('=Kategorie:Abenteuer') != -1 ) {
 
        var objects = document.getElementsByTagName( "a" );
        for ( var i = 0; i < objects.length; i++ ) {   
            objects[i].innerHTML = objects[i].innerHTML.replace(/Abenteuer:/,"<small>Abenteuer:</small>");
        }
    }


     if ( document.location.href.search('/Kategorie:Quellen') != -1 ) {
     if ( document.location.href.search('/Kategorie:Erz%C3%A4hlungen') != -1 || document.location.href.search('=Kategorie:Erz%C3%A4hlungen') != -1 ) {


         var objects = document.getElementsByTagName( "a" );
         var objects = document.getElementsByTagName( "a" );
         for ( var i = 0; i < objects.length; i++ ) {     
         for ( var i = 0; i < objects.length; i++ ) {     
             objects[i].innerHTML = objects[i].innerHTML.replace(/Quelle, (de|en|es|fr|he|hu|it|ja|pl|pt):/,"<tt><small>Quelle,</small> $1:</tt>").replace(/, (de|en):/,", <span style=\"font-style:italic; color:green;\">$1</span>:").replace(/,<\/small> (es|fr|he|hu|it|ja|pl|pt):/,",</small> <span style=\"font-style:italic; color:purple;\">$1</span>:");
             objects[i].innerHTML = objects[i].innerHTML.replace(/Erzählung:/,"<small>Erzählung:</small>");
         }
         }
     }
     }
}
}


addOnloadHook( formatLinksQuellenkategorie );
$( formatLinksKategorie );
 
 
/* Funktion um die Darstellung von Shadowtalk-Boxen als Defaulteinstellung in reduzierter Form darzustellen */
 
function defaultShadowtalkCollapsed() {
 
    var objects = document.getElementsByClassName( 'open-shadowtalk' );
 
    for ( var i = objects.length - 1; i >= 0; i-- ) {
      objects[i].style.display = 'none';
      objects[i].className    = "open-shadowtalk-" + i;
    }   
 
    var objects = document.getElementsByClassName( 'collapsed-shadowtalk' );
 
    for ( var i = objects.length - 1; i >= 0; i-- ) {
      objects[i].style.display = '';
      objects[i].className    = "collapsed-shadowtalk-" + i;
    }
 
    var objects = document.getElementsByClassName( 'st-jsFunctionButton' );
 
    for ( var i = objects.length - 1; i >= 0; i-- ) {
      objects[i].id        = "multiCall11_switchVisibilityOnClass_open-shadowtalk-" + i + "_switchVisibilityOnClass_collapsed-shadowtalk-" + i;
      objects[i].className = "jsFunctionButton";
    }
 
}
 
$( defaultShadowtalkCollapsed );
 
$( createFunctionButtons );

Aktuelle Version vom 6. Juni 2017, 15:50 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */

function createFunctionButtons() {

    var Selection = document.getElementsByClassName( "jsFunctionButton" );

    for ( var i = Selection.length - 1; i >= 0 ; i-- ) {

         var input = Selection[i].id.split("_");
         var jsFunction = input.shift();

         var Button = document.createElement( "a" );

         var inputString = "";
         for ( var j = 0; j < input.length; j++ ) {
              inputString = inputString + "'"+input[j];
              if (j != input.length - 1) {
                   inputString = inputString + "',";
              } else {
                   inputString = inputString + "'";
              }
         }

         Button.setAttribute( "href", "javascript:"+jsFunction+"("+inputString+")" );

         Button.appendChild( Selection[i].childNodes[0] );

         $(Selection[i]).replaceWith( Button );

    }

}

function toggleVisibility( targetClass, targetID ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {     

        if (objects[i].id != targetID) {
            objects[i].style.display = 'none';
        } else {
            objects[i].style.display = '';
        }
    }
}

function toggleVisibilityMatch( targetClass, targetID ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {     

        if (objects[i].id.search(targetID) == -1) {
            objects[i].style.display = 'none';
        } else {
            objects[i].style.display = '';
        }
    }
}

function toggleWeight( targetClass, targetID ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {     

        if (objects[i].id != targetID) {
            objects[i].style.fontWeight = 'normal';
        } else {
            objects[i].style.fontWeight = 'bold';
        }
    }
}

function switchWeight( targetClass, targetID ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        if (objects[i].id == targetID) {
            if (objects[i].style.fontWeight == '700') {
                objects[i].style.fontWeight = 'normal';
            } else {
                objects[i].style.fontWeight = 'bold';
            }
        }
    }
}

function switchVisibility( targetClass, targetID ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        if (objects[i].id == targetID) {
            if (objects[i].style.display == 'none') {
                objects[i].style.display = '';
            } else {
                objects[i].style.display = 'none';
            }
        }
    }
}

function switchVisibilityOnClass( targetClass ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        if (objects[i].style.display == 'none') {
            objects[i].style.display = '';
        } else {
            objects[i].style.display = 'none';
        }
    }
}

function switchOnVisibilityOnClass( targetClass ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        objects[i].style.display = '';
    }
}

function switchOffVisibilityOnClass( targetClass ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        objects[i].style.display = 'none';
    }
}

function showOnlyParentNodeWithIdGreaterZero( targetClass, defaultIdValue ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        if (!(objects[i].parentNode.id)) {
            objects[i].parentNode.id = defaultIdValue;
        }

        if (objects[i].parentNode.id > 0) {
            objects[i].parentNode.style.display = '';
        } else {
            objects[i].parentNode.style.display = 'none';
        }
    }
}

function parentNodeNumericalIdChange( targetClass, increment ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        if (objects[i].parentNode.id) {
            objects[i].parentNode.id = parseInt(objects[i].parentNode.id) + increment;
        } else {
            if (increment > 0) {
                objects[i].parentNode.id = 1;
            } else {
                objects[i].parentNode.id = 0;
            }
        }
    }
}

function parentNodeInvisible( targetClass ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        if (objects[i].parentNode.id) {
            objects[i].parentNode.id = parseInt(objects[i].parentNode.id) + 1;
        } else {
            objects[i].parentNode.id = 1;
        }

        if (objects[i].parentNode.id > 0) {
            objects[i].parentNode.style.display = 'none';
        }
    }
}

function parentNodeVisible( targetClass ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        objects[i].parentNode.id = parseInt(objects[i].parentNode.id) - 1;

        if (!(objects[i].parentNode.id > 0)) {
            objects[i].parentNode.style.display = '';
        }
    }
}

function parentNodeFade( targetClass, opacityValue ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        if (objects[i].parentNode.id) {
            objects[i].parentNode.id = parseInt(objects[i].parentNode.id) + 1;
        } else {
            objects[i].parentNode.id = 1;
        }

        if (objects[i].parentNode.id > 0) {
            objects[i].parentNode.style.opacity = opacityValue;
        }
    }
}

function parentNodeUnFade( targetClass ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        if (objects[i].parentNode.id) {
            objects[i].parentNode.id = parseInt(objects[i].parentNode.id) + 1;
        } else {
            objects[i].parentNode.id = 1;
        }

        if (objects[i].parentNode.id > 0) {
            objects[i].parentNode.style.opacity = '1';
        }
    }
}

function toggleParentNodeVisibilityMatch( targetClass, targetID ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {

        if (objects[i].id.search(targetID) == -1) {
            objects[i].parentNode.style.display = 'none';
        } else {
            objects[i].parentNode.style.display = '';
        }
    }
}

function resetVisibility( targetClass, allVisible ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {     

        if (allVisible != 0) {
            objects[i].style.display = '';
        } else {
            objects[i].style.display = 'none';
        }
    }
}

function resetParentNodeVisibility( targetClass, allVisible ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {     

        if (allVisible != 0) {
            objects[i].parentNode.style.display = '';
        } else {
            objects[i].parentNode.style.display = 'none';
        }
    }
}

function resetWeight( targetClass, allNormal ) {

    var objects = document.getElementsByClassName( targetClass );

    for ( var i = 0; i < objects.length; i++ ) {     

        if (allNormal != 0) {
            objects[i].style.fontWeight = 'normal';
        } else {
            objects[i].style.fontWeight = 'bold';
        }
    }
}

/* Aufruf mehrerer Funktionen */

function multiCall11( func1,var11,func2,var21 ) {

    window[func1](var11);
    window[func2](var21);

}

function multiCall12( func1,var11,func2,var21,var22 ) {

    window[func1](var11);
    window[func2](var21,var22);

}

function multiCall22( func1,var11,var12,func2,var21,var22 ) {

    window[func1](var11,var12);
    window[func2](var21,var22);

}

function multiCall112( func1,var11,func2,var21,func3,var31,var32 ) {

    window[func1](var11);
    window[func2](var21);
    window[func3](var31,var32);

}

function multiCall122( func1,var11,func2,var21,var22,func3,var31,var32 ) {

    window[func1](var11);
    window[func2](var21,var22);
    window[func3](var31,var32);

}

function multiCall222( func1,var11,var12,func2,var21,var22,func3,var31,var32 ) {

    window[func1](var11,var12);
    window[func2](var21,var22);
    window[func3](var31,var32);

}

function multiCall2222( func1,var11,var12,func2,var21,var22,func3,var31,var32,func4,var41,var42 ) {

    window[func1](var11,var12);
    window[func2](var21,var22);
    window[func3](var31,var32);
    window[func4](var41,var42);

}

function singleCall2( func1,var11,var12 ) {

    window[func1](var11,var12);

}

/* Funktion um die Darstellung von Shadowtalk-Boxen im Artikel an- und abzuschalten */

function toggleShadowtalkTab() {
    mw.util.addPortletLink('p-cactions', 'javascript:switchVisibilityOnClass( "shadowtalkbox" )', 'Shadowtalk An/Aus', 'ca-last', 'Shadowtalk ein- oder ausblenden');
}

$( toggleShadowtalkTab );

/* Funktion zur Formatierung der Links auf Artikel in den besonderen Kategorien (Quellen, Abenteuer, Erzählungen) */

function formatLinksKategorie() {

    if ( document.location.href.search('/Kategorie:Quellen') != -1 || document.location.href.search('=Kategorie:Quellen') != -1 ) {

        var objects = document.getElementsByTagName( "a" );
        for ( var i = 0; i < objects.length; i++ ) {     
            objects[i].innerHTML = objects[i].innerHTML.replace(/Quelle, (cs|de|en|es|fr|he|hu|it|ja|pl|pt):/,"<tt class=\"language-$1\"><small>Quelle, </small>$1:</tt>").replace(/, <\/small>(de|en):/,", </small><span style=\"font-style:italic; color:green;\">$1</span>:").replace(/, <\/small>(cs|es|fr|he|hu|it|ja|pl|pt):/,", </small><span style=\"font-style:italic; color:purple;\">$1</span>:").replace(/\/Abbildungsverzeichnis/,"<tt><small>\/Abbildungsverzeichnis<\/small><\/tt>");
        }
    }

    if ( document.location.href.search('/Kategorie:Abenteuer') != -1 || document.location.href.search('=Kategorie:Abenteuer') != -1 ) {

        var objects = document.getElementsByTagName( "a" );
        for ( var i = 0; i < objects.length; i++ ) {     
            objects[i].innerHTML = objects[i].innerHTML.replace(/Abenteuer:/,"<small>Abenteuer:</small>");
        }
    }

    if ( document.location.href.search('/Kategorie:Erz%C3%A4hlungen') != -1 || document.location.href.search('=Kategorie:Erz%C3%A4hlungen') != -1 ) {

        var objects = document.getElementsByTagName( "a" );
        for ( var i = 0; i < objects.length; i++ ) {     
            objects[i].innerHTML = objects[i].innerHTML.replace(/Erzählung:/,"<small>Erzählung:</small>");
        }
    }

}

$( formatLinksKategorie );


/* Funktion um die Darstellung von Shadowtalk-Boxen als Defaulteinstellung in reduzierter Form darzustellen */

function defaultShadowtalkCollapsed() {

    var objects = document.getElementsByClassName( 'open-shadowtalk' );

    for ( var i = objects.length - 1; i >= 0; i-- ) {
       objects[i].style.display = 'none';
       objects[i].className     = "open-shadowtalk-" + i;
    }    

    var objects = document.getElementsByClassName( 'collapsed-shadowtalk' );

    for ( var i = objects.length - 1; i >= 0; i-- ) {
       objects[i].style.display = '';
       objects[i].className     = "collapsed-shadowtalk-" + i;
    }

    var objects = document.getElementsByClassName( 'st-jsFunctionButton' );

    for ( var i = objects.length - 1; i >= 0; i-- ) {
       objects[i].id        = "multiCall11_switchVisibilityOnClass_open-shadowtalk-" + i + "_switchVisibilityOnClass_collapsed-shadowtalk-" + i;
       objects[i].className = "jsFunctionButton";
    }

}

$( defaultShadowtalkCollapsed );

$( createFunctionButtons );