MediaWiki:Gadget-anagramas.js

Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.

  • Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
  • Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
function print_form() {
	$("#anag_search")
        .empty()
		.append($("<form action='' id='anag_form' />")
			.append($("<input type='text' id='tit' name='tit' />"))
			.append($("<input type='submit' id='btn' value='Obtener anagramas' />"))
		)
		.append($("<div id='res'>"));
	$("#res")
		.empty();
}

function search_started(xhr) {
	$("#res").empty();
	$("#anag_form").off().on("submit", function(e) {
		e.preventDefault();
		xhr.abort();
		search_ended();
	});
}

function search_ended() {
	$("#btn").attr( "value", "Obtener anagramas");
	$("#anag_form").off().on("submit", function(e) {
		$("#anag_form input").blur();
		e.preventDefault();
		anagramas();
	});
}

function anagramas() {
	var b = $("#tit").val();
	if (b === '')
	{
		$('#res').html('Ingrese una palabra para buscar.');
		return;
	}
	var xhr = $.getJSON("https://tmcbot.toolforge.org/anagramas.php", {"b": b}, function(arr) {
		search_ended();
		if (arr[0].startsWith("ERROR"))
		{
			$('#res').html(arr[0]);
		}
		else
		{
			new mw.Api().parse(":* Anagramas de '''" + b + "''': " + arr.join(", ")).done(function(parsed) {
				$('#res').html(parsed);
			});
		}
	}).fail(function(e) {
		search_ended();
		$('#res').html("Lo sentimos, hubo un error en el servidor :(");
	});
	search_started(xhr);
}

$(function() {
	if ( $("#anag_search") ) {
		print_form();
		$("#anag_form").on("submit", function(e) {
			$("#anag_form input").blur();
			e.preventDefault();
			anagramas();
		});
	}
});