MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
No-L (Diskussion | Beiträge) Auf Wikipedia-Version akutalisiert |
K Veraltete ImportScript-Aufrufe migriert |
||
| Zeile 12: | Zeile 12: | ||
*/ | */ | ||
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload') { | if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload') { | ||
mw.loader.load( '/mediawiki/index.php?title=MediaWiki:Onlyifuploading.js&action=raw&ctype=text/javascript' ); | |||
mw.loader.load( '/mediawiki/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript' ); | |||
} | } | ||
| Zeile 21: | Zeile 21: | ||
*/ | */ | ||
if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' ) { | if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' ) { | ||
mw.loader.load( '/mediawiki/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript' ); | |||
} | } | ||
Aktuelle Version vom 4. Juni 2021, 00:33 Uhr
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
/**
* Sortierung von Umlauten und ß auch ohne [[Vorlage:SortKey]] ermöglichen
* For jquery.tablesorter.js
*/
mw.config.set( 'tableSorterCollation', {'Ä':'A', 'Ö':'O', 'Ü':'U', 'ä':'a', 'ö':'o', 'ü':'u', 'ß':'ss'} );
/**
* load the Edittools on [[Special:Upload]] and prefill the summary textarea
* Load pages: [[MediaWiki:Onlyifuploading.js]], [[MediaWiki:Onlyifediting.js]]
*/
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload') {
mw.loader.load( '/mediawiki/index.php?title=MediaWiki:Onlyifuploading.js&action=raw&ctype=text/javascript' );
mw.loader.load( '/mediawiki/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript' );
}
/**
* load the Edittools ([[MediaWiki:Edittools]], the part under the edit form)
* Load page: [[MediaWiki:Onlyifediting.js]]
*/
if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' ) {
mw.loader.load( '/mediawiki/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript' );
}
//================================================================================
//*** Dynamic Navigation Bars
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// mw.user.options.set( 'NavigationBarShowDefault', 0 ); // all bars will be hidden
// mw.user.options.set( 'NavigationBarShowDefault', 1 ); // on pages with more than 1 bar all bars will be hidden
// adds show/hide-button to navigation bars
// using 'jquery.makeCollapsible': for messages
// using 'user', 'mediawiki.user', 'user.options': wait for overrides in user.js
mw.loader.using( [ 'mediawiki.util', 'jquery.makeCollapsible', 'user', 'mediawiki.user', 'user.options' ], function() { $(function() {
// allow setting NavigationBarShowDefault
var showDefaultCount = mw.user.options.get( 'NavigationBarShowDefault',
typeof NavigationBarShowDefault !== 'undefined' ? NavigationBarShowDefault : 1 );
// allow user overrides for b/c
var textHide = typeof NavigationBarHide === 'string' ? NavigationBarHide : mw.msg( 'collapsible-collapse' );
var textShow = typeof NavigationBarShow === 'string' ? NavigationBarShow : mw.msg( 'collapsible-expand' );
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(NavToggle, NavFrame)
{
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data === textHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild !== null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className === 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className === 'NavContent') {
NavChild.style.display = 'none';
}
if (NavChild.className === 'NavToggle') {
NavChild.firstChild.data = textShow;
}
}
// if hidden now
} else if (NavToggle.firstChild.data === textShow) {
for (
var NavChild = NavFrame.firstChild;
NavChild !== null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className === 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className === 'NavContent') {
NavChild.style.display = 'block';
}
if (NavChild.className === 'NavToggle') {
NavChild.firstChild.data = textHide;
}
}
}
}
function toggleNavigationBarFunction(NavToggle, NavFrame) {
return function() {
toggleNavigationBar(NavToggle, NavFrame);
return false;
};
}
// iterate over all NavFrames
var NavFrames = mw.util.$content.find( 'div.NavFrame' );
// if more Navigation Bars found and not template namespace than Default: hide all
var initiallyToggle = showDefaultCount < NavFrames.length && mw.config.get( 'wgNamespaceNumber' ) !== 10;
for (var i=0; i<NavFrames.length; i++) {
var NavFrame = NavFrames[i];
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('href', '#');
var NavToggleText = document.createTextNode(textHide);
NavToggle.appendChild(NavToggleText);
// add NavToggle-Button as first div-element
// in < div class="NavFrame" >
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame);
if (initiallyToggle) {
toggleNavigationBar(NavToggle, NavFrame);
}
}
})});
//================================================================================
/**
* Fügt eine Betreffzeile auf leeren Artikel-Diskussionsseiten ein
*/
if( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgNamespaceNumber' ) === 1 ) {
$(function() {
$( '#ca-talk.new a' ).attr( 'href', function( index, attr ) {
return attr + '§ion=new';
});
});
}
/**
* Fügt bei SVG-Grafiken Links zu gerenderten PNGs in verschiedenen Breiten hinzu
*/
if (mw.config.get( 'wgNamespaceNumber' ) === 6) {
$( function() {
var file = $( '#file' ); // might fail if MediaWiki can't render the SVG
if( file.length && mw.config.get( 'wgIsArticle' ) && mw.config.get( 'wgTitle' ).match( /\.svg$/i ) ) {
var thumbsrc = file.find( 'img' ).attr( 'src' );
if( !thumbsrc ) {
return;
}
var svgAltSize = function( w, title ) {
var path = thumbsrc.replace( /\/\d+(px-[^\/]+$)/, "/" + w + "$1" );
var a = $( document.createElement("a") );
a.attr( 'href', path );
a.text( title );
return a;
};
var p = $( document.createElement("p") );
p.addClass( "SVGThumbs" );
p.append( document.createTextNode( "Aus SVG automatisch erzeugte PNG-Grafiken in verschiedenen Auflösungen"+": " ) );
var l = [ 200, 500, 1000, 2000 ];
for( var i = 0; i < l.length; i++ ) {
if( i !== 0 ) {
p.append( document.createTextNode( ", " ) );
}
p.append( svgAltSize( l[i], l[i] + "px" ) );
}
p.append( document.createTextNode( "." ) );
$( file.parent() ).find( 'div.fullMedia' ).append( p );
}
});
}
/**
* erzeuge einen "Neuen Abschnitt"-Link an der letzten Überschrift
*/
$( function() {
var newSectionLink = $( '#ca-addsection a' );
if( newSectionLink.length ) {
var link = newSectionLink.clone(); //create a copy
//avoid duplicate accesskey
link.removeAttr( 'accesskey' ).attr( 'title', function ( index, oldTitle ) {
return oldTitle.replace( /\s*\[.*\]\s*$/, '' );
} );
//add it within the brackets
var lastEditsectionLink = $( 'span.mw-editsection:last a:last' );
lastEditsectionLink.after( link );
lastEditsectionLink.after( ' | ' ); //see [[MediaWiki:Pipe-separator]]
}
});
/**
* Entferne [[Vorlage:Anker]] aus der Zusammenfassungszeile,
* damit diese beim generieren der Auto-Zusammenfassung nicht das Linkziel mit beeinflusst
*/
if ( mw.config.get( 'wgAction' ) === 'edit' ) {
$( function() {
$( '#wpSummary' ).val( function( i, val ) {
//Nur aktiv werden, wenn es auch eine Autozusammenfassung gibt
if( val.length <= 2 || val.substring( 0, 2 ) !== '/*' ) {
return val;
}
return val.replace( /\{\{[\s_]*:?[\s_]*(?:(?:Template|Vorlage)[\s_]*:[\s_]*)?Anker[\s_]*\|[^}]*\}\}\s*/gi, '' );
});
});
}