Utente:Ferdi2005/Js

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

////////////////////////////// //*impedisce di uscire subito - dall'officina

var $span = $( 'span' ).on( 'click', function ( e ) { e.stopPropagation() } );
$( '#pt-logout a' ).wrapInner( $span );

////////////////////////////// //*Collassa le sezioni - da wp inglese

importScript(':en:w:User:BrandonXLF/CollapseSections.js'); // User:BrandonXLF/CollapseSections.js

////////////////////////////// //*Link alle sezioni - da wp francese /**

* AncreTitres
*
* Cette fonction fournit un lien vers une section de page en cliquant
* sur le lien [URL] ou lien à droite du titre de section.
*
* Auteurs : Pabix, Phe, Bayo, Chphe, Arkanosis, Mah3110, Ash_Crow
* Template:Projet:JavaScript/Script
*/

/* global $, mw */ /* eslint-env browser */ // <nowiki> mw.loader.using( [ 'mediawiki.util', 'user' ], function () { 'use strict';

$( function ( $ ) { var lang = mw.config.get( 'wgUserLanguage' ), messages = { en: { 'ancretitres-anchor-name': '[URL]', 'ancretitres-internal-link-name': 'Link', 'ancretitres-description': 'Get an URL to this section', 'ancretitres-int-description': 'Get an internal link to this section', 'ancretitres-notif-title': 'Text copied to clipboard', 'ancretitres-notif-error': 'Could not copy to clipboard' }, fr: { 'ancretitres-anchor-name': '[URL]', 'ancretitres-internal-link-name': 'Lien', 'ancretitres-description': 'Obtenir une URL vers cette section', 'ancretitres-int-description': 'Obtenir un lien interne vers cette section', 'ancretitres-notif-title': 'Texte copié dans le presse-papiers', 'ancretitres-notif-error': 'Impossible de copier dans le presse-papiers' } }, options = { afficheE: true, afficheI: true };

mw.messages.set( messages.en ); if ( lang !== 'en' && lang in messages ) { mw.messages.set( messages[ lang ] ); }

// https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript/30810322#30810322 function copyTextToClipboard( text ) { var textArea = document.createElement( 'textarea' );

textArea.style.position = 'fixed'; textArea.style.top = 0; textArea.style.left = 0;

textArea.style.width = '2em'; textArea.style.height = '2em'; textArea.style.padding = 0; textArea.style.border = 'none'; textArea.style.outline = 'none'; textArea.style.boxShadow = 'none'; textArea.style.background = 'transparent';

textArea.value = text;

document.body.appendChild( textArea ); textArea.focus(); textArea.select();

var copySuccess; try { document.execCommand( 'copy' ); copySuccess = true; } catch ( e ) { copySuccess = false; }

document.body.removeChild( textArea );

if ( copySuccess ) { mw.notify( text, { title: mw.msg( 'ancretitres-notif-title' ), tag: 'ancretitres', type: 'info', autoHide: true } ); } else { mw.notify( mw.msg( 'ancretitres-notif-error' ), { tag: 'ancretitres', type: 'error', autoHide: true } ); } }

if ( typeof window.AncreTitres !== 'undefined' ) { $.extend( options, window.AncreTitres ); }

if ( !options.afficheI && !options.afficheE ) { return; }

$( 'span.mw-headline' ).each( function ( _, headline ) { var $span = $( 'span' ) .addClass( 'noprint ancretitres' ) .css( { 'font-size': 'xx-small', 'font-weight': 'normal', 'user-select': 'none' // jQuery se charge d'ajouter un vendor prefix si nécessaire } );

if ( options.afficheE ) { var $linkE = $( '<a href="#" title="' + mw.msg( 'ancretitres-description' ) + '">' + mw.msg( 'ancretitres-anchor-name' ) + '</a>' ).click( function ( e ) { e.preventDefault(); var outputText = 'https:' + mw.config.get( 'wgServer' ) + mw.util.getUrl() + '#' + headline.id; copyTextToClipboard( outputText ); } ); $span.append( ' ', $linkE ); }

if ( options.afficheI ) { var $linkI = $( '<a href="#" title="' + mw.msg( 'ancretitres-int-description' ) + '">' + mw.msg( 'ancretitres-internal-link-name' ) + '</a>' ).click( function ( e ) { e.preventDefault(); var escapedAnchor = headline.id // escaping caractères spéciaux HTML // (partiel, '"& ne sont pas escapés pour ne pas dégrader inutilement la lisibilité du lien) .replace( /</g, '<' ) .replace( />/g, '>' ) // escaping caractères spéciaux MediaWiki .replace( /\[/g, '[' ) .replace( /\]/g, ']' ) .replace( /\{/g, '{' ) .replace( /\|/g, '|' ) .replace( /\}/g, '}' ); var outputText = '' + ( mw.config.get( 'wgPageName' ) + '#' + escapedAnchor ).replace( /_/g, ' ' ) + ''; copyTextToClipboard( outputText ); } ); $span.append( ' ', $linkI ); }

$( headline ).parent().append( $span ); } );

} );

} );