Benutzer:Loki/monobook.js: Unterschied zwischen den Versionen

Aus Shadowhelix
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(strukturwechsel)
Zeile 28: Zeile 28:
         if ( hasClass( Navigation[i], "jahresartikel" ) ) {
         if ( hasClass( Navigation[i], "jahresartikel" ) ) {
   
   
             var Button1    = document.createElement( "span" );
          \* Variablen *\
             var Button1Link = document.createElement( "a" );
             var ButtonID = new Array(11);
             var Button1Text = document.createTextNode( "Alles" );
            ButtonID[0]  = "Drachen";
   
             ButtonID[1]  = "Katastrophen";
             Button1.style.styleFloat = "right";
             ButtonID[2]  = "Konzerne";
             Button1.style.cssFloat = "right";
            ButtonID[3] = "Kriege";
             Button1.style.fontWeight = "normal";
             ButtonID[4]  = "Magie";
             Button1.style.textAlign = "right";
             ButtonID[5]  = "Metamenschen";
             Button1.style.width = "6em";
             ButtonID[6]  = "Politik";
   
             ButtonID[7]  = "Sport";
             Button1Link.style.color = Navigation[i].style.color;
             ButtonID[8]  = "Technologie";
             Button1Link.setAttribute( "id", "AllesButton" );
            ButtonID[9] = "Unterwelt";
             Button1Link.setAttribute( "href", "javascript:obj_toggle()" );
             ButtonID[10] = "Alles";
             Button1Link.appendChild( Button1Text );
 
             var Button    = document.createElement( "span" );
             Button1.appendChild( document.createTextNode( "[" ) );
 
             Button1.appendChild( Button1Link );
             Button.style.styleFloat = "left";
             Button1.appendChild( document.createTextNode( "]" ) );
            Button.style.cssFloat = "left";
             Button.style.fontWeight = "normal";
             Navigation[i].insertBefore( Button1, Navigation[i].childNodes[0] );
             Button.style.textAlign = "center";
             Button.style.width = "6em";
 
             var ButtonLink = document.createElement( "a" );
 
             ButtonLink.style.color = Navigation[i].style.color;


             var Button2    = document.createElement( "span" );
             for ( var j = 0; j < Button.length; j++ ) {
            var Button2Link = document.createElement( "a" );
            var Button2Text = document.createTextNode( "Magie" );
            Button2.style.styleFloat = "right";
            Button2.style.cssFloat = "right";
            Button2.style.fontWeight = "normal";
            Button2.style.textAlign = "left";
            Button2.style.width = "6em";


            var test = "magie";
                var CopyButton = Button;
                var CopyButtonLink = ButtonLink;
                if (j == (Button.length - 1)) {
                    Button.style.styleFloat = "right";
                    Button.style.cssFloat = "right";
                }


            Button2Link.style.color = Navigation[i].style.color;
                var CopyButtonText = document.createTextNode( ButtonID[j] );
            Button2Link.setAttribute( "id", "MagieButton" );
            Button2Link.setAttribute( "href", "javascript:obj_toggle_theme('"+test+"')" );
            Button2Link.appendChild( Button2Text );
   
   
            Button2.appendChild( document.createTextNode( "[" ) );
                CopyButtonLink.setAttribute( "id", ButtonID[j] );
            Button2.appendChild( Button2Link );
               
            Button2.appendChild( document.createTextNode( "]" ) );
                if (j == (Button.length - 1) ) {
                    CopyButtonLink.setAttribute( "href", "javascript:obj_toggle()" );
                } else {
                    CopyButtonLink.setAttribute( "href", "javascript:obj_toggle_theme('"+ButtonID[j].toLowerCase()+"')" );
                }
                CopyButtonLink.appendChild( CopyButtonText );
   
   
            Navigation[i].insertBefore( Button2, Navigation[i].childNodes[0] );
                CopyButton.appendChild( document.createTextNode( "[" ) );
                CopyButton.appendChild( CopyButtonLink );
                CopyButton.appendChild( document.createTextNode( "]" ) );
                Navigation[i].insertBefore( CopyButton, Navigation[i].childNodes[0] );
 
            }


         }
         }

