X-Git-Url: http://cgit.babelmonkeys.de/?p=adhocweb.git;a=blobdiff_plain;f=js%2Fmain.js;h=4cff25caf4b3a5e62fc7acbf1ae133f656cb383e;hp=db4a0752d5a89aa8fde37348c49a309dec208c40;hb=eab81f9e4afd38c8390745449865185e9637c830;hpb=34a06d17adfddf8cae1671b3a1c666da238fbd61 diff --git a/js/main.js b/js/main.js index db4a075..4cff25c 100644 --- a/js/main.js +++ b/js/main.js @@ -1,4 +1,5 @@ var BOSH_SERVICE = 'http://localhost:5280/http-bind/'; +var show_log = false; Strophe.addNamespace("ADHOC", "http://jabber.org/protocol/commands"); @@ -6,6 +7,7 @@ var localJID = null; var connection = null; var sessionid = null; var cmdNode = null; +var queryJID = null; function log(msg) { var entry = $('
').append(document.createTextNode(msg)); @@ -38,6 +40,8 @@ function onConnect(status) { } } else if (status == Strophe.Status.CONNECTED) { log('Strophe is connected.'); + queryJID = connection.domain; + $('#query').show(); checkFeatures(); } } @@ -51,110 +55,118 @@ function addNote(elem, text, type) { function addForm(elem, x) { var form = $(""); - form.submit(function(){return false;}); + form.submit(function(event){event.preventDefault();}); var fieldset = $(""); form.append(fieldset); - $("").text($(x).find("title").text()).appendTo(fieldset); - $("").text($(x).find("instructions").text()).appendTo(fieldset); + if ($(x).find("title").length > 0) + $("").text($(x).find("title").text()).appendTo(fieldset); + if ($(x).find("instructions").length > 0) + $("").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 = $(""); - } - item.addClass("df-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"; + 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); }); - item.val(value); - } else if (type == "list-multi") { - value = new Array(); - $(this).find("value").each(function() { - value[value.length] = $(this).text(); + break; + case "list-single": + item = $(""); + $(this).find("option").each(function(){ + $("").val($(this).find("value").text()).text($(this).attr("label")).appendTo(item); }); - } else { - item.val($(this).find("value").text()); - } - } - if ($(this).attr("var")) { - item.attr("name", $(this).attr("var")); - item.attr("id", $(this).attr("var")); + break; + case "text-private": + item = $(""); + break; + default: + item = $(""); + } + item.addClass("df-item"); + if ($(this).find("value").length > 0) { + 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()); } - fieldset.append(item); - fieldset.append("This entitiy does support AdHoc commands
"); @@ -220,6 +241,7 @@ function checkFeatures() { $('#output').append("This entitiy does NOT support AdHoc commands
"); } }); + $('#output').empty(); getCommandNodes(); } @@ -229,11 +251,11 @@ function showConnect() { var button = $('#connect').get(0); button.value = 'connect'; + $('#query').hide(); pass.show(); jid.show(); $('label').show(); - $('#output *').remove(); - return false; + $('#output').empty(); } function showDisconnect() { @@ -244,20 +266,22 @@ function showDisconnect() { button.value = 'disconnect'; pass.hide(); jid.hide(); - $('label').hide(); - return false; + $('#cred label').hide(); } $(document).ready(function () { connection = new Strophe.Connection(BOSH_SERVICE); - connection.rawInput = rawInput; - connection.rawOutput = rawOutput; + if (show_log) { + $('#log_container').show(); + connection.rawInput = rawInput; + connection.rawOutput = rawOutput; + } $("#log_toggle").click(function () { $("#log").toggle(); }); - $('#cred').bind('submit', function () { + $('#cred').bind('submit', function (event) { var button = $('#connect').get(0); var jid = $('#jid'); var pass = $('#pass'); @@ -265,14 +289,20 @@ $(document).ready(function () { if (button.value == 'connect') { showDisconnect(); - $('#log *').remove(); + $('#log').empty(); connection.connect(localJID, pass.get(0).value, onConnect); } else { connection.disconnect(); } - return false; + event.preventDefault(); + }); + + $('#queryForm').bind('submit', function (event) { + queryJID = $('#queryJID').val(); + checkFeatures(); + event.preventDefault(); }); });