Utilisateur:Denis Gagne52/test.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);
}
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 );
}
/*
* easy lst : hide section markers
*/
function easy_lst1() {
var CodeMirror, editbox, a, $textbox ;
if ( mw.user.options.get( 'codemirror-syntax-highlight' ) == 1 ) CodeMirror = true;
/*
* ne pas utiliser $( '#wpTextbox1' ) pour éviter tout conflit
* avec Visual Editor (CodeMirror) qui en parrallèle construit
* sa fenêtre d’édition et ne libère pas le plugin en mode édition
*/
CodeMirror = false;
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;
}
//}
}
/*
* tentative de laisser le champ libre à Visual Editor
* mais après 3 secondes setcontent déclenche quand même une erreur
* signalant que le $( '#wpTextbox1' ) est utilisé dans un autre processus
*/
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' ];
} else {
$loadingDependencies = [ 'ext.wikiEditor' ];
}
mw.loader.using( $loadingDependencies, function() {
jQuery(document).ready(delayedeasy_lst1());
});
} else {
jQuery(document).ready(easy_lst1());
}
});
}
}
$( easy_lst_setup1 );