Utilisateur:BonifaceFR/common.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.importScript('User:Arkanosis/xpatrol.js');
/**
* 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 $ = jQuery;
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(i in ni.query.pages) {
var token = ni.query.pages[i].edittoken.replace('+\\', '%2B%5C');
$.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' && $('#ca-edit').text() == 'Modifier') {
if(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);
}