Version vom 22. Juli 2008, 13:17 Uhr

/* Ergänzung der Editierzeile mit zusätzlichen Buttons */

if (mwCustomEditButtons) {

    mwCustomEditButtons[mwCustomEditButtons.length] = {
        "imageFile": "http://shadowhelix.de/images/b/b9/Button_E.png",
        "speedTip": "Artikelende",
        "tagOpen": "<!-- Ende des Artikelinhalts - Metainformationen -->",
        "tagClose": "",
        "sampleText": ""};

    mwCustomEditButtons[mwCustomEditButtons.length] = {
        "imageFile": "http://shadowhelix.de/images/b/b0/Button_trash.png",
        "speedTip": "Löschantrag",
        "tagOpen": "{{Löschantrag|}}",
        "tagClose": "",
        "sampleText": ""};

}

/* Buttons für Jahresartikel-Navigation */

function createNavButtons() {

    var Navigation = document.getElementsByTagName( "div" );
 
    for ( var i = 0; i < Navigation.length; i++ ) {
        if ( hasClass( Navigation[i], "jahresartikel" ) ) {
 
          \* Variablen *\
            var ButtonID = new Array(11);
            ButtonID[0]  = "Drachen";
            ButtonID[1]  = "Katastrophen";
            ButtonID[2]  = "Konzerne";
            ButtonID[3]  = "Kriege";
            ButtonID[4]  = "Magie";
            ButtonID[5]  = "Metamenschen";
            ButtonID[6]  = "Politik";
            ButtonID[7]  = "Sport";
            ButtonID[8]  = "Technologie";
            ButtonID[9]  = "Unterwelt";
            ButtonID[10] = "Alles";

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

            Button.style.styleFloat = "left";
            Button.style.cssFloat = "left";
            Button.style.fontWeight = "normal";
            Button.style.textAlign = "center";
            Button.style.width = "6em";

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

            ButtonLink.style.color = Navigation[i].style.color;

            for ( var j = 0; j < Button.length; j++ ) {

                var CopyButton = Button;
                var CopyButtonLink = ButtonLink;
                if (j == (Button.length - 1)) {
                    Button.style.styleFloat = "right";
                    Button.style.cssFloat = "right";
                }

                var CopyButtonText = document.createTextNode( ButtonID[j] );
 
                CopyButtonLink.setAttribute( "id", ButtonID[j] );
                
                if (j == (Button.length - 1) ) {
                    CopyButtonLink.setAttribute( "href", "javascript:obj_toggle()" );
                } else {
                    CopyButtonLink.setAttribute( "href", "javascript:obj_toggle_theme('"+ButtonID[j].toLowerCase()+"')" );
                }
                CopyButtonLink.appendChild( CopyButtonText );
 
                CopyButton.appendChild( document.createTextNode( "[" ) );
                CopyButton.appendChild( CopyButtonLink );
                CopyButton.appendChild( document.createTextNode( "]" ) );
 
                Navigation[i].insertBefore( CopyButton, Navigation[i].childNodes[0] );

            }

        }
    }
 
}
 
addOnloadHook( createNavButtons );

/* Ausblendfunktionen */

function obj_toggle() {
	var objects = document.getElementsByTagName('td');
	for (var i=0; i < objects.length; i++) {
		objects[i].style.display = ''
	}
}

function obj_toggle_magie() {
	obj_toggle();
	var objects = document.getElementsByTagName('td');
	for (var i=0; i < objects.length; i++) {
		var keys = String(objects[i].getAttribute('id'));
		if (keys.search("magie") != -1) {}
		else {objects[i].style.display = 'none'}
	}
}

function obj_toggle_theme( theme ) {

	obj_toggle();
	var objects = document.getElementsByTagName('td');
	for (var i=0; i < objects.length; i++) {
		var keys = String(objects[i].getAttribute('id'));
		if (keys.search(theme) != -1) {}
		else {objects[i].style.display = 'none'}
	}
}

/* Test if an element has a certain class
 *
 * Copied from Wikipedia
 */
 
var hasClass = (function () {
    var reCache = {};
    return function (element, className) {
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
    };
})();