MediaWiki:Common.js
OBS: Efter du har publicerat sidan kan du behöva tömma din webbläsares cache för att se ändringarna.
- Firefox / Safari: Håll ned Skift och klicka på Uppdatera sidan eller tryck Ctrl-F5 eller Ctrl-R (⌘-R på Mac)
- Google Chrome: Tryck Ctrl-Skift-R (⌘-Skift-R på Mac)
- Internet Explorer / Edge: Håll ned Ctrl och klicka på Uppdatera eller tryck Ctrl-F5
- Opera: Tryck Ctrl-F5.
/**
* WikiMiniAtlas is a popup click and drag world map.
* See [[meta:WikiMiniAtlas]] for more information.
* Maintainers: [[w:User:Dschwen]]
*/
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
// Ändrar koordinatikonen; default är 18px-Erioll_world.svg.png, men nedanstående gör
// sig lite bättre i liten storlek; dessutom minskad storlek för att bättre passa ihop
// med stjärnikonerna för utvalda artiklar.
var wma_settings = {
buttonImage: '//upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Ambox_globe.svg/15px-Ambox_globe.svg.png'
}
// Sökfunktion med flera sökmotorer
/** Change Special:Search to use a radio menu *******************************************************
*
* Description: Change Special:Search to use a radio menu, with the default being
* the internal MediaWiki engine
* Created and maintained by: [[:fr:User:Pmartin]]
*/
if ((mw.config.get('wgNamespaceNumber') == -1) && (mw.config.get('wgCanonicalSpecialPageName') == "Search")) {
var searchEngines = {
mediawiki: {
ShortName: "Wikipedia-sök",
Template: mw.config.get('wgScript') + "?search={searchTerms}"
},
google: {
ShortName: "Google",
Template: "http://www.google.se/search?hl=" + mw.config.get('wgUserLanguage') + "&q={searchTerms}&as_sitesearch=" + mw.config.get('wgServer').substr(7, mw.config.get('wgServer').length - 1 )
},
yahoo: {
ShortName: "Yahoo!",
Template: "http://se.search.yahoo.com/search?p={searchTerms}&vs=" + mw.config.get('wgServer')
},
wikiwix: {
ShortName: "Wikiwix",
Template: "http://www.wikiwix.com/index.php?action={searchTerms}&lang="+mw.config.get('wgContentLanguage')
},
live: {
ShortName: "Bing",
Template: "http://search.bing.com/results.aspx?q={searchTerms}&q1=site:" + mw.config.get('wgServer')
}
};
$(externalSearchEngines);
}
function externalSearchEngines() {
if (typeof SpecialSearchEnhanced2Disabled != 'undefined') return;
var mainNode = document.getElementById("powersearch");
if (!mainNode) mainNode = document.getElementById("search");
if (!mainNode) return;
var beforeNode = document.getElementById("mw-search-top-table");
if (!beforeNode) return;
beforeNode = beforeNode.nextSibling;
if (!beforeNode) return;
var firstEngine = "mediawiki";
var choices = document.createElement("div");
choices.setAttribute("id","searchengineChoices");
choices.style.textAlign = "center";
var lsearchbox = document.getElementById("searchText");
var initValue = lsearchbox.value;
var space = "";
for (var id in searchEngines) {
var engine = searchEngines[id];
if(engine.ShortName) {
if (space) choices.appendChild(space);
space = document.createTextNode(" ");
var attr = {
type: "radio",
name: "searchengineselect",
value: id,
id: "searchengineRadio-"+id
};
var html = "<input";
for (var a in attr) html += " " + a + "='" + attr[a] + "'";
html += " />";
var span = document.createElement("span");
span.innerHTML = html;
choices.appendChild( span );
var label
if (engine.Template.indexOf('http') == 0) {
label = document.createElement("a");
label.href = engine.Template.replace("{searchTerms}", initValue).replace("{language}", "fr");
} else {
label = document.createElement("label");
}
label.appendChild( document.createTextNode( engine.ShortName ) );
choices.appendChild( label );
}
}
mainNode.insertBefore(choices, beforeNode);
$('[name="searchengineselect"]').focus(changeSearchEngine(this.value));
var input = document.createElement("input");
input.id = "searchengineextraparam";
input.type = "hidden";
mainNode.insertBefore(input, beforeNode);
changeSearchEngine(firstEngine);
}
function changeSearchEngine(selectedId) {
var currentId = document.getElementById("searchengineChoices").currentChoice;
if (selectedId == currentId) return;
document.getElementById("searchengineChoices").currentChoice = selectedId;
var radio = document.getElementById('searchengineRadio-' + selectedId);
radio.checked = "checked";
var engine = searchEngines[selectedId];
var p = engine.Template.indexOf('?');
var params = engine.Template.substr(p+1);
var form;
if (document.forms["search"]) {
form = document.forms["search"];
} else {
form = document.getElementById("powersearch");
}
form.setAttribute("action", engine.Template.substr(0,p));
var l = ("" + params).split("&");
for (var idx = 0;idx < l.length;idx++) {
var p = l[idx].split("=");
var pValue = p[1];
if (pValue == "{language}") {
} else if (pValue == "{searchTerms}") {
var input;
input = document.getElementById("searchText");
input.name = p[0];
} else {
var input = document.getElementById("searchengineextraparam");
input.name = p[0];
input.value = pValue;
}
}
}
//Slut sökfunktion
/**
* Ändrar uppladdningslänken i verktygslådan till att hänvisa till sidan [[Wikipedia:Ladda upp filer]]
*/
function LienUpload() {
var uploadLink = document.getElementById("t-upload");
if (!uploadLink) return;
var a = uploadLink.firstChild;
a.setAttribute('href', '/wiki/Wikiversity:Ladda_upp_filer');
}
$(LienUpload);
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
var autoCollapse = 2;
var collapseCaption = "Dölj";
var expandCaption = "Visa";
function collapseTable( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = collapseCaption;
}
}
function createCollapseButtons()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var 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 );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "3em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
Header.insertBefore( Button, Header.childNodes[0] );
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass("collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass("autocollapse" ) ) ) {
collapseTable( i );
}
}
}
$( createCollapseButtons );
/** &withJS= URL parameter *******
* Allow to try custom scripts from MediaWiki space
* without editing [[Special:Mypage/monobook.js]]
*/
var extraJS = mw.util.getParamValue("withJS");
if ( extraJS && extraJS.match("^MediaWiki:[^&<>=%]*\.js$") ) {
importScript(extraJS);
}
/** Lägger till klassen "FA" för interwikilänkar till utmärkta artiklar på andra språk.
* Det ger möjlighet att via css lägga till stjärnor bredvid länkarna. Kopierad från [[:en:MediaWiki:common.js]] */
/** Interwiki links to featured articles ***************************************
*
* Description: Highlights interwiki links to featured articles (or
* equivalents) by changing the bullet before the interwiki link
* into a star.
* Maintainers: [[User:R. Koot]]
*/
function LinkFA() {
if ( document.getElementById( "p-lang" ) ) {
var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" );
for ( var i = 0; i < InterwikiLinks.length; i++ ) {
if ( document.getElementById( InterwikiLinks[i].className + "-fa" ) ) {
InterwikiLinks[i].className += " FA"
InterwikiLinks[i].title = "Detta är en utmärkt artikel på ett annat språk.";
}
}
}
}
$( LinkFA );
// motsvarande för bra artiklar
function LinkGA() {
if ( document.getElementById( "p-lang" ) ) {
var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" );
for ( var i = 0; i < InterwikiLinks.length; i++ ) {
if ( document.getElementById( InterwikiLinks[i].className + "-ga" ) ) {
InterwikiLinks[i].className += " GA"
InterwikiLinks[i].title = "Detta är en bra artikel på ett annat språk.";
}
}
}
}
$( LinkGA );
/**
* iProject (InterProjectLinks)
* Written by: Erwin ([[:nl:MediaWiki:IProject.js]]), modified by Kildor
* Description: Adds links to other WMF projects in the sidebar
* ([[:bugzilla:708]]). Works for all skins with a sidebar.
*
* Originally written by Magnus Manske. Version forked from
* [[:es:MediaWiki:Common.js]] and [[:de:wikt:Mediawiki:monobook.js]]
*/
function iProject() {
// Find templates with interproject links. These templates should have a div
// with class 'interProject' that only contains a link to the other project.
iProjectLinks = document.getElementsByClassName('interProject');
if (iProjectLinks.length > 0) {
// The element below should always be available. To not break code
// we do check for it, but don't have a fallback.
if (document.getElementById('p-tb')) {
prevNode = document.getElementById('p-tb');
} else {
return false;
}
// Clone previous node including child nodes.
interProject = prevNode.cloneNode(true);
interProject.id = 'p-project';
// Set header of new toolbox
h = interProject.getElementsByTagName('h5');
if(h[0]) {
h[0].innerHTML = 'På andra projekt';
}
// The links are included in the first and only div of the toolbox
d = interProject.getElementsByTagName('div');
if(d[0]) {
d = d[0];
} else {
return false;
}
// Remove current children, i.e. current ul element.
while(d.hasChildNodes()) {
d.removeChild(d.childNodes[0])
}
// Create new list with links
ul = document.createElement('ul')
ul.className += " interProject";
for (i = 0; i< iProjectLinks.length; i++) {
li = document.createElement('li');
li.className += " " + iProjectLinks[i].className;
li.innerHTML = iProjectLinks[i].innerHTML;
ul.appendChild(li)
}
d.appendChild(ul);
// Insert new node
prevNode.parentNode.insertBefore(interProject, prevNode.nextSibling);
}
}
$(iProject);
/*
* För att länka bilder direkt till Commons istället för till en lokal filsida.
* Kan stängas av genom att lägga koden "var LocalFileLinks = true;" i sitt
* personliga javascript ([[Special:Mypage/vector.js]] i vectorutseendet)
*/
$(function() {
if( typeof LocalFileLinks != 'undefined' ) { return; }
for(var f=document.getElementsByTagName('a'),i=(f.length-1),oR;i--;){
var oR=f[i].href=f[i].href.replace('//sv.wikipedia.org/wiki/Fil:','//commons.wikimedia.org/wiki/File:').replace('/sv/wiki/Fil:','/commons/wiki/File:');
if(oR.match(/commons(\.wikimedia|\/wiki)/)){f[i].href+='?uselang=sv'}
}
});
/*
* För att få bra-, rekomenderad- och utmärktstjränorna på samma rad som
* huvudrubriken.
*
* Skapad av [[sv:Användare:Sertion]]
*/
var featuredStarToHeader = function(fsID){
var fs = document.getElementById(fsID);
if (!fs) return;
var tl = document.getElementById('firstHeading');
var fi = fs.getElementsByTagName('img')[0];
fi.setAttribute('width',19);
fi.setAttribute('height',18);
fi.src = fi.src.replace('/16px','/19px');
tl.appendChild(fs);
}
$(function(){featuredStarToHeader('featured-star')})
$(function(){featuredStarToHeader('featured-group')})
/* import additional javascript based features */
// importScript("MediaWiki:LanguageSelection.js");