MediaWiki:Common.js: verschil tussen versies

Uit Wikikids
Naar navigatie springen Naar zoeken springen
Regel 178: Regel 178:
 
   }
 
   }
 
} );
 
} );
 +
 +
// ============================================================
 +
// BEGIN Dynamisch inklapbare div
 +
 +
// set up the words in your language
 +
var UitklapDivHide = 'Inklappen';
 +
var UitklapDivShow = 'Uitklappen';
 +
 +
// shows and hides content of Uitklap divs
 +
// Parameters:
 +
// indexUitklapDiv: the index of Uitklap div to be toggled
 +
var toggleUitklapDiv = window.toggleUitklapDiv = function(indexUitklapDiv) {
 +
var UitklapToggle = document.getElementById('UitklapToggle' + indexUitklapDiv);
 +
var UitklapFrame = document.getElementById('UitklapFrame' + indexUitklapDiv);
 +
var UitklapChild;
 +
 +
if (!UitklapFrame || !UitklapToggle) {
 +
return false;
 +
}
 +
 +
// if shown now
 +
if (UitklapToggle.firstChild.data === UitklapDivHide) {
 +
for (
 +
UitklapChild = UitklapFrame.firstChild;
 +
UitklapChild !== null;
 +
UitklapChild = UitklapChild.nextSibling
 +
) {
 +
if (UitklapChild.className === 'UitklapContent') {
 +
UitklapChild.style.display = 'none';
 +
}
 +
if (UitklapChild.className === 'UitklapToggle') {
 +
UitklapChild.firstChild.data = UitklapDivShow;
 +
}
 +
}
 +
 +
// if hidden now
 +
} else if (UitklapToggle.firstChild.data === UitklapDivShow) {
 +
for (
 +
UitklapChild = UitklapFrame.firstChild;
 +
UitklapChild !== null;
 +
UitklapChild = UitklapChild.nextSibling
 +
) {
 +
if (UitklapChild.className === 'UitklapContent') {
 +
UitklapChild.style.display = 'block';
 +
}
 +
if (UitklapChild.className === 'UitklapToggle') {
 +
UitklapChild.firstChild.data = UitklapDivHide;
 +
}
 +
}
 +
}
 +
};
 +
 +
// adds show/hide-button to navigation bars
 +
function createUitklapDivToggleButton() {
 +
var indexUitklapDiv = 0;
 +
var i, u, UitklapFrame;
 +
// iterate over all < div >-elements
 +
for (i = 0; (UitklapFrame = document.getElementsByTagName('div')[i]); i++) {
 +
// if found a navigation bar
 +
if (UitklapFrame.className === 'UitklapFrame' || UitklapFrame.className === 'UitklapFrameNoClear') {
 +
 +
indexUitklapDiv++;
 +
var UitklapToggle = document.createElement('a');
 +
UitklapToggle.className = 'UitklapToggle';
 +
UitklapToggle.setAttribute('id', 'UitklapToggle' + indexUitklapDiv);
 +
$(UitklapToggle).data('mwUitklapFrameIndex', indexUitklapDiv).click(function (e) {
 +
toggleUitklapDiv($(this).data('mwUitklapFrameIndex'));
 +
e.preventDefault();
 +
});
 +
 +
var UitklapToggleText = document.createTextNode(UitklapDivHide);
 +
UitklapToggle.appendChild(UitklapToggleText);
 +
 +
// add NavToggle-Button as first div-element
 +
// in < div class="UitklapFrame" >
 +
UitklapFrame.insertBefore(UitklapToggle, UitklapFrame.firstChild);
 +
UitklapFrame.setAttribute('id', 'UitklapFrame' + indexUitklapDiv);
 +
}
 +
}
 +
for (u = 1; u <= indexUitklapDiv; u++) {
 +
toggleUitklapDiv(u);
 +
}
 +
}
 +
 +
$(createUitklapDivToggleButton);
 +
 +
// EIND Dynamisch inklapbare div
 +
// ============================================================
  
 
/*</pre>*/
 
/*</pre>*/

Versie van 7 jul 2014 15:30

/* JavaScript die hier wordt geplaatst heeft invloed op alle pagina's voor alle gebruikers 

<pre>*/

//Als het goed is wordt de scrollbalk nu niet weergegeven, maar word het suggestievakje wat groter...
os_max_lines_per_suggest = 10;

/**********************************/
/* Pas op: Dit is een woordenboek */
/*                         script */
/* Sumurai8; contact: OP          */
/* Maakt 'tooltips' mogelijk      */
/* Zie Sjabloon:Wbwoord           */
/*     Sjabloon:Wbbetekenis       */
/**********************************/

var Wbq = ""
var Wbx = ""
var Wby = ""
var Wbz = ""
var WbK = "x" //keep it?

