Utilisateur:Marin M./inline.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./* <nowiki> */
/**
* Inline
*
* Quand vous sélectionnez du texte, Inline ajoute des liens dans la colonne de gauche permettant d'y appliquer des modèles du genre de
{{Référence nécessaire}} ou de {{Passage non neutre}}. Compatible avec la dernière version de Wikipédia (Vector) et l'ancienne (Monobook).
*
* Auteur : Marin M.
* Date de dernière révision : 31 janvier 2011
*/
// Pour utiliser Inline, mettez importScript('Utilisateur:Marin_M./inline.js'); dans [[Spécial:Ma_page/common.js]]
var inlineSelected;
var inlineIsWorking = false;
function inlineAdd(name, before, after) {
$('#inlineGadgetMenu').append($('<li></li>').append($('<a></a>').html(name).css('cursor', 'pointer')).mousedown(function() {
if(confirm('Modifier la page ?')) {
inlineIsWorking = true;
$('#inlineGadgetMenu').html('Chargement en cours...');
$.ajax({url: mw.config.get('wgScriptPath') '/api.php', type: 'POST', data: 'action=query&prop=info&intoken=edit&format=json&titles=World_of_Goo', success: function(ni) {
for(var i in ni.query.pages) {
var token = ni.query.pages[i].edittoken.replace(' \\', '+\');
$.ajax({url: mw.config.get('wgScript') '?action=raw&title=' encodeURIComponent(mw.config.get('wgPageName')), type: 'GET', cache: false, success: function(content) {
var testDebut = inlineSelected.length;
while(content.indexOf(inlineSelected.substring(0, testDebut)) == -1) {
testDebut--;
}
if(testDebut != inlineSelected.length) {
var testFin = testDebut;
while(content.substring(content.indexOf(inlineSelected.substring(0, testDebut))).indexOf(inlineSelected.substring(testFin)) == -1) {
testFin ;
}
var checker = new RegExp(inlineSelected.substring(0, testDebut).replace(/([\\\.\ \*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1") '.*?' inlineSelected.substring(testFin).replace(/([\\\.\ \*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1")).exec(content);
if(checker == null) {
alert('Beuh... Inline ne parvient pas à trouver le bout de texte sélectionné dans l\'article.');
window.location.reload();
} else {
if(content.substring(content.indexOf(inlineSelected.substring(testFin)), content.indexOf(inlineSelected.substring(testFin)) inlineSelected.substring(testFin).length 2) == inlineSelected.substring(testFin) ']]') {
checker[0] = ']]';
}
content = content.replace(checker[0], before checker[0] after);
}
} else {
content = content.replace(inlineSelected, before inlineSelected after);
}
content = encodeURIComponent(content);
if(name == 'Gras' || name == 'Italique') {
$.ajax({url: mw.config.get('wgScriptPath') '/api.php', type: 'POST', data: 'action=edit&text=' content '&summary=[[Utilisateur:Marin_M./inline.js|Inline]] - Mise en forme&token=' token '&minor=true&title=' encodeURIComponent(mw.config.get('wgPageName')), success: function() {
window.location.reload();
}});
} else {
$.ajax({url: mw.config.get('wgScriptPath') '/api.php', type: 'POST', data: 'action=edit&text=' content '&summary=[[Utilisateur:Marin_M./inline.js|Inline]] - Ajout de ' before.replace('|', '') '}}&token=' token '&minor=true&title=' encodeURIComponent(mw.config.get('wgPageName')), success: function() {
window.location.reload();
}});
}
}});
}
}});
}
}));
}
function inlineAddSpacer() {
$('#inlineGadgetMenu').append($('<li></li>').html(''));
}
if(mw.config.get('wgAction') === 'view' && mw.config.get('wgNamespaceNumber') > -1 /* Todo : pages non modifiables */) {
if(mw.config.get('skin') == 'vector') {
var inlineBg = '#f6f6f6';
$('#mw-panel').append($('<div></div>').addClass('portal').addClass('persistent').css('background', inlineBg).append($('<div></div>').addClass('body').append($('<ul></ul>', {id: 'inlineGadgetMenu'}))));
var inlineTop = 170;
var inlineLeft = 0;
var inlineWidth = 150;
var inlineZero = 0;
} else {
var inlineBg = '#f9f9f9';
$('#column-one').append($('<div></div>').addClass('portal').css('background', inlineBg).append($('<div></div>').addClass('pBody').append($('<ul></ul>', {id: 'inlineGadgetMenu'}))));
var inlineTop = 174;
var inlineLeft = -18;
var inlineWidth = 145;
var inlineZero = -4;
}
$('#inlineGadgetMenu').css('z-index', '99999').css('display', 'none').css('position', 'fixed').css('background', inlineBg).css('left', inlineLeft).css('width', inlineWidth 'px').css('padding', '5px');
$(document).scroll(function() {
if($(document).scrollTop() < inlineTop) {
$('#inlineGadgetMenu').css('top', ((inlineTop - $(document).scrollTop()) inlineLeft) 'px');
$('#inlineGadgetMenu').css('height', (($(document).height() - 10) - $(document).scrollTop()) 'px');
} else {
$('#inlineGadgetMenu').css('top', inlineZero 'px');
$('#inlineGadgetMenu').css('height', $(document).height() - 10 'px');
}
});
$(document).scroll();
inlineAdd('Référence nécessaire', '{{Référence nécessaire|', '}}');
inlineAdd('Référence souhaitée', '{{Référence souhaitée|', '}}');
inlineAdd('Référence insuffisante', '{{Référence insuffisante|', '}}');
inlineAdd('Référence incomplète', '{{Référence incomplète|', '}}');
inlineAdd('Référence à confirmer', '{{Référence à confirmer|', '}}');
inlineAdd('Précision nécessaire', '{{Précision nécessaire|', '}}');
inlineAddSpacer();
inlineAdd('Passage non neutre', '{{Passage non neutre|', '}}');
inlineAdd('Passage inédit', '{{Passage inédit|', '}}');
inlineAdd('Passage évasif', '{{Passage évasif|', '}}');
inlineAdd('Qui', '{{Qui|', '}}');
inlineAdd('Quoi', '{{Quoi|', '}}');
inlineAdd('Quand', '{{Quand|', '}}');
inlineAdd('Où', '{{Où|', '}}');
inlineAdd('Par qui', '{{Par qui|', '}}');
inlineAdd('Pas clair', '{{Pas clair|', '}}');
inlineAdd('Pourquoi', '{{Pourquoi|', '}}');
inlineAdd('Combien', '{{Combien|', '}}');
inlineAdd('Laquelle', '{{Laquelle|', '}}');
inlineAdd('Lequel', '{{Lequel|', '}}');
inlineAdd('Lesquels', '{{Lesquels|', '}}');
inlineAdd('Lesquelles', '{{Lesquelles|', '}}');
inlineAdd('Contradiction', '{{Contrad|', '}}');
inlineAdd('Pertinence', '{{Pertinence détail|', '}}');
inlineAddSpacer();
inlineAdd('Gras', '\'\'\'', '\'\'\'');
inlineAdd('Italique', '\'\'', '\'\'');
setInterval(function() {
if(window.getSelection().toString() != '') {
inlineSelected = window.getSelection().toString().replace(' ', '');
$('#inlineGadgetMenu').css('display', 'block');
} else {
if(!inlineIsWorking) {
$('#inlineGadgetMenu').css('display', 'none');
}
}
}, 250);
}
/* </nowiki> */