Aller au contenu

Utilisateur:Aroche/monobook.js

La bibliothèque libre.

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 format() {
    var txt = document.editform.wpTextbox1;
    txt.value = typo(txt.value);
}
 
function typo(str){
    // espace
    str = str.replace(/(\S)([:;?!])/g, "$1 $2");
    str = str.replace(/'([^'])/g, "’$1");
    return str;
}

$(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-personal', 'javascript:format()', 'typo', 'ca-format', 'Corrections de la mise en page et de la typographie', '', document.getElementById('ca-edit'));
  }
});



function reordonneColonnes() {
// texte OCRisé : notes sur 2 colonnes réordonnées
	var txtarea;
	if (document.editform) {
		txtarea = currentFocused;
	} else {
		// some alternate form? take the first one we can find
		var areas = document.getElementsByTagName('textarea');
		txtarea = areas[0];
	}
	var selText;

	if (document.selection  && document.selection.createRange) { // IE/Opera

		//save window scroll position
		if (document.documentElement && document.documentElement.scrollTop)
			var winScroll = document.documentElement.scrollTop
		else if (document.body)
			var winScroll = document.body.scrollTop;
		//get current selection
		txtarea.focus();
		var range = document.selection.createRange();
		selText = range.text;
		
		//insert tags
		range.text = reordonne(selText);
		
	} else if (txtarea.selectionStart || txtarea.selectionStart == '0') { // Mozilla

		//save textarea scroll position
		var textScroll = txtarea.scrollTop;
		//get current selection
		txtarea.focus();
		var startPos = txtarea.selectionStart;
		var endPos = txtarea.selectionEnd;
		selText = txtarea.value.substring(startPos, endPos);
		//insert tags
		txtarea.value = txtarea.value.substring(0, startPos)
			+ reordonne(selText)
			+ txtarea.value.substring(endPos, txtarea.value.length);
			
		//restore textarea scroll position
		txtarea.scrollTop = textScroll;
	}
	
	function reordonne(txt) {
		var lignes = txt.split(/[\n\r]/);
		var txDebut = ''; 
		var txFin = '';
		for (var i=0; i < lignes.length; i++) {
			if (i % 2 == 0) {
				txDebut = txDebut + lignes[i];
			} else {
				txFin = txFin + lignes[i];
			}
		}
		return txDebut + txFin;
	}
}

$(function () {
    if (wgAction == 'edit' && wgNamespaceNumber == 104) {
        var nouvCadre = document.createElement('div');
        nouvCadre.innerHTML = '<a href="#" onclick="reordonneColonnes();return false">Réordonner le contenu des colonnes</a>';
        document.getElementById('specialchars').appendChild(nouvCadre);
    }
});


// Fonction FlyingNote
// Crée une bulle pour les notes
var flyingNoteTimer;

function affNote(event) {
	var res = this.id.match(/\d+$/);
	var numNote = res[0];
	var div = document.createElement('div');
	div.id='flyingNote_' + numNote;
	var tx = document.getElementById('cite_note-'+numNote).innerHTML;
	div.innerHTML = tx;
	div.removeChild(div.children[0]);
	this.parentNode.appendChild(div); 
	div.style.position = "absolute";
	div.style.maxWidth = Math.floor(document.width * 0.4) + "px";
	div.style.left = (this.offsetLeft + 10) +'px';
	div.style.top = (this.offsetTop + 10) +'px';
	div.style.backgroundColor = '#FFFACD';
	div.style.border = '1px solid #F0E68C';
	div.style.fontSize = 'smaller';
	div.style.padding = '2px';
	div.style.margins = '25px';
        div.style.textAlign = 'left';
        div.style.textIndent = '0px';
	div.onmouseover = function() {
		clearTimeout(flyingNoteTimer);
	}
	div.onmouseout = delNote;
}

function outNum(event) {
// enclenche la minuterie qd on sort du numero
	flyingNoteTimer = setTimeout('delNote()', 500);
}

function delNote(e) {
	if (!e) var e = window.event;
	if (e) {
		var tg = (window.event) ? e.srcElement : e.target;
		if (tg.nodeName != 'DIV') return;
		var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
		while (reltg != tg && reltg.nodeName != 'BODY')
			reltg= reltg.parentNode
		if (reltg== tg) return;
	}
	var divs = document.getElementsByTagName('div');
	for (elt in divs){
		if (divs[elt].id.match(/^flyingNote_/)) {
			divs[elt].parentNode.removeChild(divs[elt]);
			break;
		}
	}
}

// donner l'evènement
function addFlyingNote() {
	var indices = document.getElementsByTagName('sup');
	for (var i in indices) {
		if (indices[i].className == 'reference') {
			indices[i].onmouseover = affNote;
			indices[i].onmouseout = outNum;
		}
	}
}

$(addFlyingNote);

// FIN FLYINGNOTE