Commit 7fdbafc34ec9d18e26bcf2739efefba47e66e235
1 parent
a08e4ad6
Exists in
master
and in
29 other branches
Fix chat.js with new jquery-ui tab api
Now it works but is not fully functional yet
Showing
1 changed file
with
20 additions
and
4 deletions
Show diff stats
public/javascripts/chat.js
@@ -529,11 +529,27 @@ jQuery(function($) { | @@ -529,11 +529,27 @@ jQuery(function($) { | ||
529 | function create_conversation_tab(title, jid_id) { | 529 | function create_conversation_tab(title, jid_id) { |
530 | if (! $('#' + Jabber.tab_prefix + jid_id).length > 0) { | 530 | if (! $('#' + Jabber.tab_prefix + jid_id).length > 0) { |
531 | // opening chat with selected online friend | 531 | // opening chat with selected online friend |
532 | - var tab = $tabs.tabs('add', '#' + Jabber.tab_prefix + jid_id, title); | 532 | + var panel = $('<div id="'+Jabber.tab_prefix + jid_id+'"></div>').appendTo($tabs); |
533 | + panel.append("<div class='conversation'><div class='history'></div><div class='input-div'><div class='icon-chat'></div><textarea class='input'></textarea></div></div>"); | ||
534 | + | ||
535 | + //FIXME | ||
536 | + //var notice = $starting_chat_notice.replace('%{name}', $(ui.tab).html()); | ||
537 | + //Jabber.show_notice(jid_id, notice); | ||
538 | + | ||
539 | + // define textarea name as '<TAB_ID>' | ||
540 | + panel.find('textarea').attr('name', panel.id); | ||
541 | + | ||
542 | + if (Jabber.is_a_room(jid_id)) { | ||
543 | + panel.append(Jabber.templates.occupant_list); | ||
544 | + panel.find('.history').addClass('room'); | ||
545 | + } | ||
546 | + | ||
547 | + $tabs.find('.ui-tabs-nav').append( "<li><a href='"+('#' + Jabber.tab_prefix + jid_id)+"'><span class=\"unread-messages\" style=\"display:none\"></span>"+title+"</a></li>" ); | ||
548 | + $tabs.tabs('refresh'); | ||
549 | + | ||
533 | var jid = Jabber.jid_of(jid_id); | 550 | var jid = Jabber.jid_of(jid_id); |
534 | $("a[href='#" + Jabber.tab_prefix + jid_id + "']").addClass($('#' + jid_id).attr('class') || 'icon-chat'); | 551 | $("a[href='#" + Jabber.tab_prefix + jid_id + "']").addClass($('#' + jid_id).attr('class') || 'icon-chat'); |
535 | $('#' + Jabber.tab_prefix + jid_id).find('textarea').attr('data-to', jid); | 552 | $('#' + Jabber.tab_prefix + jid_id).find('textarea').attr('data-to', jid); |
536 | - $tabs.tabs('select', '#' + Jabber.tab_prefix + jid_id); | ||
537 | } | 553 | } |
538 | } | 554 | } |
539 | 555 | ||
@@ -555,7 +571,7 @@ jQuery(function($) { | @@ -555,7 +571,7 @@ jQuery(function($) { | ||
555 | var $tabs = $('#chat-window #tabs').tabs({ | 571 | var $tabs = $('#chat-window #tabs').tabs({ |
556 | tabTemplate: '<li class="tab"><a href="#{href}"><span class="unread-messages" style="display:none"></span>#{label}</a></li>', | 572 | tabTemplate: '<li class="tab"><a href="#{href}"><span class="unread-messages" style="display:none"></span>#{label}</a></li>', |
557 | panelTemplate: "<div class='conversation'><div class='history'></div><div class='input-div'><div class='icon-chat'></div><textarea class='input'></textarea></div></div>", | 573 | panelTemplate: "<div class='conversation'><div class='history'></div><div class='input-div'><div class='icon-chat'></div><textarea class='input'></textarea></div></div>", |
558 | - add: function(event, ui) { | 574 | + add: function(event, ui) { //FIXME DEPRECATED |
559 | var jid_id = ui.panel.id.replace(Jabber.tab_prefix, ''); | 575 | var jid_id = ui.panel.id.replace(Jabber.tab_prefix, ''); |
560 | 576 | ||
561 | var notice = $starting_chat_notice.replace('%{name}', $(ui.tab).html()); | 577 | var notice = $starting_chat_notice.replace('%{name}', $(ui.tab).html()); |
@@ -575,7 +591,7 @@ jQuery(function($) { | @@ -575,7 +591,7 @@ jQuery(function($) { | ||
575 | var jid_id = ui.panel.id.replace(Jabber.tab_prefix, ''); | 591 | var jid_id = ui.panel.id.replace(Jabber.tab_prefix, ''); |
576 | count_unread_messages(jid_id, true); | 592 | count_unread_messages(jid_id, true); |
577 | }, | 593 | }, |
578 | - remove: function(event, ui) { | 594 | + remove: function(event, ui) { //FIXME DEPRECATED |
579 | var jid_id = ui.panel.id.replace(Jabber.tab_prefix, ''); | 595 | var jid_id = ui.panel.id.replace(Jabber.tab_prefix, ''); |
580 | if (Jabber.is_a_room(jid_id)) { | 596 | if (Jabber.is_a_room(jid_id)) { |
581 | // exiting from a chat room | 597 | // exiting from a chat room |