MediaWiki:Gadget-fs.js

Da Wikisource.

Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.

  • Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
  • Opera: premi Ctrl-F5.
$(function() {
	var index = -1;
	var len = 0;
	var textArea = document.getElementById('wpTextbox1');
	
	function findNextF(from) {
		s = textArea.value.indexOf('f', from);
		ss = textArea.value.indexOf('ff', from);
		if (from > textArea.value.length || (s == -1 && ss == -1)) {
			$('.fs-box').remove();
		} else {
			if (ss == -1)
				ss = 999999999999;
			if (s == -1)
				s = 999999999999;
			index = Math.min(s, ss);
			len = (index == ss) ? 2 : 1;
			textArea.focus({
				preventScroll: true
			});
			textArea.setSelectionRange(index, index + len);
		}
	}
	
	function mostraBox() {
		$('.fs-box').remove();
		var box = '<div class="box fs-box">'
			+ '<div class="box-title"><span class="icon-close"></span></div>'
			+ '<div class="box-main fs-box-main"></div></div>';
		$("body").append(box);
		$('.fs-box').draggable();
		$('.fs-box').draggable('option', 'cancel', '.box-main');
		
		$('.fs-box-main').append('<div>F o S?</div>');
		$('.fs-box-main').append('<div class="center"><input type="button" id="scegli-f" class="btn blue" value="F">' +
			' <input id="scegli-s" type="button" class="btn blue" value="S"></div>');
			
		$('.fs-box .icon-close').click(function() {
			$('.fs-box').remove();
		});
		$('#scegli-f').click(function() {
			findNextF(index + len);
		});
		$('#scegli-s').click(function() {
			textArea.value = textArea.value.slice(0, index) + 's'.repeat(len) + textArea.value.slice(index + len);
			findNextF(index + len);
		});
	}
	
	if ( typeof $ != 'undefined' && typeof $.fn.wikiEditor != 'undefined' ) {
		$( function() {
			$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
				'section': 'advanced',
				'group': 'format',
				'tools': {
					'F-S': {
						label: 'F-S',
						type: 'button',
						icon: '//upload.wikimedia.org/wikipedia/commons/1/13/Button_API_%CA%83.png',
						action: {
							type: 'callback',
							execute: function(context){
								findNextF(0);
								mostraBox();
							}
						}
					}
				}
			});
		});
	}
});