Commit c17ffdb9 authored by JC Brand's avatar JC Brand

Added functionality to connect to an XMPP server.

Can succesfully connect now, but still need to get rid of ajax calls to @@xmp-userinfo, and replace them with
VCards.
parent aecc9942
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
define([ define([
"Libraries/burry.js/burry", "Libraries/burry.js/burry",
"Libraries/underscore.string", "Libraries/underscore.string",
"Libraries/jquery-ui-1.9.1.custom",
"Libraries/sjcl", "Libraries/sjcl",
"Libraries/backbone", "Libraries/backbone",
"Libraries/strophe.muc", "Libraries/strophe.muc",
...@@ -1693,14 +1694,18 @@ ...@@ -1693,14 +1694,18 @@
}, this)); }, this));
// Controlbox toggler // Controlbox toggler
$toggle.bind('click', $.proxy(function (e) { if ($toggle.length) {
e.preventDefault(); $toggle.bind('click', $.proxy(function (e) {
if ($("div#controlbox").is(':visible')) { e.preventDefault();
this.chatboxesview.closeChat('controlbox'); if ($("div#controlbox").is(':visible')) {
} else { this.chatboxesview.closeChat('controlbox');
this.chatboxesview.openChat('controlbox'); } else {
} this.chatboxesview.openChat('controlbox');
}, this)); }
}, this));
} else {
this.chatboxesview.openChat('controlbox');
}
}, this)); }, this));
}, xmppchat)); }, xmppchat));
})); }));
......
...@@ -3,22 +3,22 @@ ...@@ -3,22 +3,22 @@
<head> <head>
<title>Converse.js Demo Page</title> <title>Converse.js Demo Page</title>
<!-- This is a special version of jQuery with RequireJS built-in --> <!-- This is a special version of jQuery with RequireJS built-in -->
<link rel="stylesheet" href="css/smoothness/jquery-ui-1.9.0.custom.css" type="text/css" media="all"> <link rel="stylesheet" href="Libraries/css/jquery-ui-1.9.1.custom/ui-lightness/jquery-ui-1.9.1.custom.css" type="text/css" media="all">
<link rel="stylesheet" href="converse.css" type="text/css" media="all"> <link rel="stylesheet" href="converse.css" type="text/css" media="all">
<script data-main="main" src="Libraries/require-jquery.js"></script> <script data-main="main" src="Libraries/require-jquery.js"></script>
</head> </head>
<body> <body>
<h1>Converse.js Demo Page</h1> <h1>Converse.js Demo Page</h1>
Log in with your Jabber/XMPP ID and password.
Log in with your Jabber/XMPP ID and password. If you don't have an XMPP
account, you can create one for free on <a href="http://register.jabber.org">jabber.org</a>.
<!-- login dialog --> <!-- login dialog -->
<div id='login_dialog' class='hidden'> <div id='login_dialog' class='hidden'>
<label>Login ID:</label><input type='text' id='jid'> <label>Login ID:</label>
<label>Password:</label><input type='password' id='password'> <input type='text' id='jid'>
<label>Password:</label>
<input type='password' id='password'>
<label>BOSH Service URL:</label>
<input type='text' id='bosh_service_url'>
</div> </div>
<div id="collective-xmpp-chat-data"></div> <div id="collective-xmpp-chat-data"></div>
</body> </body>
</html> </html>
require(["jquery", "converse"], function($) { require(["jquery", "converse"], function($) {
$(function() { $(function() {
alert('success!'); $('#login_dialog').dialog({
autoOpen: true,
draggable: false,
modal: true,
title: 'Connect to XMPP',
buttons: {
"Connect": function () {
$(document).trigger('connect', {
jid: $('#jid').val(),
password: $('#password').val(),
bosh_service_url: $('#bosh_service_url').val()
});
$('#password').val('');
$(this).dialog('close');
}
}
});
$(document).bind('connect', function (ev, data) {
var connection = new Strophe.Connection(data.bosh_service_url);
connection.connect(data.jid, data.password, function (status) {
if (status === Strophe.Status.CONNECTED) {
console.log('Connected');
$(document).trigger('jarnxmpp.connected', connection);
} else if (status === Strophe.Status.DISCONNECTED) {
console.log('Disconnected');
$(document).trigger('jarnxmpp.disconnected');
} else if (status === Strophe.Status.Error) {
console.log('Error');
} else if (status === Strophe.Status.CONNECTING) {
console.log('Connecting');
} else if (status === Strophe.Status.CONNFAIL) {
console.log('Connection Failed');
} else if (status === Strophe.Status.AUTHENTICATING) {
console.log('Authenticating');
} else if (status === Strophe.Status.AUTHFAIL) {
console.log('Authenticating Failed');
} else if (status === Strophe.Status.DISCONNECTING) {
console.log('Disconnecting');
} else if (status === Strophe.Status.ATTACHED) {
console.log('Attached');
}
});
});
}); });
}); });
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment