MediaWiki:Common.js

Uut Wikipedia, de vrye encyklopedy

Upmarking: nå et uutgeaven, sül jy lichtkans et tüskengehöägen van juw webkyker mütten leadigen üm de wysigingen te seen.

  • Firefox / Safari: hold Shift indrükked terwyl jy up Herladen klikket, of drük up Ctrl-F5 of Ctrl-R (⌘-R up een Mac)
  • Google Chrome: drük up Ctrl-Shift-R (⌘-Shift-R up een Mac)
  • Internet Explorer / Edge: hold Ctrl indrükked terwyl jy up Herladen klikket, of drük up Ctrl-F5
  • Opera: gå nå Menü → Instellingen (Opera → Vöärköären up een Mac) en dan nå Privaatheid & beveiliging → Söökgeskydenisse wisken → Tydelike afbealdingen en bestanden.
/* Vöärblad: alle talen derbie */

function mainPageAppendCompleteListLink() {
    try {
        var node = document.getElementById( "p-lang" )
                           .getElementsByTagName('div')[0]
                           .getElementsByTagName('ul')[0];

        var aNode = document.createElement( 'a' );
        var liNode = document.createElement( 'li' );

        aNode.appendChild( document.createTextNode( 'Alle språken' ) );
        aNode.setAttribute( 'href' , '//meta.wikimedia.org/wiki/List_of_Wikipedias' );
        liNode.appendChild( aNode );
        liNode.className = 'interwiki-completelist';
        node.appendChild( liNode );
     } catch(e) {
       // lets just ignore what's happened
       return;
    }
}

if ( mw.config.get('wgIsMainPage') ) {
       $( mainPageAppendCompleteListLink );
}

// -------------------------------------------------------------------------------
//  Force Preview and Edit-Summary - Start
//  Bron: https://www.mediawiki.org/wiki/Manual:Force_preview
//  Anoniemen mutten eerst ziejen naokieken veur ze t opslaon, um t vandalisten lastiger te maken.
// -------------------------------------------------------------------------------
var permittedGroups = [ "user"];

function forcePreview() 
{
  if( mw.config.get('wgAction') != "edit") return;
  var userGroups = mw.config.get('wgUserGroups');
  if( userGroups === null) {
    userGroups = [];
  }
  if (userGroups.filter(function(group) {return permittedGroups.indexOf(group) > -1;})) {
	return;
  }
  var saveButton = document.getElementById("wpSave");
  if( !saveButton )
    return;
  saveButton.disabled = true;
  saveButton.value = "Syde upslån (eyrst nåkyken)";
  saveButton.style.fontWeight = "normal";
  document.getElementById("wpPreview").style.fontWeight = "bold";
}

$(forcePreview);
// Force Preview and Edit-Summary - End


	// ============================================================
	// BEGIN Dynamisk inklapbåre div

	// set up the words in your language
	var UutklapDivHide = 'Inklappen';
	var UutklapDivShow = 'Uutklappen';

	// shows and hides content of Uutklap divs
	// Parameters:
	// indexUutklapDiv: the index of Uutklap div to be toggled
	var toggleUutklapDiv = window.toggleUutklapDiv = function(indexUutklapDiv) {
		var UutklapToggle = document.getElementById('UutklapToggle' + indexUutklapDiv);
		var UutklapFrame = document.getElementById('UutklapFrame' + indexUutklapDiv);
		var UutklapChild;

		if (!UutklapFrame || !UutklapToggle) {
			return false;
		}

		// if shown now
		if (UutklapToggle.firstChild.data === UutklapDivHide) {
			for (
				UutklapChild = UutklapFrame.firstChild;
				UutklapChild !== null;
				UutklapChild = UutklapChild.nextSibling
			) {
				if (UutklapChild.className === 'UutklapContent') {
					UutklapChild.style.display = 'none';
				}
				if (UutklapChild.className === 'UutklapToggle') {
					UutklapChild.firstChild.data = UutklapDivShow;
				}
			}

		// if hidden now
		} else if (UutklapToggle.firstChild.data === UutklapDivShow) {
			for (
				UutklapChild = UutklapFrame.firstChild;
				UutklapChild !== null;
				UutklapChild = UutklapChild.nextSibling
			) {
				if (UutklapChild.className === 'UutklapContent') {
					UutklapChild.style.display = 'block';
				}
				if (UutklapChild.className === 'UutklapToggle') {
					UutklapChild.firstChild.data = UutklapDivHide;
				}
			}
		}
	};

	// adds show/hide-button to navigation bars
	function createUutklapDivToggleButton() {
		var indexUutklapDiv = 0;
		var i, u, UutklapFrame;
		// iterate over all < div >-elements
		for (i = 0; (UutklapFrame = document.getElementsByTagName('div')[i]); i++) {
			// if found a navigation bar
			if (UutklapFrame.className === 'UutklapFrame' || UutklapFrame.className === 'UutklapFrameNoClear') {

				indexUutklapDiv++;
				var UutklapToggle = document.createElement('a');
				UutklapToggle.className = 'UutklapToggle';
				UutklapToggle.setAttribute('id', 'UutklapToggle' + indexUutklapDiv);
				$(UutklapToggle).data('mwUutklapFrameIndex', indexUutklapDiv).click(function (e) {
					toggleUutklapDiv($(this).data('mwUutklapFrameIndex'));
					e.preventDefault();
				});

				var UutklapToggleText = document.createTextNode(UutklapDivHide);
				UutklapToggle.appendChild(UutklapToggleText);

				// add NavToggle-Button as first div-element
				// in < div class="UutklapFrame" >
				UutklapFrame.insertBefore(UutklapToggle, UutklapFrame.firstChild);
				UutklapFrame.setAttribute('id', 'UutklapFrame' + indexUutklapDiv);
			}
		}
		for (u = 1; u <= indexUutklapDiv; u++) {
			toggleUutklapDiv(u);
		}
	}

	$(createUutklapDivToggleButton);

	// ENDE Dynamisk inklapbåre div
	// ============================================================

    if ( typeof String.prototype.escapeRE === 'undefined' ) {
            String.prototype.escapeRE = function() {
                    return this.replace(/([\\{}()|.?*+^$\[\]])/g, "\\$1");
            };
    }

