MediaWiki:InterProject.js
Revision as of 20:13, 27 May 2018 by Admin (talk | contribs) (Created page with "// <nowiki> /** * Workaround for phabricator:T2708 via Template:InterProject. * Originally based on code from wikt:de:MediaWiki:Common.js by * [[wikt:de:User:M...")
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
// <nowiki>
/**
* Workaround for [[phabricator:T2708]] 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.
*
* This script is being used by several Wikimedia Wikis, not only Wikimedia
* Commons.
*
* Maintainers: [[User:Krinkle]], [[User:Ilmari Karonen]]
*/
$( function () {
// avoid double execution
if ( document.getElementById('p-interproject') ) return;
var interPr = document.getElementById('interProject');
var sisterPr = document.getElementById('sisterProjects');
if (!interPr) return;
var toolBox = document.getElementById('p-tb');
var legacyPanel;
if (!toolBox) {
// legacy skins
var panelIds = ['mw-panel', 'panel', 'column-one', 'mw_portlets'];
for (var i = 0; !legacyPanel && i < panelIds.length; i++) {
legacyPanel = document.getElementById(panelIds[i]);
}
// can't find a place for the portlet, try to undo hiding
if (!legacyPanel) {
mw.util.addCSS('#interProject, #sisterProjects { display: block; }');
return;
}
}
mw.util.addCSS('#interProject, #sisterProjects { display: none; }');
var interProject = document.createElement('div');
interProject.id = 'p-interproject';
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 (legacyPanel) {
legacyPanel.appendChild(interProject);
} else {
$(toolBox).after(interProject);
}
} );