function enableTips() {
  for(var counter=1;counter<99;counter++) {
    Wbx = document.getElementById('woordenboek'+counter)
    Wbq = document.getElementById('woordenboekX'+counter)
    if(!Wbx) {
      break;
    }
    Wbq.style.display = "none"
    Wbx.style.display = ""
    Wbx.onmouseover = showWbTip
    Wbx.onmouseout = hideWbTip
    Wbx.onclick = keepWbTip
  }
}

addOnloadHook(enableTips)

function showWbTip() {
  if (WbK == "x") {
    Wbz = this.id
    Wbz = Wbz.substring(11,Wbz.length)
    Wby = document.getElementById('wbcontent'+Wbz)
    Wby.style.display = ""
  }
}

function hideWbTip() {
  if (WbK == "x") {
    Wby.style.display = "none"
  }
}

function keepWbTip() {
  if (WbK == "x") {
    WbK = "v"
  }
  else {
    WbK = "x"
  }
}

// <source lang='javascript'>

function protectionTemplates() {
  if (wgPageName == wgMainPageTitle || wgCanonicalNamespace == "Special" || typeof(wgRestrictionEdit) == "undefined") {
    // The current page is the main page, a special page or new. Nothing to do there!
    return false;
  }

  var content = document.getElementById('content');   
  if (content == null || document.getElementsByTagName('h1')[0] == null) {
    // There is no 'content' element and/or no h1 element. So quit.
    return false;
  }

  // Determine template.
  if (wgRestrictionEdit[0] != null && wgRestrictionEdit[0] == 'sysop') {
    // Editing is limited to sysops.
    var templateTitle = 'Beveiligd';
    var nodeId = 'templ_Beveiligd';
  } else if (wgRestrictionEdit[0] != null && wgRestrictionEdit[0] == 'autoconfirmed') {
    // Editing is limited to autoconfirmed users. Effectief nutteloos op deze wiki, dus geen sjabloon
    return false;
  } else if (wgRestrictionMove[0] != null) {
    // Moving the page is limited.
    var templateTitle = 'TitelBeveiligd';
    var nodeId = 'templ_TitelBeveiligd';
  } else {
    // The page is not protected.
    return false;
  }

  // Get template from API.
  var request = sajax_init_object();
  request.open('GET', wgServer + wgScriptPath + '/api.php?format=json&action=parse&text={{' + encodeURIComponent(templateTitle) + '}}&title=' + encodeURIComponent(wgPageName), true);
  request.onreadystatechange =
    function () {
      if (request.readyState != 4) return;
      if (request.status == 200 && request.responseText && request.responseText.charAt(0) == '{') {
        var json = eval ('(' + request.responseText + ')');
        if (json.parse.text['*']) {
          var divContent = json.parse.text['*'];
        }
      }

      if (divContent != null) {
        // We retrieved the template. Add it to the page.
        var divNode = document.createElement('div');
        divNode.id = nodeId;
        divNode.className = 'Titel_item3';
        divNode.innerHTML = divContent;
        content.insertBefore(divNode, document.getElementsByTagName('h1')[0]);
      }
      if( $('#awardtemplate').length ) { $('#protectedtext').hide() }
    };
  request.setRequestHeader ('Pragma', 'cache=yes');
  request.setRequestHeader ('Cache-Control', 'no-transform');
  request.send (null); 
}
 
addOnloadHook(protectionTemplates);


//Voeg automatisch beschrijvingsjabloon in op [[Speciaal:Upload]]
addOnloadHook( function() {
  $('.uploadTemplate').addClass('opvallend');
  if($('#wpDestFile').val() == "") {
    $('#wpUploadDescription').val('{{Afbeelding|\n|Wat staat er precies op de afbeelding?=\n|Waar heb je de afbeelding vandaan?=\n|Schrijf de complete link van de vindplaats op=\n|Wie heeft de afbeelding gemaakt?=\n|Heb je toestemming om de afbeelding te uploaden?=\n|Welke licentie?=\n}}');
    $('.uploadTemplate').hide();
  }
} );


