Benutzer:Umherirrender/monobook-flaggedrevs.js
Zur Navigation springen
Zur Suche springen
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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/*
* @author Umherirrender - [[:de:User:Umherirrender]]
* develop with and for Internet Explorer 11+
*
* gegen Übernahmen spricht nichts, nur bitte nicht diese JavaScript-Seite direkt einbinden
* ohne Gewähr und ohne Support
*
* verändert die Oberfläche von FlaggedRevs, damit so wenig wie möglich und nötige Elemente dieser Erweiterung sichtbar sind
* spielt auch mit Extra-CSS zusammen ([[Benutzer:Umherirrender/monobook-flaggedrevs.css]])
*/
//<nowiki>
mw.loader.using( [ 'mediawiki.util' ], function() { $( function () {
var contentElement = document.getElementById("bodyContent");
/* abhängig vom Namensraum */
var namespaceNumber = mw.config.get( 'wgNamespaceNumber' );
var title = mw.config.get( 'wgTitle' );
//nur Artikel und Dateien (und deren Diskussionseiten)
if (namespaceNumber == 0 || namespaceNumber == 1
|| namespaceNumber == 6 || namespaceNumber == 7
|| ((namespaceNumber == 14 || namespaceNumber == 15) && title.substring( 0, 8 ) != "Vorlage:")
)
{
/* sortiert die Tabs wieder richtig */
var cactions = document.getElementById("p-cactions");
var ul = cactions.getElementsByTagName("ul");
var li = ul[0].getElementsByTagName("li");
//nur wenn Entwurf vorhanden
var unstableTabIndex = 3;
if (li[unstableTabIndex].firstChild.firstChild.data == 'Ungesichtete Änderungen') {
//link umbiegen
li[0].firstChild.href = li[unstableTabIndex].firstChild.href;
//zusätzlichen tab auf ungesichtete Änderungen entfernen
ul[0].removeChild(li[unstableTabIndex]);
}
var stableTabIndex = 2;
if (li[stableTabIndex].firstChild.firstChild.data == 'Lesen') {
//zusätzlichen tab auf stablie Version entfernen
ul[0].removeChild(li[stableTabIndex]);
}
//reviewformular verbergen, interessiert mich noch bei Vorlagen, daher nicht per css
var reviewform = document.getElementById("mw-fr-reviewform");
if (reviewform)
{
reviewform.style.display = "none";
}
//hinweis auf status verbergen, interessiert mich noch bei Vorlagen, daher nicht per css
var revisiontag = document.getElementById("mw-fr-revisiontag");
if (revisiontag)
{
revisiontag.style.display = "none";
}
}
/* nur vorlagen/Module (und Diskussionsseite) und Vorlagenkategorien */
else if (namespaceNumber == 10 || namespaceNumber == 11
|| namespaceNumber == 828 || namespaceNumber == 829
|| ((namespaceNumber == 14 || namespaceNumber == 15) && title.substring( 0, 8 ) == "Vorlage:")
)
{
var cactions = document.getElementById("p-cactions");
var ul = cactions.getElementsByTagName("ul");
var li = ul[0].getElementsByTagName("li");
//richtig benennen - fixme
li[0].firstChild.firstChild.data = "Vorlage";
//kommentarbox einblenden
var commentbox = document.getElementById("mw-fr-commentbox");
if (commentbox)
{
commentbox.style.display = "block";
}
}
/* Abhängig von Aktion */
/* entfernt diff beim bearbeiten - außer beim undo */
var action = mw.config.get( 'wgAction' );
if( action == "edit"
&& ( namespaceNumber == 0 || namespaceNumber == 6 )
&& !document.getElementById( 'mw-undo-success' )
)
{
mw.util.addCSS(".diff { display:none; }");
}
//nur bei edit und submit
if (action == "edit" || action == "submit")
{
/* entfernt Checkbox "Markiere Version" beim Bearbeiten */
var div = contentElement.getElementsByTagName("div");
//suche div
for (var i = 0; i < div.length; i++)
{
//nur die editOptionen
if (div[i].className == "editOptions")
{
for (var j = 0; j < div[i].childNodes.length; j++)
{
if (div[i].childNodes[j].htmlFor == "wpReviewEdit")
{
//alles entfernen
div[i].removeChild(div[i].childNodes[j]);
div[i].removeChild(div[i].childNodes[j-1]);
div[i].removeChild(div[i].childNodes[j-2]);
div[i].removeChild(div[i].childNodes[j-3]);
break;
}
}
break;
}
}
}
/* abhängig von Spezialseitenname */
var canonicalSpecialPageName = mw.config.get( 'wgCanonicalSpecialPageName' );
/* nur für rc-listen */
if (canonicalSpecialPageName === "Recentchanges"
|| canonicalSpecialPageName === "Watchlist"
|| canonicalSpecialPageName === "Recentchangeslinked"
|| canonicalSpecialPageName === "Newpages"
)
{
/* entfernt die Option zum einblenden/ausblenden von kontrollierten Änderungen */
var fieldset = contentElement.getElementsByTagName("fieldset");
var allOptions = fieldset[0];
for ( var i = allOptions.childNodes.length-1; i >= 0; i-- ) {
var text = allOptions.childNodes[i].data;
if ( text == " | Kontrollierte Änderungen " || text == " | Markierte Bearbeitungen " ) {
//link danach
allOptions.removeChild(allOptions.childNodes[i+1]);
//eigentliche
allOptions.removeChild(allOptions.childNodes[i]);
}
}
/* entfernt das Ausrufezeichen und den Sichtungslink */
var li = contentElement.getElementsByTagName("li");
for (var i = 0; i < li.length; i++)
{
for (var j = 0; j < li[i].childNodes.length; j++)
{
//das ausrufezeichen
if (li[i].childNodes[j].className == "unpatrolled")
{
//nur wenn nichts davor steht leerraum entfernen
if (!li[i].childNodes[j-1].className)
{
li[i].removeChild(li[i].childNodes[j+1]);
}
//eigentliches entfernen
li[i].removeChild(li[i].childNodes[j]);
}
//sichtenlink
if (li[i].childNodes[j].className == "mw-fr-reviewlink")
{
//eigentliches entfernen
li[i].removeChild(li[i].childNodes[j]);
//den leerbereich
li[i].removeChild(li[i].childNodes[j-1]);
}
}
}
}
/* nur für Log */
else if (canonicalSpecialPageName === "Log") {
/* entfernt die Option zum einblenden/ausblenden von Kontroll- und Versionsmarkierungs-Log */
var fieldset = contentElement.getElementsByTagName("fieldset");
var option = contentElement.getElementsByTagName("option");
var select = contentElement.getElementsByTagName("select");
var input = contentElement.getElementsByTagName("input");
//entferne Auswahlmöglichkeit für FlaggedRevs-Logs
for( var j = 0; j < input.length; j++ ) {
if( input[j] && (input[j].name == "hide_review_log" || input[j].name == "hide_patrol_log") ) {
//das p indem die boxen stehen
var parent = input[j].parentNode;
//es braucht den Vater des p um das ganze zu entfernen und somit neben den input-Elementen auch die Texte
if( parent && parent.parentNode ) {
parent.parentNode.removeChild(parent);
}
break;
}
}
for (var i = 0; i < option.length; i++) {
//auswahlmöglichkeit für Logbücher der FlaggedRevs entfernen
if ( option[i].value == "patrol"
|| option[i].value == "review"
|| option[i].value == "stable"
) {
select[0].removeChild(option[i]);
//da length auch kleiner wird, ansonsten würde einer übersprungen
i--;
}
}
}
//nur für "Neue Seiten"
else if (canonicalSpecialPageName === "Newpages")
{
/* entfernt die Option zum einblenden/ausblenden von kontrollierten Änderungen */
var td = contentElement.getElementsByTagName("td");
//text steht in irgendeiner tabellenzelle
for (var i = 0; i < td.length; i++)
{
if (td[i].className == "mw-input")
{
var childNodes = td[i].childNodes;
for (var j = 0; j < childNodes.length; j++)
{
if (childNodes[j].data == " | Kontrollierte Änderungen ")
{
//element selber und nachfolger
td[i].removeChild(childNodes[j]);
td[i].removeChild(childNodes[j]);
break;
}
}
break;
}
}
}
//nur bei Übersicht der Spezialseiten
else if (canonicalSpecialPageName === "Specialpages")
{
/* bereinigt Special:Specialpages */
for (var i = 0; i < contentElement.childNodes.length; i++)
{
//nur Überschriften näher Untersuchen
if (contentElement.childNodes[i].className == "mw-specialpagesgroup")
{
//nur Überschrift der Qualitätssicherung
if (contentElement.childNodes[i].firstChild.data == "Qualitätssicherung")
{
//die Überschrift und tabelle danach entfernen
contentElement.removeChild(contentElement.childNodes[i]);
contentElement.removeChild(contentElement.childNodes[i]);
break;
}
}
}
}
});});
//</nowiki> __NOINDEX__