Benutzer:J*/Ka-Mel-Oh/Testgelände.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
K
K
 
(5 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
addJS("MediaWiki:Prototype.js");
+
addJS("Kamel:J*/Ka-Mel-Oh/Prototype.js");
  
 
/* --- helper stuff --- */
 
/* --- helper stuff --- */
  
function fix_magic () {
+
function card_info (number)
 +
{
 +
    var table = document.getElementById("card_info_table");
 +
    table.style.display = "table";
 +
    document.getElementById("card_info_cell").innerHTML = "";
 +
    table.onclick = function () { this.style.display = "none"; };
 +
 
 +
x = new Ajax.Request("http://kamelopedia.mormo.org/api.php?action=parse&text={{Karte|"+parseInt(number)+"|80|none}}&format=json",
 +
{
 +
method:'get',
 +
onSuccess: function(transport){
 +
document.getElementById("card_info_cell").innerHTML = transport.responseJSON.parse.text["*"];
 +
}
 +
});
 +
 
 +
}
 +
 
 +
function fix_magic ()
 +
{
  
 
var deleters = document.getElementsByClassName("card_delete");
 
var deleters = document.getElementsByClassName("card_delete");
Zeile 12: Zeile 30:
 
deleters[i].style.cursor = "pointer";
 
deleters[i].style.cursor = "pointer";
 
}
 
}
 +
 +
var infos = document.getElementsByClassName("card_info");
 +
for (var i=0; i < infos.length; i++)
 +
{
 +
infos[i].onclick = function () {d = getDraggable(this); card_info(d.childNodes[0].innerHTML); };
 +
infos[i].style.cursor = "pointer";
 +
}     
 
}
 
}
  
Zeile 55: Zeile 80:
  
 
addOnloadHook( function () {
 
addOnloadHook( function () {
document.getElementById("perma_link").innerHTML="<form><input type='submit' value='Permalink erzeugen' /><br><input type='text' style='width:80%' name='link' /></form>";
+
document.getElementById("perma_link").innerHTML="<form><input type='submit' value='Permalink erzeugen' /><br /><input type='text' style='width:80%' name='link' /></form>";
  
 
document.getElementById("perma_link").childNodes[0].onsubmit = function () {
 
document.getElementById("perma_link").childNodes[0].onsubmit = function () {
Zeile 69: Zeile 94:
 
out.push(s);
 
out.push(s);
 
}
 
}
this.link.value = location.protocol+"//"+location.hostname+location.pathname+(location.search+"?").split("?")[0] + "?zIndex="+dragobject.z+"&cards=" + out.join(";");
+
this.link.value = location.protocol+"//"+location.hostname+location.pathname+(location.search+"?").split("?")[0] + "?zIndex="+(dragobject.z -1000)+"&cards=" + out.join(";");
 
return false;
 
return false;
 
};
 
};
Zeile 85: Zeile 110:
 
}
 
}
 
 
 +
if (! args.cards) return;
 
var cards = args.cards.split(";");
 
var cards = args.cards.split(";");
         if (args.zIndex) dragobject.z = args.zIndex;
+
         if (args.zIndex) dragobject.z = parseInt(args.zIndex) + 1000;
if (args.cards)
 
 
for (var i=0; i < cards.length; i ++)
 
for (var i=0; i < cards.length; i ++)
 
{
 
{
 
var props = cards[i].split(",")
 
var props = cards[i].split(",")
create_card(props[0],"left:"+props[1]+"px; top:"+props[2]+"px; z-index:"+(props[3]+1000)+";");
+
create_card(props[0],"left:"+props[1]+"px; top:"+props[2]+"px; z-index:"+(parseInt(props[3])+1000)+";");
 
}
 
}
 
});
 
});

Aktuelle Version vom 3. April 2012, 15:05 Uhr

addJS("Kamel:J*/Ka-Mel-Oh/Prototype.js");

/* --- helper stuff --- */

function card_info (number)
{
    var table = document.getElementById("card_info_table");
    table.style.display = "table";
    document.getElementById("card_info_cell").innerHTML = "";
    table.onclick = function () { this.style.display = "none"; };

		x = new Ajax.Request("http://kamelopedia.mormo.org/api.php?action=parse&text={{Karte|"+parseInt(number)+"|80|none}}&format=json",
		{
			method:'get',
			onSuccess: function(transport){
				document.getElementById("card_info_cell").innerHTML = transport.responseJSON.parse.text["*"];
			}
		});

}

