X-Git-Url: http://cgit.babelmonkeys.de/?p=adhocweb.git;a=blobdiff_plain;f=js%2Fmain.js;h=621596162d3ce61b9068efa0eed6c07c7fd9605e;hp=8724764fc49cb711496bb102ebd044a48c171df8;hb=5a45869a032410c17d02374b8de20e496c114de3;hpb=f4cb3215b33bff04fce978513f77aff1e621a1ff diff --git a/js/main.js b/js/main.js index 8724764..6215961 100644 --- a/js/main.js +++ b/js/main.js @@ -1,12 +1,10 @@ var BOSH_SERVICE = 'http://localhost:5280/http-bind/'; -var show_log = false; - -Strophe.addNamespace("ADHOC", "http://jabber.org/protocol/commands"); +var show_log = true; var localJID = null; var connection = null; -var sessionid = null; -var cmdNode = null; + +var commandCenter = null; function log(msg) { var entry = $('
').append(document.createTextNode(msg)); @@ -21,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.'); @@ -39,217 +48,30 @@ function onConnect(status) { } } else if (status == Strophe.Status.CONNECTED) { log('Strophe is connected.'); - checkFeatures(); + $('#queryJID').val(connection.domain); + $('#query').show(); + 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"; - } - $(elem).append("

" + text + "

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