//Automatische suggestie voor een al bestaand artikel over dit onderwerp in het enkelvoud
addOnloadHook( function() {
  if( $('.mw-newarticletext').length ) {
    var titles = [];
    if( wgTitle.split(" ").length > 1 ) {
      return false;
    }
    //Werken -> Werk
    if( wgTitle.substring( wgTitle.length - 2 ) == "en" ) {
      titles.push( wgTitle.substring( 0, wgTitle.length - 2 ) );
    }
    //Musicals -> Musical
    if( wgTitle.substring( wgTitle.length - 1 ) == "s" ) {
      titles.push( wgTitle.substring( 0, wgTitle.length - 1 ) );
    }
    //Fora -> Forum
    if( wgTitle.substring( wgTitle.length - 1 ) == "a" ) {
      titles.push( wgTitle.substring( 0, wgTitle.length - 1 ) + "um" );
    }
    //Technici -> Technicus
    if( wgTitle.substring( wgTitle.length - 1 ) == "i" ) {
      titles.push( wgTitle.substring( 0, wgTitle.length - 1 ) + "us" );
    }
    if( titles.length ) {
      $('.mw-newarticletext').append( $('<div></div>').addClass("mw-articleAlert") );
      $.get("http://wikikids.wiki.kennisnet.nl/api.php?action=query&prop=info&inprop=url&format=json&titles="+titles.join("|"), function( data ) { 
        for(page in data['query']['pages']) {
          if( data['query']['pages'][page]['missing'] != "" && data['query']['pages'][page]['redirect'] != "" ) {
            $('.mw-articleAlert').html('<b>Let op:</b> Er bestaat mogelijk al een artikel over dit onderwerp op deze pagina: <a href="'+data['query']['pages'][page]['fullurl']+'">'+data['query']['pages'][page]['title']+'</a>. Controleer dit eerst!').addClass("errorbox");
          }
        }
      } );
    }
  }
} );


//[Bugfix] Prepend de volledige url als de titel begint met een / en de relatieve url dus faalt
addOnloadHook( function() {
  if( wgPageName[0] == "/" ) {
    $('#editform').attr('action', '?action=submit');
    $('a[href^="/' + wgPageName + '"]').attr('href', function(i, oldval) { return '//wikikids.wiki.kennisnet.nl' + oldval } );
  }
} );

// ============================================================
	// BEGIN Dynamisch inklapbare div
 
	// set up the words in your language
	var UitklapDivHide = 'Inklappen';
	var UitklapDivShow = 'Uitklappen';
 
	// shows and hides content of Uitklap divs
	// Parameters:
	// indexUitklapDiv: the index of Uitklap div to be toggled
	var toggleUitklapDiv = window.toggleUitklapDiv = function(indexUitklapDiv) {
		var UitklapToggle = document.getElementById('UitklapToggle' + indexUitklapDiv);
		var UitklapFrame = document.getElementById('UitklapFrame' + indexUitklapDiv);
		var UitklapChild;
 
		if (!UitklapFrame || !UitklapToggle) {
			return false;
		}
 
		// if shown now
		if (UitklapToggle.firstChild.data === UitklapDivHide) {
			for (
				UitklapChild = UitklapFrame.firstChild;
				UitklapChild !== null;
				UitklapChild = UitklapChild.nextSibling
			) {
				if (UitklapChild.className === 'UitklapContent') {
					UitklapChild.style.display = 'none';
				}
				if (UitklapChild.className === 'UitklapToggle') {
					UitklapChild.firstChild.data = UitklapDivShow;
				}
			}
 
		// if hidden now
		} else if (UitklapToggle.firstChild.data === UitklapDivShow) {
			for (
				UitklapChild = UitklapFrame.firstChild;
				UitklapChild !== null;
				UitklapChild = UitklapChild.nextSibling
			) {
				if (UitklapChild.className === 'UitklapContent') {
					UitklapChild.style.display = 'block';
				}
				if (UitklapChild.className === 'UitklapToggle') {
					UitklapChild.firstChild.data = UitklapDivHide;
				}
			}
		}
	};
 
	// adds show/hide-button to navigation bars
	function createUitklapDivToggleButton() {
		var indexUitklapDiv = 0;
		var i, u, UitklapFrame;
		// iterate over all < div >-elements
		for (i = 0; (UitklapFrame = document.getElementsByTagName('div')[i]); i++) {
			// if found a navigation bar
			if (UitklapFrame.className === 'UitklapFrame' || UitklapFrame.className === 'UitklapFrameNoClear') {
 
				indexUitklapDiv++;
				var UitklapToggle = document.createElement('a');
				UitklapToggle.className = 'UitklapToggle';
				UitklapToggle.setAttribute('id', 'UitklapToggle' + indexUitklapDiv);
				$(UitklapToggle).data('mwUitklapFrameIndex', indexUitklapDiv).click(function (e) {
					toggleUitklapDiv($(this).data('mwUitklapFrameIndex'));
					e.preventDefault();
				});
 
				var UitklapToggleText = document.createTextNode(UitklapDivHide);
				UitklapToggle.appendChild(UitklapToggleText);
 
				// add NavToggle-Button as first div-element
				// in < div class="UitklapFrame" >
				UitklapFrame.insertBefore(UitklapToggle, UitklapFrame.firstChild);
				UitklapFrame.setAttribute('id', 'UitklapFrame' + indexUitklapDiv);
			}
		}
		for (u = 1; u <= indexUitklapDiv; u++) {
			toggleUitklapDiv(u);
		}
	}
 
	$(createUitklapDivToggleButton);
 
	// EIND Dynamisch inklapbare div
	// ============================================================

/*</pre>*/
Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=MediaWiki:Common.js&oldid=346272"