function fix_magic ()
{

	var deleters = document.getElementsByClassName("card_delete");
	for (var i=0; i < deleters.length; i++)
	{
		//var card = getDraggable(deleters[i]);
		deleters[i].onclick = function () {d = getDraggable(this); d.parentNode.removeChild(d); };
		deleters[i].style.cursor = "pointer";
	}

	var infos = document.getElementsByClassName("card_info");
	for (var i=0; i < infos.length; i++)
	{
		infos[i].onclick = function () {d = getDraggable(this); card_info(d.childNodes[0].innerHTML); };
		infos[i].style.cursor = "pointer";
	}      
}

function create_card (number, additional_css)
{
	if (number == "R")
	{
		x = new Ajax.Request("http://kamelopedia.mormo.org/api.php?action=parse&text={{Ka-Mel-Oh-Mini-Rückseite!|style%3Dposition:absolute; left:0px; top:0px;"+additional_css+"}}&format=json",
		{
			method:'get',
			onSuccess: function(transport){
				document.getElementById("new_card_slot").innerHTML += transport.responseJSON.parse.text["*"];
				fix_magic();
			}
		});
	}
	else
	{
		x = new Ajax.Request("http://kamelopedia.mormo.org/api.php?action=parse&text={{Mini-Karte|"+parseInt(number)+"|style%3Dposition:absolute; left:0px; top:0px;"+additional_css+"}}&format=json",
		{
			method:'get',
			onSuccess: function(transport){
				document.getElementById("new_card_slot").innerHTML += transport.responseJSON.parse.text["*"];
				fix_magic();
			}
		});
	}
}

/* --- create card form --- */

addOnloadHook( function () {
	// forms
	document.getElementById("card_create_form").innerHTML="<form style='display: inline;'><input name='number' type='text' size='2' /> <input type='submit' value='erstellen' /></form>";
	document.getElementById("back_create_form").innerHTML="<form style='display: inline;'><input type='submit' value='erstellen' /></form>";

	// onsubmit
	document.getElementById("card_create_form").childNodes[0].onsubmit = function () { create_card(this.number.value,""); return false; };
	document.getElementById("back_create_form").childNodes[0].onsubmit = function () { create_card("R",""); return false; };
});

/* --- create permalink form --- */

addOnloadHook( function () {
	document.getElementById("perma_link").innerHTML="<form><input type='submit' value='Permalink erzeugen' /><br /><input type='text' style='width:80%' name='link' /></form>";

	document.getElementById("perma_link").childNodes[0].onsubmit = function () {
		var hints = document.getElementsByClassName("hint");
		var out = [];
		for (var i = 0; i < hints.length; i ++)
		{
			var s = "";
			s += hints[i].innerHTML + ",";
			s += parseInt(hints[i].parentNode.style.left) + ",";
			s += parseInt(hints[i].parentNode.style.top) + ",";
			s += (parseInt(hints[i].parentNode.style.zIndex) - 1000);
			out.push(s);
		}
		this.link.value = location.protocol+"//"+location.hostname+location.pathname+(location.search+"?").split("?")[0] + "?zIndex="+(dragobject.z -1000)+"&cards=" + out.join(";");
		return false;
	};
});

/* --- init --- */

addOnloadHook( function () {
	var argstrings = (location.search+"?").split("?")[1].split("&");
	var args = {}; // page parameters
	for (var i=0; i<argstrings.length; i++)
	{
		var parts = (argstrings[i]+"==").split("=");
		args[parts[0]]=parts[1];
	}
	
	if (! args.cards) return;
	var cards = args.cards.split(";");
        if (args.zIndex) dragobject.z = parseInt(args.zIndex) + 1000;
		for (var i=0; i < cards.length; i ++)
		{
			var props = cards[i].split(",")
				create_card(props[0],"left:"+props[1]+"px; top:"+props[2]+"px; z-index:"+(parseInt(props[3])+1000)+";");
		}
});