X-Git-Url: http://cgit.babelmonkeys.de/?p=adhocweb.git;a=blobdiff_plain;f=js%2Fmain.js;h=621596162d3ce61b9068efa0eed6c07c7fd9605e;hp=188dfc762eda4af93e1ac45659c9671bf8046d5f;hb=5a45869a032410c17d02374b8de20e496c114de3;hpb=e3f2eb03a5f4dc014e034cdfc65a572544421336 diff --git a/js/main.js b/js/main.js index 188dfc7..6215961 100644 --- a/js/main.js +++ b/js/main.js @@ -1,13 +1,10 @@ var BOSH_SERVICE = 'http://localhost:5280/http-bind/'; var show_log = true; -Strophe.addNamespace("ADHOC", "http://jabber.org/protocol/commands"); - var localJID = null; var connection = null; -var sessionid = null; -var cmdNode = null; -var queryJID = null; + +var commandCenter = null; function log(msg) { var entry = $('
').append(document.createTextNode(msg)); @@ -22,6 +19,17 @@ function rawOutput(data) { log('SENT: ' + data); } +function getFeatures(jid) { + var cb, ecb; + cb = function(result) { /* Callback */ + commandCenter.getCommandNodes(function(items) { $('#output').empty(); $('#output').append(items) }); + } + ecb = function(result) { /* Errback */ + $('#output').append("

" + jid + " does NOT support AdHoc commands

"); + } + commandCenter.checkFeatures(jid, cb, ecb); +} + function onConnect(status) { if (status == Strophe.Status.CONNECTING) { log('Strophe is connecting.'); @@ -40,242 +48,18 @@ function onConnect(status) { } } else if (status == Strophe.Status.CONNECTED) { log('Strophe is connected.'); - queryJID = connection.domain; - $('#queryJID').val(queryJID); + $('#queryJID').val(connection.domain); $('#query').show(); - checkFeatures(); + commandCenter = new Adhoc("#output", function() { + $("").bind("click", function() { + $('#output').empty(); + commandCenter.getCommandNodes(function(items) { $('#output').append(items) }); + }).appendTo('#output'); + }); + getFeatures(connection.domain); } } -function addNote(elem, text, type) { - if (!type) { - type = "info"; - } - text = text.replace(/\n/g, "
"); - $(elem).append("

" + text + "

"); -} - -function addForm(elem, x) { - var form = $("
"); - form.submit(function(event){event.preventDefault();}); - var fieldset = $("
"); - form.append(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")) { - $("