MediaWiki:Gadget-Nearby.js

Från Wikipedia

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.
function main() {
    'use strict';
    var checkCoord = mw.config.get( 'wgCoordinates' );
    if ( typeof( checkCoord ) != 'undefined' && checkCoord !== null ) {
        var linkUrl = '/w/index.php?title=Special:Nearby#/page/'
            + mw.config.get( 'wgPageName' );
        var linkText = 'Nära';
        var linkTitle = 'Visa artiklar för geografiskt närliggande platser.';
        if ( mw.config.get( 'wgUserLanguage' ) !== 'sv' ) {
            linkText = 'Nearby';
            linkTitle = 'Show articles for geographically nearby places.';
        }

        // Mobilvyn (Minerva)
        if ( mw.config.get( 'skin' ) === 'minerva' ) {
            var minervaTabs = document.getElementsByClassName(
                'minerva__tab-container' )[0];
            if ( !minervaTabs ) return;
            minervaTabs.style.width = '100%';
            var minervaMenuItem = document.createElement( 'a' );
            minervaTabs.appendChild( minervaMenuItem );
            minervaMenuItem.setAttribute( 'id', 'id_nearby_minerva' );
            minervaMenuItem.setAttribute( 'href', linkUrl );
            minervaMenuItem.setAttribute( 'title', linkTitle );
            minervaMenuItem.classList.add( 'minerva__tab' );
            minervaMenuItem.style.float = 'right';
            minervaMenuItem.textContent = linkText;

        // Desktop (ej Minerva)
        } else {
            mw.util.addPortletLink(
                'p-views',
                linkUrl,
                linkText,
                'ca-nearby',
                linkTitle
            );
            var desktMenuItem = document.getElementById( 'ca-nearby' );
            if ( desktMenuItem ) {
                desktMenuItem.classList.add( 'vector-tab-noicon', 'collapsible' );
            }
        }
    }
}

if ( document.readyState === 'loading' ) {
    document.addEventListener( 'DOMContentLoaded', main );
} else {
    main();
}