Aller au contenu

Utilisateur:Ça va sans l'dire/common.js

Une page de Wikipédia, l'encyclopédie libre.
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
//importScript( "Utilisateur:Ça_va_sans_l'dire/GoTop.js" );


mw.loader.using('mediawiki.util', function () {
	$( function() { mw.util.addPortletLink( 'p-cactions', '//tools.wmflabs.org/pageviews?pages=' + mw.config.get( 'wgPageName' ) + '&project=fr.wikipedia.org', 'Vues' ); } );
//	$( function() { mw.util.addPortletLink( 'p-Contribuer', '/wiki/Wikipédia:Le_Bistro', 'Le Bistro' ); } );
//	$( function() { mw.util.addPortletLink( 'p-Contribuer', '/wiki/Wikipédia:Wikimag', 'Wikimag' ); } );
//	$( function() { mw.util.addPortletLink( 'p-Contribuer', '/wiki/Wikipédia:Regards_sur_l%27actualité_de_la_Wikimedia', 'RAW' ); } );
});

//Gadget DJ
//var DJparam_sidebarlink = false;
//importScript('Utilisateur:0x010C/script/DrapeauJaune.js');


//Gadget ExternalSearch personnalisé

// {{Catégorisation JS|ExternalSearch}}

/* globals mw, $ */

if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ) {

    mw.loader.using( 'mediawiki.util', function () {
        'use strict';

        var searchbox;

        function externalSearchEngines( $ ) {
            var $searchbox = $( '#searchText' ).find( 'input' );
            if ( !$searchbox.length ) {
                return;
            }

            searchbox = $searchbox[ 0 ];

            var language = 'fr';
            var domain = mw.config.get( 'wgServer' ).replace( /^.*?\/\//, '' );

            var colorExternal = $( '<a class="external">' )
                .wrap( '<div class="mw-parser-output">' )
                .css( 'color' );

            var $choices = $( '<div>' );
            $choices.css( {
                'clear': 'left',
                'padding-top': '0.5em'
            } );

            $choices.append( 'Moteurs externes&nbsp;: ' );

            var space = '';
            searchEngines.forEach( function ( engine ) {
                if ( space ) {
                    $choices.append( space );
                }
                space = '&nbsp;• ';

                var $a = $( '<a>' );
                $a.text( engine.Name );
                $a.attr( 'target', '_blank' );
                $a.css( 'color', colorExternal );

                $choices.append( $a );

                // préparsage des templates, pour avoir ça de moins à exécuter lors des events "text input"
                engine.HomePage = engine.HomePage
                    .split( '{language}' ).join( language )
                    .split( '{domain}' ).join( domain );
                engine.Template = engine.Template
                    .split( '{language}' ).join( language )
                    .split( '{domain}' ).join( domain );

                engine.Element = $a[ 0 ];
            } );

            updateHrefs();
            $searchbox.on( 'input', mw.util.debounce( 100, updateHrefs ) );

            $choices.insertAfter( '#mw-search-top-table' );
        }

        function updateHrefs() {
            var searchTerms = searchbox.value;
            if ( searchTerms === '' ) {
                searchEngines.forEach( function ( engine ) {
                    engine.Element.href = engine.HomePage;
                } );
            } else {
                searchEngines.forEach( function ( engine ) {
                    engine.Element.href = engine.Template.split( '{searchTerms}' ).join( searchTerms );
                } );
            }
        }

        var searchEngines = [
            {
                Name: 'Wiki en',
                HomePage: 'https://en.wikipedia.org',
                Template: 'https://en.wikipedia.org/w/index.php?search={searchTerms}'
            },
            {
                Name: 'DuckDuckGo',
                HomePage: 'https://duckduckgo.com/?q=site:{domain}',
                Template: 'https://duckduckgo.com/?q=site:{domain} {searchTerms}'
            },
            {
                Name: 'Wikiwix',
                HomePage: 'http://fr.wikiwix.com/index.php?lang={language}',
                Template: 'http://fr.wikiwix.com/index.php?lang={language}&action={searchTerms}'
            },
            {
                Name: 'Global WP',
                HomePage: 'http://vs.aka-online.de/globalwpsearch/',
                Template: 'http://vs.aka-online.de/cgi-bin/globalwpsearch.pl?search={searchTerms}'
            }
        ];

        $( externalSearchEngines );

    } );
}