X-Git-Url: http://cgit.babelmonkeys.de/?p=adhocweb.git;a=blobdiff_plain;f=js%2Fmain.js;h=4cff25caf4b3a5e62fc7acbf1ae133f656cb383e;hp=3c42647592beb91644d684c169fc7af0a459ed29;hb=eab81f9e4afd38c8390745449865185e9637c830;hpb=907bec3b47789820c53a68559c5ca15d9f899bec diff --git a/js/main.js b/js/main.js index 3c42647..4cff25c 100644 --- a/js/main.js +++ b/js/main.js @@ -1,5 +1,4 @@ var BOSH_SERVICE = 'http://localhost:5280/http-bind/'; - var show_log = false; Strophe.addNamespace("ADHOC", "http://jabber.org/protocol/commands"); @@ -8,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)); @@ -40,6 +40,8 @@ function onConnect(status) { } } else if (status == Strophe.Status.CONNECTED) { log('Strophe is connected.'); + queryJID = connection.domain; + $('#query').show(); checkFeatures(); } } @@ -53,7 +55,7 @@ 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); if ($(x).find("title").length > 0) @@ -164,7 +166,7 @@ function serializeToDataform(form, st) { function displayResult(result) { var status = $(result).find("command").attr("status"); - $("#output *").remove(); + $("#output").empty(); $(result).find("command > *").each(function(index, e) { if ($(e).is("note")) { addNote("#output", $(e).text(), $(e).attr("type")); @@ -183,14 +185,14 @@ function displayResult(result) { $('#' + kind + 'Button').attr("disabled", "false"); } $('#executeButton').bind("click", function() { - var execIQ = $iq({ type: "set", to: connection.domain, id: connection.getUniqueId() }) + var execIQ = $iq({ type: "set", to: queryJID, id: connection.getUniqueId() }) .c("command", { xmlns: Strophe.NS.ADHOC, node: cmdNode, sessionid: sessionid, action: "execute" }); serializeToDataform($('form'), execIQ); connection.sendIQ(execIQ, displayResult); }); $('#cancelButton').bind("click", function() { - var cancelIQ = $iq({ type: "set", to: connection.domain, id: connection.getUniqueId() }) + var cancelIQ = $iq({ type: "set", to: queryJID, id: connection.getUniqueId() }) .c("command", { xmlns: Strophe.NS.ADHOC, node: cmdNode, sessionid: sessionid, action: "cancel" }); cmdNode = null sessionid = null; @@ -198,7 +200,7 @@ function displayResult(result) { }); } else { input = $("").bind("click", function() { - $('#output *').remove(); + $('#output').empty(); sessionid = null; cmdNode = null; getCommandNodes(); @@ -207,29 +209,31 @@ function displayResult(result) { } } -function runCommand() { +function runCommand(event) { cmdNode = $(this).attr("id"); // Save node of executed command (in global var) - var execIQ = $iq({ type: "set", to: connection.domain, id: connection.getUniqueId() }) + var execIQ = $iq({ type: "set", to: queryJID, id: connection.getUniqueId() }) .c("command", { xmlns: Strophe.NS.ADHOC, node: cmdNode, action: "execute" }); connection.sendIQ(execIQ, function(result) { sessionid = $(result).find("command").attr("sessionid"); displayResult(result); }); + event.preventDefault(); } function getCommandNodes() { - var nodesIQ = $iq({ type: "get", to: connection.domain, id: "nodes1" }).c("query", {xmlns: Strophe.NS.DISCO_ITEMS, node: Strophe.NS.ADHOC}); + var nodesIQ = $iq({ type: "get", to: queryJID, id: "nodes1" }).c("query", {xmlns: Strophe.NS.DISCO_ITEMS, node: Strophe.NS.ADHOC}); connection.sendIQ(nodesIQ, function(result) { $('#output').append(""); $(result).find("item").each(function(index, e) { - item = $("
  • " + $(e).attr("name") + "
  • ").bind("click", runCommand); + link = $("" + $(e).attr("name") + "").click(runCommand) + item = $("
  • ").append(link); $("#items").append(item); }); }); } function checkFeatures() { - featureIQ = $iq({ type: "get", to: connection.domain, id: "features1" }).c("query", {xmlns: Strophe.NS.DISCO_INFO}); + featureIQ = $iq({ type: "get", to: queryJID, id: "features1" }).c("query", {xmlns: Strophe.NS.DISCO_INFO}); connection.sendIQ(featureIQ, function(result) { if ($(result).find("feature[var='" + Strophe.NS.ADHOC + "']").length > 0) { $('#output').append("

    This entitiy does support AdHoc commands

    "); @@ -237,6 +241,7 @@ function checkFeatures() { $('#output').append("

    This entitiy does NOT support AdHoc commands

    "); } }); + $('#output').empty(); getCommandNodes(); } @@ -246,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() { @@ -261,8 +266,7 @@ function showDisconnect() { button.value = 'disconnect'; pass.hide(); jid.hide(); - $('label').hide(); - return false; + $('#cred label').hide(); } $(document).ready(function () { @@ -277,7 +281,7 @@ $(document).ready(function () { $("#log").toggle(); }); - $('#cred').bind('submit', function () { + $('#cred').bind('submit', function (event) { var button = $('#connect').get(0); var jid = $('#jid'); var pass = $('#pass'); @@ -285,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(); }); });