Archive/SidebarDropdown

From Linkwiki
tbd @

This sidebar dropdown menu was replaced by Extension:DynamicSidebar in Wiki Aventurica.

/**
 * Fügt der Seitenleiste einige Auswahlmenüs mit hilfreichen Links hinzu.
 * 
 * @source https://de.wikipedia.org/wiki/Benutzer:Schnark/js/dropdown.js
 * documentation on https://de.wikipedia.org/wiki/Benutzer:Schnark/js/dropdown
 * @version 21.05.2024, adapted for Wiki Aventurica
 * @author [[wpde:Benutzer:Schnark]] on https://de.wikipedia.org
 */
/************** 
Wer die angezeigten Links anpassen möchte, muss zuerst das Gadget "SidebarDropdown" _ab_schalten.
 Dann folgendes bis zur Sternchenreihe nach [[Spezial:MyPage/Vector.js]],
 [[Spezial:MyPage/Monobook.js]] oder [[Spezial:MyPage/Common.js]] kopieren und anpassen.
***************

var linkoverride = {
	'> Abstimmung': {
		'Diskussionsbedarf': 'Wiki Aventurica:Diskussionsbedarf',
		'Abstimmung in Vorbereitung': 'Kategorie:Abstimmung in Vorbereitung',
		'Mini-Abstimmung': 'Kategorie:Mini-Abstimmung',
		'Abstimmungen': 'Wiki Aventurica:Abstimmungen'
	},
	'> Feedback': {
		'Kritik und Anregungen': 'Wiki Aventurica:Kritik und Anregungen',
		'Probleme mit dem Spamfilter': 'Wiki Aventurica:Probleme mit dem Spamfilter',
		'Darstellungsprobleme': 'Wiki Aventurica:Darstellungsprobleme',
		'Fehler nach dem Update': 'Wiki Aventurica:Fehler nach dem Update',
		'Gadget-Wunschliste': 'Wiki Aventurica:Gadget-Wunschliste',
		'Extension-Wunschliste': 'Wiki Aventurica:Extension-Wunschliste'
	},
	'> Wartung': {
		'Seiten ohne interne Links': 'Spezial:Sackgassenseiten',
		'Verwaiste Seiten': 'Spezial:Verwaiste Seiten',
		'Defekte externe Links': 'Spezial:RottenLinks',
		'Seiten mit defekten Dateilinks': 'Kategorie:Seiten mit defekten Dateilinks'
	},
	'> Suchen': {
		'Seiten': 'Spezial:Suche',
		'Weblinks': 'Spezial:Weblinksuche',
		'Kategorie-Schnittmengen': 'Spezial:MultiCategorySearch',
		'ISBN': 'Spezial:ISBN-Suche'
	},
	'> Wikiinfos': {
		'Statistik': 'Spezial:Statistik',
		'Version': 'Spezial:Version',
		'Gruppenrechte': 'Spezial:Gruppenrechte',
		'Interwikidaten': 'Spezial:Interwikitabelle',
		'Formatvorlagen': 'Spezial:Boilerplates'
	}
};
importScript('MediaWiki:Gadget-SidebarDropdown.js');

***********************************************************/

(function ($, mw) {
"use strict";
var dropmenu = {
	'> Suchen': {
		'Seiten': 'Spezial:Suche',
		'Weblinks': 'Spezial:Weblinksuche',
		'Kategorie-Schnittmengen': 'Spezial:MultiCategorySearch',
		'ISBN': 'Spezial:ISBN-Suche'
	},
	'> Konsensfindung': {
		'Diskussionen': 'Wiki Aventurica:Diskussion',
		'Moderatorentreffen': 'Wiki Aventurica:Moderatorentreffen',
		'Abstimmung in Vorbereitung': 'Kategorie:Abstimmung in Vorbereitung',
		'Abstimmungen': 'Wiki Aventurica:Abstimmungen'
	},
	'> Feedback': {
		'Kritik und Anregungen': 'Wiki Aventurica:Kritik und Anregungen',
		'Probleme mit dem Spamfilter': 'Wiki Aventurica:Probleme mit dem Spamfilter',
		'Fehlermeldungen': 'Wiki Aventurica:Bugs',
		'Gadget-Wunschliste': 'Wiki Aventurica:Gadget-Wunschliste',
		'Extension-Wunschliste': 'Wiki Aventurica:Extension-Wunschliste'
	},
	'> Wartung': {
		'Zentrale Wartungsseite': 'Wiki Aventurica:Wartung',
		'Seiten ohne interne Links': 'Spezial:Sackgassenseiten',
		'Verwaiste Seiten': 'Spezial:Verwaiste Seiten',
		'Defekte externe Links': 'Wiki Aventurica:Defekte externe Links',
		'Seiten mit defekten Dateilinks': 'Kategorie:Seiten mit defekten Dateilinks'
	},
	'> Wiki-Infos': {
		'Statistik': 'Spezial:Statistik',
		'Version': 'Spezial:Version',
		'Gruppenrechte': 'Spezial:Gruppenrechte',
		'Interwikidaten': 'Spezial:Interwikitabelle',
		'Formatvorlagen': 'Spezial:Boilerplates'
	}
};

function init () {
	var dropdowns = window.linkoverride || dropmenu;
	var html = '', d, e, href, hasOwn = Object.prototype.hasOwnProperty;
	for (d in dropdowns) {
		if (hasOwn.call(dropdowns, d)) {
			html += '<div><select size="1" style="width: 100%;" class="dropdown-select">' +
				mw.html.element('option', {value: ''}, d);
			for (e in dropdowns[d]) {
				if (hasOwn.call(dropdowns[d], e)) {
					href = dropdowns[d][e];
					if (!href.match(/^(?:https?:)?\/\//)) {
						href = mw.util.getUrl(href);
					}
					html += mw.html.element('option', {value: href}, e);
				}
			}
			html += '</select></div>';
		}
	}
	$('#p-tb').before(html);
	$('select.dropdown-select').on('change', function () {
		var val = this.value;
		if (val) {
			document.location.href = val;
		}
	});
}

mw.loader.using('mediawiki.util', function () {
	$(init);
});
})(jQuery, mediaWiki);