]> cgit.babelmonkeys.de Git - adhocweb.git/blobdiff - js/main.js
Restructure adhoc "class"
[adhocweb.git] / js / main.js
index 73ace060a8394f96a984b32e9ba61fa9080e287c..621596162d3ce61b9068efa0eed6c07c7fd9605e 100644 (file)
@@ -4,6 +4,8 @@ var show_log = true;
 var localJID = null;
 var connection   = null;
 
+var commandCenter = null;
+
 function log(msg) {
     var entry = $('<div></div>').append(document.createTextNode(msg));
     $('#log').append(entry);
@@ -17,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("<p>" + jid + " does NOT support AdHoc commands</p>");
+    }
+    commandCenter.checkFeatures(jid, cb, ecb);
+}
+
 function onConnect(status) {
     if (status == Strophe.Status.CONNECTING) {
         log('Strophe is connecting.');
@@ -37,7 +50,13 @@ function onConnect(status) {
         log('Strophe is connected.');
         $('#queryJID').val(connection.domain);
         $('#query').show();
-        Adhoc.checkFeatures("#output", connection.domain);
+       commandCenter = new Adhoc("#output", function() {
+               $("<input type='button' value='Start over'/>").bind("click", function() {
+                       $('#output').empty();
+                       commandCenter.getCommandNodes(function(items) { $('#output').append(items) });
+               }).appendTo('#output');
+       });
+        getFeatures(connection.domain);
     }
 }
 
@@ -98,7 +117,7 @@ $(document).ready(function () {
     });
 
     $('#queryForm').bind('submit', function (event) {
-        Adhoc.checkFeatures("#output", $('#queryJID').val());
+        getFeatures($('#queryJID').val());
         event.preventDefault();
     });
 });