Utilisateur:Denis Gagne52/Easy LST.js
Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
- Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
- Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
- Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
function restore_lst1(){
//var editbox = document.getElementById('wpTextbox1');
var $textbox = $( '#wpTextbox1' );
var search = /##[\s]*(.*?)[\s]*##[\s]*\n/;
//var a = editbox.value.split(search);
var a = $textbox.textSelection( 'getContents' );
if ( a.indexOf("pagequality level=") > 0) {
var c = a.indexOf("</noinclude>") + 12 ;
var d = a.lastIndexOf("<noinclude>");
a = a.slice(c, d);
}
//alert(a);
a = a.split(search);
var s = a[0];
var m = parseInt(a.length/2);
for( var i = 0 ; i < m ; i++ ) {
var title = a[i*2+1];
// Ensure we'll don't get twice quote.
title = title.replace(/^"(.*)"$/, "$1");
title = title.replace(/^'(.*)'$/, "$1");
var content = a[i*2+2];
if( title && content.substring(0,2)=='{|' ) content = '\n' + content;
if(title) s = s + '<section begin="'+title+'"/>' + content + '<section end="'+title+'"/>\n';
else s = s + content;
/* if( i < m-1 ) s = s + "----\n"; */
}
//editbox.value = s;
$textbox.textSelection( 'setContents', s );
//alert(a);
}
/*
* easy lst : hide section markers
*/
function easy_lst1() {
var CodeMirror, editbox, a, $textbox ;
// if ( mw.user.options.get( 'codemirror-syntax-highlight' ) == 1 ) CodeMirror = true;
CodeMirror = false;
CodeMirror = ext.CodeMirror.switch
if (CodeMirror) {
$textbox = $( '#wpTextbox1' );
if($textbox) a = $textbox.textSelection( 'getContents' ) ;
else alert ('textbox vide');
}
else {
editbox = document.getElementById('wpTextbox1');
if(editbox) a = editbox.value ;
}
if (a){
var search = /<section\sbegin=[\s]*(.*?)[\s]*\/>/;
a = a.split(search);
var s = a[0];
var ok = true;
for( var i = 0 ; i < parseInt(a.length/2) ; i++ ) {
var title = a[i*2+1];
var content = a[i*2+2];
var r2 = /^([\s\S]*?)<section\send=(.*?)\/>(\n|)[\s]*([\s\S]*?)$/;
var m2 = content.match(r2);
if( m2 ) {
title = title.replace(/^"(.*)"$/, "$1");
title = title.replace(/^'(.*)'$/, "$1");
if(s && s.charAt(s.length-1)!='\n' && s.charAt(s.length-1)!='|' ) s = s+'\n';
s = s + "## " + title + " ##\n"+ m2[1] ;
if( m2[4] ) {
if( m2[4]!='----\n' ) {
if(s && s.charAt(s.length-1)!='\n' ) s = s+'\n';
s = s + "####\n" + m2[4] ;
}
}
} else {
ok = false; // alert("error"+title);
}
}
if(ok) {
if (CodeMirror) {
//if (document.querySelector('div.CodeMirror-code noime')) $textbox.textSelection( 'setContents', s );
$textbox.textSelection( 'setContents', s );
alert(s);
}
else editbox.value = s;
}
} // */
var saveButton = document.getElementById("wpSave");
var previewButton = document.getElementById("wpPreview");
var diffButton = document.getElementById("wpDiff");
if(saveButton){
saveButton.onclick = restore_lst1;
previewButton.onclick = restore_lst1;
diffButton.onclick = restore_lst1;
}
//}
}
function delayedeasy_lst1() {
setTimeout(easy_lst1, 0);
}
function easy_lst_setup1() {
if (self.proofreadpage_raw_lst || mw.config.get( 'wgCanonicalNamespace' ) !== 'Page')
//if (mw.config.get( 'wgCanonicalNamespace' ) !== 'Page' || !self.proofreadpage_raw_lst)
return;
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
mw.loader.using('ext.proofreadpage.page', function () {
// mimic code in the extension, there is a conditionnal deps on ext.wikiEditor.
if (mw.user.options.get('usebetatoolbar') && $.inArray('ext.wikiEditor', mw.loader.getModuleNames()) > -1) {
if ( mw.user.options.get( 'codemirror-syntax-highlight' ) == 1 ) {
$loadingDependencies = [ 'ext.wikiEditor', 'ext.CodeMirror.lib', 'jquery.textSelection' ];
} else {
$loadingDependencies = [ 'ext.wikiEditor' ];
}
mw.loader.using( $loadingDependencies, function() {
jQuery(document).ready(delayedeasy_lst1());
});
} else {
jQuery(document).ready(easy_lst1());
}
});
}
}
$( easy_lst_setup1 );