MediaWiki:InterProject.js: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Il check di doppia inclusione va fatto su p-wikibase-otherprojects |
Cambio riferimento per posizionare il menù nella giusta collocazione |
||
Riga 16: | Riga 16: | ||
if (!interPr) return; |
if (!interPr) return; |
||
var toolBox = document.getElementById('p- |
var toolBox = document.getElementById('p-coll-print_export'); |
||
var panel; |
var panel; |
||
if (toolBox) { |
if (toolBox) { |
Versione delle 22:40, 28 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-coll-print_export');
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');
}
} );