2 // Copyright (c) 2010-2013 Florian Zeitz
4 // This project is MIT licensed.
5 // Please see the COPYING file for more information.
7 var BOSH_SERVICE = 'http://localhost:5280/http-bind/';
11 var connection = null;
13 var commandCenter = null;
16 var entry = $('<div></div>').append(document.createTextNode(msg));
17 $('#log').append(entry);
20 function rawInput(data) {
24 function rawOutput(data) {
28 function getFeatures(jid) {
30 cb = function(result) { /* Callback */
31 commandCenter.getCommandNodes(function(items) { $('#output').empty(); $('#output').append(items) });
33 ecb = function(result) { /* Errback */
34 $('#output').append("<p>" + jid + " does NOT support AdHoc commands</p>");
36 commandCenter.checkFeatures(jid, cb, ecb);
39 function onConnect(status) {
40 if (status == Strophe.Status.CONNECTING) {
41 log('Strophe is connecting.');
42 } else if (status == Strophe.Status.CONNFAIL) {
43 log('Strophe failed to connect.');
45 } else if (status == Strophe.Status.DISCONNECTING) {
46 log('Strophe is disconnecting.');
47 } else if (status == Strophe.Status.DISCONNECTED) {
48 log('Strophe is disconnected.');
50 } else if (status == Strophe.Status.AUTHFAIL) {
51 log('Authentication failed');
53 connection.disconnect();
55 } else if (status == Strophe.Status.CONNECTED) {
56 log('Strophe is connected.');
57 $('#queryJID').val(connection.domain);
59 commandCenter = new Adhoc("#output", function() {
60 $("<input type='button' value='Start over'/>").bind("click", function() {
62 commandCenter.getCommandNodes(function(items) { $('#output').append(items) });
63 }).appendTo('#output');
65 getFeatures(connection.domain);
69 function showConnect() {
71 var pass = $('#pass');
72 var button = $('#connect').get(0);
74 button.value = 'connect';
78 $('#cred label').show();
83 function showDisconnect() {
85 var pass = $('#pass');
86 var button = $('#connect').get(0);
88 button.value = 'disconnect';
91 $('#cred label').hide();
95 $(document).ready(function () {
96 connection = new Strophe.Connection(BOSH_SERVICE);
98 $('#log_container').show();
99 connection.rawInput = rawInput;
100 connection.rawOutput = rawOutput;
103 $("#log_toggle").click(function () {
107 $('#cred').bind('submit', function (event) {
108 var button = $('#connect').get(0);
110 var pass = $('#pass');
111 localJID = jid.get(0).value;
113 if (button.value == 'connect') {
116 connection.connect(localJID,
120 connection.disconnect();
122 event.preventDefault();
125 $('#queryForm').bind('submit', function (event) {
126 getFeatures($('#queryJID').val());
127 event.preventDefault();
131 window.onunload = window.onbeforeunload = function() {
133 connection.disconnect();