diff options
Diffstat (limited to 'webclient/lib/alias.js')
| -rw-r--r-- | webclient/lib/alias.js | 144 |
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)); } |
