Benutzer:J*/Ka-Mel-Oh/Testgelände.js: Unterschied zwischen den Versionen
< Benutzer:J* | Ka-Mel-Oh
Zur Navigation springen
Zur Suche springen
J* (Diskussion | Beiträge) (Die Seite wurde neu angelegt.) |
K |
||
(14 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | // | + | 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)+";"); | ||
+ | } | ||
+ | }); |
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)+";");
}
});