X-Git-Url: http://cgit.babelmonkeys.de/?p=adhocweb.git;a=blobdiff_plain;f=js%2Fmain.js;h=c20969d3d5a59c1e9e250eac5b5d993743aa522f;hp=61ddaa41f427a51f832208a575c2b97a6a5c61ed;hb=83dffb602a2d29d0f0030ba171c722ae254a37ca;hpb=15adf08d0903da15021677a61a5ffdf41272ba8a;ds=sidebyside diff --git a/js/main.js b/js/main.js index 61ddaa4..c20969d 100644 --- a/js/main.js +++ b/js/main.js @@ -42,16 +42,103 @@ function onConnect(status) { } } +function addNote(elem, text, type) { + if (!type) { + type = "info"; + } + $(elem).append("
" + text + "
"); +} + +function addForm(elem, x) { + var form = $(""); + form.submit(function(){return false;}); + var fieldset = $(""); + form.append(fieldset); + $("").text($(x).find("title").text()).appendTo(fieldset); + $("").text($(x).find("instructions").text()).appendTo(fieldset); + $(x).find("field").each(function(){ + var item = null; + var type = $(this).attr("type"); + if($(this).attr("label")) { + $("").text($(this).attr("label")).attr("for", $(this).attr("var")).appendTo(fieldset); + } + switch(type) { + case "hidden": + item = $(""); + break; + case "boolean": + item = $(""); + break; + case "text-multi": + item = $(""); + break; + case "text-single": + item = $(""); + break; + case "fixed": + item = $("").attr("readonly",true); + break; + case "jid-multi": + item = $(""); + break; + case "jid-single": + item = $(""); + break; + case "list-multi": + item = $(""); + $(this).find("option").each(function(){ + $("").val($(this).find("value").text()).text($(this).attr("label")).appendTo(item); + }); + break; + case "list-single": + item = $(""); + $(this).find("option").each(function(){ + $("").val($(this).find("value").text()).text($(this).attr("label")).appendTo(item); + }); + break; + case "text-private": + item = $(""); + break; + default: + item = $(""); + } + if ($(this).find("value")) { + var value = null; + if ((type == "text-multi") || (type == "jid-multi")) { + value = ""; + $(this).find("value").each(function() { + value = value + $(this).text() + "\n"; + }); + item.val(value); + } else if (type == "list-multi") { + value = new Array(); + $(this).find("value").each(function() { + value[value.length] = $(this).text(); + }); + } else { + item.val($(this).find("value").text()); + } + } + if ($(this).attr("var")) { + item.attr("name", $(this).attr("var")); + item.attr("id", $(this).attr("var")); + } + fieldset.append(item); + fieldset.append("" + $(e).text() + "
"); }); if (status == "executing") { $("#output").append(""+