MediaWiki:Gadget-mapframe.js
Utseende
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)
- Edge Håll ned Ctrl och klicka på Uppdatera eller tryck Ctrl-F5.
- Opera: Tryck Ctrl-F5.
//<nowiki>
$( function() {
'use strict';
var coords = $( '#coordinates' ).find( '.geo-dec' );
var arr;
var text;
var prefixedarr;
var trimmedarr;
var lat;
var lon;
var str;
var hasInfobox;
var container = $( '#mw-content-text' ).find( '.mw-parser-output' );
if ( $( '.infobox' ).length ) {
hasInfobox = true;
}
if ( coords.length === 1 && $( '.mw-kartographer-container' ).length === 0 ) {
text = coords.text();
if ( text ) {
arr = text.split( ' ' );
if ( arr.length === 2 ) {
prefixedarr = arr.map( function( v ) {
if ( v.includes( 'V' ) || v.includes( 'S' ) ) {
return '-' + v;
} else {
return v;
}
} );
trimmedarr = prefixedarr.map( function( v ) {
return v.split( '°' )[ 0 ];
} );
if ( trimmedarr.length === 2 ) {
lat = trimmedarr[ 0 ];
lon = trimmedarr[ 1 ];
str = '<mapframe ';
if ( hasInfobox ) {
str += 'frameless';
} else {
str += 'text="{{SUBPAGENAME}}"';
}
str += ' width=250 height=250 zoom=13 longitude=' + lon + ' latitude=' + lat + ' />';
( new mw.Api() ).get( {
action: 'parse',
title: mw.config.get( 'wgPageName' ),
text: str,
prop: 'text',
formatversion: 2
} ).done( function( data ) {
var html = $( data.parse.text );
var map = html.find( '.mw-kartographer-container' );
if ( hasInfobox ) {
map = map.wrap( '<tr><td colspan="3"></td></tr>' ).parent().parent();
$( '.infobox' ).find( 'tbody' ).first().append( map );
$( '.mw-kartographer-map' ).removeClass( 'floatright' );
$( '.mw-kartographer-map' ).css( 'margin', '0 auto' );
} else {
if ( container.children( 'p' ).length ) {
container.children( 'p' ).first().before( map );
} else {
container.prepend( map );
}
}
mw.hook( 'wikipage.content' ).fire( $( '#mw-content-text' ) );
} );
}
}
}
}
} );
//</nowiki>