MediaWiki:Gadget-FaktamallBiografiWD.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.
//<nowiki>
( function() {
'use strict';
var values = mw.config.get();
var cats;
function hasCat( v ) {
return values.wgCategories.indexOf( v ) !== -1;
}
if ( values.wgNamespaceNumber === 0 && values.wgWikibaseItemId ) {
cats = [
'Män',
'Kvinnor',
'Personer med alternativ könsidentitet',
'Kön okänt'
];
if ( cats.some( hasCat ) ) {
$( function() {
var container = $( '#mw-content-text' ).find( '.mw-parser-output' );
if ( !container.find( '.infobox' ).length ) {
( new mw.Api() ).get( {
action: 'parse',
title: values.wgPageName,
text: '{{Faktamall biografi WD}}',
prop: 'text',
formatversion: 2
} ).done( function( data ) {
var text = $( data.parse.text );
var imgs;
var url;
var caption;
var p = container.children( 'p, div.tright' );
var firstp;
var styles = text.children( 'style' );
var infobox = text.children( '.infobox' );
var references = text.children( '.mw-references-wrap' ).children( '.references' );
var infoboxClass = 'gadget-faktamallbiografiwd';
infobox.addClass( infoboxClass );
if ( p.length ) {
firstp = p.first();
firstp.before( styles, infobox );
} else {
container.prepend( styles, infobox );
}
if ( $( '.references' ).length ) {
$( '.references' ).last().append( references.contents() );
} else if ( references.length ) {
if ( $( '.mw-headline#Referenser' ).length ) {
$( '.mw-headline#Referenser' ).parent().after( references );
} else {
container.append( '<h2>Referenser</h2>', references );
}
}
imgs = $( '.' + infoboxClass ).find( 'img' ).first();
if ( imgs.length ) {
url = imgs.closest( 'a' ).attr( 'href' ).replace( 'https://commons.wikimedia.org/wiki/File:', '' ).replace( '/wiki/Fil:', '' );
$( 'figure' ).each( function( i, e ) {
var thumbimgs = $( e ).find( 'img' );
var thumburl;
if ( thumbimgs.length === 1 ) {
thumburl = thumbimgs.closest( 'a' ).attr( 'href' ).replace( 'https://commons.wikimedia.org/wiki/File:', '' ).replace( '/wiki/Fil:', '' );
if ( url === thumburl ) {
caption = $( e ).find( 'figcaption' ).contents();
$( e ).addClass( 'gadget-faktamallbiografiwd-hidden' );
}
}
} );
if ( caption && caption.length ) {
$( '.Wikidata_P18_P2096' ).addClass( 'gadget-faktamallbiografiwd-hidden' );
}
if ( caption ) {
imgs.closest( 'a' ).after( $( '<div/>' ).append( caption ) );
}
}
$( '.reference' ).each( function( i, e ) {
var href = $( e ).find( 'a' ).attr( 'href' );
$( '.references li' ).each( function( index, element ) {
var id = $( element ).attr( 'id' );
var refNumber = $( element ).index() + 1;
if ( href === '#' + id ) {
$( e ).find( 'a' ).html( '<span class="cite-reference-link-bracket">[</span>' + refNumber + '<span class="cite-reference-link-bracket">]</span>' );
}
} );
} );
} );
}
} );
}
}
} () );
//</nowiki>