aboutsummaryrefslogtreecommitdiffstats
path: root/webclient/lib/alias.js
diff options
context:
space:
mode:
Diffstat (limited to 'webclient/lib/alias.js')
-rw-r--r--webclient/lib/alias.js144
1 files changed, 17 insertions, 127 deletions
diff --git a/webclient/lib/alias.js b/webclient/lib/alias.js
index bae01cc..521b492 100644
--- a/webclient/lib/alias.js
+++ b/webclient/lib/alias.js
@@ -28,7 +28,7 @@ var Alias = {
/**
* Return the status of a contact
* @param {jQuery} contact The contact
- * @return {Int} The status' number
+ * @return {Number} The status' number
* @see Alias.Status
*/
getPresence: function(contact) {
@@ -117,8 +117,20 @@ var Alias = {
}
else
$('#roster ul').append(contact);
+
+ // init tooltip
+ contact.tipTip({
+ content: "<ul><li>Jid: " + jid + "</li><li><a>Start Chat</a></li></ul>",
+ defaultPosition: "right",
+ keepAlive: true
+ });
},
+ /**
+ * Update the roster when receiving a presence stanza
+ * @param {XMLElement} presence The presence stanza
+ * @returns {Boolean}
+ */
onPresence: function(presence) {
var who = $(presence).attr('from');
var type = $(presence).attr('type');
@@ -150,7 +162,7 @@ var Alias = {
/**
* Rebuild the contact list when receiving a roster iq
- * @param iq
+ * @param {XMLElement} iq
* @return {Boolean}
*/
onRoster: function(iq) {
@@ -175,7 +187,6 @@ var Alias = {
/**
* Called when the status of Strophe's connection changes.
* This function is passed to the Strophe's connect function
- *
* @param {Int} status The new status
*/
onStatusChanged: function(status) {
@@ -195,7 +206,9 @@ var Alias = {
},
/**
- * Alias initialization after connection
+ * Initialization after connection
+ *
+ * Set the interface and the handlers
*/
onConnect: function() {
Alias.getRoster();
@@ -305,129 +318,6 @@ var Alias = {
};
-/**
- * Light jQuery tab plugin
- *
- * the html structure is:
- *
- * <div id="generalid">
- * <ul class="tabbar">
- * <li><a href="#tab-1">Title 1</a></li>
- * </ul>
- * <div id="tab-1">
- * Content 1
- * </div>
- * </div>
- */
-(function( $ ){
-
- var methods = {
-
- /**
- * Initialise the general tab area
- * @return this (to preserve chainability)
- */
- init: function() {
- var tabs = this;
- this.find('ul.tabbar li').bind('click.tabs', function(event){
- event.preventDefault();
- tabs.tabs('select',$(this).find('a').attr('href'));
- });
- this.data('tabs',{});
- return this;
- },
-
- /**
- * Select a tab
- * @param {String} id The tab id with #
- * @return this
- */
- select: function(id) {
- var selectedId = this.data('tabs').selected;
-
- if ( selectedId == id) {
- return this;
- }
-
- this.find('ul.tabbar li a[href="' + selectedId + '"]').parent().removeClass('selected');
- this.find('ul.tabbar li a[href="' + id + '"]').parent().addClass('selected');
- $(selectedId).hide();
- $(id).show();
- this.data('tabs').selected = id;
- return this;
- },
-
- /**
- * Add a tab
- * @param {String} name The tab Title
- * @param {String} id The tab id without #
- * @pram {Bool} remove Wether the tab should be closable
- * return this
- */
- add: function(name, id, remove) {
- var tabs = this;
- var li = $('<li><a href="#' + id + '">' + name +'</a></li>');
-
- if ( remove ) {
- li.append('<span class="tab-close"/>');
- li.find('.tab-close').bind('click', function() {
- tabs.tabs('remove', '#'+id);
- });
- }
-
- li.bind('click.tabs',function(event){
- event.preventDefault();
- tabs.tabs('select',$(this).find('a').attr('href'));
- });
- $(this).find('ul.tabbar').append(li);
- $(this).append('<div class="tab" id="' + id + '"></div>');
- return this;
- },
-
- /**
- * Test if a tab exists
- * @param {String} id The tab id with #
- * @return {Bool}
- */
- exist: function(id) {
- return (this.find('ul.tabbar li a[href="' + id + '"]').length != 0);
- },
-
- /**
- * Remove a tab
- * @param {String} id The tab id with #
- * @return this
- */
- remove: function(id) {
- this.find('ul.tabbar li a[href="' + id + '"]').parent().remove();
- $(id).remove();
-
- if (this.data('tabs').selected == id) {
- var first = this.find('ul.tabbar li:first a').attr('href');
- this.tabs('select', first);
- }
- }
- };
-
- /*
- * Register the 'tabs' method to the jQuery objects
- * the first argument of this method is the submethod
- * you want to call
- */
- $.fn.tabs = function(method) {
- if ( methods[method] ) {
- return methods[method].apply(this, Array.prototype.slice
- .call(arguments, 1));
- } else if ( typeof method === 'object' || !method ) {
- return methods.init.apply(this, arguments);
- } else {
- $.error('Method ' + method + ' does not exist on jQuery.tabs');
- }
- };
-
-})(jQuery);
-
-
function log(msg, color) {
$('#log').append($('<div></div>').css('background-color', color).text(msg));
}