MediaWiki:InterProject.js: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Modificato per creare un solo menù Altri progetti quando la ''beta feature'' è abilitata. I risultati del template interprogetto, quando presenti, sovrascrivono quelli della ''beta feature''.
 
Il check di doppia inclusione va fatto su p-wikibase-otherprojects
Riga 10: Riga 10:
*/
*/
$( function () {
$( function () {
if ( document.getElementById('p-interproject') ) return; // avoid double inclusion
if ( document.getElementById('p-wikibase-otherprojects') ) return; // avoid double inclusion
var interPr = document.getElementById('interProject');
var interPr = document.getElementById('interProject');

Versione delle 01:07, 24 nov 2014

// <nowiki>
 
/**
 * Workaround for [[bugzilla:708]] via [[Template:InterProject]].
 * Originally based on code from [[wikt:de:MediaWiki:Common.js]] by [[wikt:de:User:Melancholie]],
 * cleaned up and modified for compatibility with the Vector skin.
 *
 * Maintainers: [[User:Krinkle]], [[User:Ilmari Karonen]]
 * Modified by: [[User:Andyrom75]]
 */
$( function () {
	if ( document.getElementById('p-wikibase-otherprojects') ) return; // avoid double inclusion
 
	var interPr = document.getElementById('interProject');
	var sisterPr = document.getElementById('sisterProjects');
	if (!interPr) return;
 
	var toolBox = document.getElementById('p-tb');
	var panel;
	if (toolBox) {
		panel = toolBox.parentNode;
	} else {
		// stupid incompatible skins...
		var panelIds = ['mw-panel', 'panel', 'column-one', 'mw_portlets'];
		for (var i = 0; !panel && i < panelIds.length; i++) {
			 panel = document.getElementById(panelIds[i]);
		}
		// can't find a place for the portlet, try to undo hiding
		if (!panel) {
			mw.util.addCSS('#interProject, #sisterProjects { display: block; }');
			return;
		}
	}
 
	mw.util.addCSS('#interProject, #sisterProjects { display: none; }');
 
	var interProject = document.createElement("div");
	$('#p-wikibase-otherprojects').remove();
	interProject.id = "p-wikibase-otherprojects";
 
	interProject.className = (mw.config.get('skin') == 'vector' ? 'portal' : 'portlet');
 
	interProject.innerHTML =
		'<h3>' +
		(sisterPr && sisterPr.firstChild ? sisterPr.firstChild.innerHTML : "Sister Projects") +
		'<\/h3><div class="' + (mw.config.get('skin') == "vector" ? "body" : "pBody") +'">' +
		interPr.innerHTML + '<\/div>';
 
	if (toolBox && toolBox.nextSibling) {
		panel.insertBefore(interProject, toolBox.nextSibling);
	} else {
		panel.appendChild(interProject);
	}
	var state = $.cookie('vector-nav-' + interProject.id);
	if (state === 'true') {
		$(interProject).addClass('expanded').find('.body, .pBody').show();
	} else {
		$(interProject).addClass('collapsed');
	}
} );