--- a/jpoker/css/jpoker.css Wed Aug 20 11:22:25 2008 +0000
+++ b/jpoker/css/jpoker.css Wed Aug 20 14:30:22 2008 +0000
@@ -8,4 +8,5 @@
@import "jpoker_server_status.css";
@import "jpoker_copyright.css";
@import "jpoker_user_info.css";
+@import "jpoker_chat.css";
@import "jpoker_jquery_ui/all.css";
--- a/jpoker/js/jquery.jpoker.js Wed Aug 20 11:22:25 2008 +0000
+++ b/jpoker/js/jquery.jpoker.js Wed Aug 20 14:30:22 2008 +0000
@@ -2497,6 +2497,7 @@
}
});
$('#chat' + id).html('<input value=\'chat here\' type=\'text\' width=\'100%\' />').hide();
+ $('#chat_history' + id).html('<div class=\'jpoker_chat_history_dealer\'></div><div class=\'jpoker_chat_history_player\'></div>');
jpoker.plugins.playerSelf.hide(id);
for(var serial in table.serial2player) {
jpoker.plugins.player.create(table, table.serial2player[serial], id);
@@ -2641,13 +2642,20 @@
break;
case 'PacketPokerChat':
+ var lines = packet.message.replace(/\n$/, '').split('\n');
+ var chat_history = $('#chat_history' + id);
+ var chat;
var prefix = '';
- if(packet.serial in table.serial2player) {
- prefix = table.serial2player[packet.serial].name + ' :';
- }
- var lines = packet.message.replace(/\n$/, '').split('\n');
- var chat = $('#chat_history' + id);
- for(var line = 0; line < lines.length; line++) {
+ if (packet.serial === 0) {
+ chat = $('.jpoker_chat_history_dealer', chat_history);
+ }
+ else {
+ chat = $('.jpoker_chat_history_player', chat_history);
+ if(packet.serial in table.serial2player) {
+ prefix = table.serial2player[packet.serial].name + ' :';
+ }
+ }
+ for(var line = 0; line < lines.length; line++) {
chat.prepend('<div class=\'jpoker_chat_line\'><span class=\'jpoker_chat_prefix\'>' + prefix + '</span><span class=\'jpoker_chat_message\'>' + lines[line] + '</span></div>');
}
break;
--- a/jpoker/js/test-jpoker.js Wed Aug 20 11:22:25 2008 +0000
+++ b/jpoker/js/test-jpoker.js Wed Aug 20 14:30:22 2008 +0000
@@ -3081,7 +3081,7 @@
});
test("jpoker.plugins.table: PacketPokerChat", function(){
- expect(4);
+ expect(10);
var server = jpoker.serverCreate({ url: 'url' });
var place = $("#main");
@@ -3097,13 +3097,26 @@
var player_seat = 2;
var player_name = 'username';
table.handler(server, game_id, { type: 'PacketPokerPlayerArrive', seat: player_seat, serial: player_serial, game_id: game_id, name: player_name });
- equals($("#chat_history" + id).size(), 1, "chat history DOM element");
+ var chat_history = $("#chat_history" + id);
+ equals(chat_history.size(), 1, "chat history DOM element");
+ equals($(".jpoker_chat_history_dealer", chat_history).size(), 1, "chat history DOM element");
+ equals($(".jpoker_chat_history_player", chat_history).size(), 1, "chat history DOM element");
var message = 'voila\ntout';
+
table.handler(server, game_id, { type: 'PacketPokerChat', message: message, game_id: game_id, serial: player_serial });
- var content = $("#chat_history" + id).text();
+ var content = $(".jpoker_chat_history_player", chat_history).text();
equals(content.indexOf(message) >= 0, false, "message is split");
equals(content.indexOf('tout') >= 0, true, "message part is displayed");
equals(content.indexOf(player_name) >= 0, true, "player_name displayed");
+ equals($(".jpoker_chat_history_dealer").text(), "", "no dealer message");
+
+ $(".jpoker_chat_history_player").text("");
+ table.handler(server, game_id, { type: 'PacketPokerChat', message: message, game_id: game_id, serial: 0 });
+ var content = $(".jpoker_chat_history_dealer", chat_history).text();
+ equals(content.indexOf(message) >= 0, false, "message is split");
+ equals(content.indexOf('tout') >= 0, true, "message part is displayed");
+ equals($(".jpoker_chat_history_player").text(), "", "no player message");
+
cleanup();
});
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jpoker/css/jpoker_chat.css Wed Aug 20 14:30:22 2008 +0000
@@ -0,0 +1,13 @@
+.jpoker_chat_history_dealer {
+ overflow: auto;
+ height: 4.5em;
+}
+
+.jpoker_chat_history_player {
+ overflow: auto;
+ height: 4.5em;
+}
+
+.jpoker_chat_message {
+ line-height: 1.5em;
+}