/**
 * Top icons script
 * Zie oek CSS
 */
$( function( $ ) {
 $( '.Top_icon_raw' )
  .removeClass( 'Top_icon_raw' )
  .addClass( 'Top_icon_dynamic' )
  .prependTo( '#firstHeading' );
} );

/**
 * Collapsible tables
 *
 * @version 2.0.2 (2014-03-14)
 * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
 * @author [[User:R. Koot]]
 * @author [[User:Krinkle]]
 * @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which
 * is supported in MediaWiki core.
 */
/*global $, mw */
var autoCollapse = 2;
var collapseCaption = 'Inklappen';
var expandCaption = 'Uutklappen';
 
function collapseTable( tableIndex ) {
	var Button = document.getElementById( 'collapseButton' + tableIndex );
	var Table = document.getElementById( 'collapsibleTable' + tableIndex );
 
	if ( !Table || !Button ) {
		return false;
	}
 
	var Rows = Table.rows;
	var i;
 
	if ( Button.firstChild.data === collapseCaption ) {
		for ( i = 1; i < Rows.length; i++ ) {
			Rows[i].style.display = 'none';
		}
		Button.firstChild.data = expandCaption;
	} else {
		for ( i = 1; i < Rows.length; i++ ) {
			Rows[i].style.display = Rows[0].style.display;
		}
		Button.firstChild.data = collapseCaption;
	}
}
 
function createClickHandler( tableIndex ) {
	return function ( e ) {
		e.preventDefault();
		collapseTable( tableIndex );
	};
}
 
function createCollapseButtons() {
	var tableIndex = 0;
	var NavigationBoxes = {};
	var Tables = document.getElementsByTagName( 'table' );
	var i;
 
	for ( i = 0; i < Tables.length; i++ ) {
		if ( $( Tables[i] ).hasClass( 'collapsible' ) ) {
			/* only add button and increment count if there is a header row to work with */
			var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
			if ( !HeaderRow ) {
				continue;
			}
			var Header = HeaderRow.getElementsByTagName( 'th' )[0];
			if ( !Header ) {
				continue;
			}
 
			NavigationBoxes[tableIndex] = Tables[i];
			Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );
 
			var Button = document.createElement( 'span' );
			var ButtonLink = document.createElement( 'a' );
			var ButtonText = document.createTextNode( collapseCaption );
 			// TODO: Declare styles in [[MediaWiki:Gadget-collapsibleTables.css]]
			// Button.className = 'collapseButton';
			Button.style.styleFloat = 'right';
			Button.style.cssFloat = 'right';
			Button.style.fontWeight = 'normal';
			Button.style.textAlign = 'right';
			Button.style.width = '6em';
 
			ButtonLink.style.color = Header.style.color;
			ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
			ButtonLink.setAttribute( 'href', '#' );
			$( ButtonLink ).on( 'click', createClickHandler( tableIndex ) );
			ButtonLink.appendChild( ButtonText );
 
			Button.appendChild( document.createTextNode( '[' ) );
			Button.appendChild( ButtonLink );
			Button.appendChild( document.createTextNode( ']' ) );
 
			Header.insertBefore( Button, Header.firstChild );
			tableIndex++;
		}
	}
 
	for ( i = 0; i < tableIndex; i++ ) {
		if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) ||
			( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) )
		) {
			collapseTable( i );
		}
	}
}
 
mw.hook( 'wikipage.content' ).add( createCollapseButtons );