MediaWiki:Gadget-MonobookToolbarGotoThisLine.js
Apparence
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) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.if ( [ 'edit', 'submit' ].includes( mw.config.get( 'wgAction' ) ) ) {
mw.loader.using( [ 'ext.gadget.MonobookToolbar', 'jquery.textSelection' ], function () {
function openMenu() {
var LineNumber = prompt( 'Quelle ligne ?' );
if ( !LineNumber ) return;
LineNumber = parseInt( LineNumber );
if ( !LineNumber ) return;
getLine( LineNumber );
}
function getLine( LineNumber ) {
var TextArea = MonobookToolbar.getCurrentFocused();
if ( !TextArea ) return;
var Text = TextArea.value;
var TextLines = Text.split( '\n' );
var CharacterCount = 0;
// Cap to last line
if ( LineNumber > TextLines.length ) {
LineNumber = TextLines.length;
}
for ( var a = 0, l = TextLines.length; a < l; ++a ) {
if ( a + 1 === LineNumber ) {
selectLine( TextArea, CharacterCount );
return;
}
CharacterCount += ( TextLines[ a ].length + 1 );
}
}
function selectLine( TextArea, Count ) {
$( TextArea )
.focus()
.textSelection( 'setSelection', { start: Count } )
.textSelection( 'scrollToCaretPosition' );
}
MonobookToolbar.addButton( {
imageFile: '//upload.wikimedia.org/wikipedia/commons/0/05/Button_thisline.png',
speedTip: 'Aller à la ligne',
imageId: 'mw-editbutton-GotoThisLine',
callback: openMenu
} );
} );
}