Displaying kick actions
authorDarren <darren@darrenwhitlen.com>
Sun, 2 Sep 2012 18:51:53 +0000 (19:51 +0100)
committerDarren <darren@darrenwhitlen.com>
Sun, 2 Sep 2012 18:51:53 +0000 (19:51 +0100)
client_backbone/dev/model_application.js
client_backbone/dev/model_channel.js
client_backbone/style.css

index 71ad8283119d8983a6a5b24237e78fb1c42b15bf..7eadae3e2c778227ada9cb419bd39ad62ef31e9f 100644 (file)
@@ -143,6 +143,32 @@ kiwi.model.Application = Backbone.Model.extend(new (function () {
         });\r
 \r
 \r
+        gw.on('onkick', function (event) {\r
+            var channel, members, user,\r
+                part_options = {};\r
+\r
+            part_options.type = 'kick';\r
+            part_options.by = event.nick;\r
+            part_options.message = event.message || '';\r
+\r
+            channel = that.panels.getByName(event.channel);\r
+            if (!channel) return;\r
+\r
+            members = channel.get('members');\r
+            if (!members) return;\r
+\r
+            user = members.getByNick(event.kicked);\r
+            if (!user) return;\r
+\r
+            members.remove(user, part_options);\r
+\r
+            if (event.kicked === kiwi.gateway.get('nick')) {\r
+                members.reset([]);\r
+            }\r
+            \r
+        });\r
+\r
+\r
         gw.on('onmsg', function (event) {\r
             var panel,\r
                 is_pm = (event.channel == kiwi.gateway.get('nick'));\r
index 3104508b74385e6b1f18d24d2af05a1de6a52368..310e13c6d599c6e4bdb84e75c68af7eeb72a9584 100644 (file)
@@ -23,6 +23,8 @@ kiwi.model.Channel = kiwi.model.Panel.extend({
 \r
             if (options.type === 'quit') {\r
                 this.addMsg(' ', '<-- ' + member.displayNick(true) + ' has quit ' + msg, 'action quit');\r
+            } else if(options.type === 'kick') {\r
+                this.addMsg(' ', '<-- ' + member.displayNick(true) + ' was kicked by ' + options.by + ' ' + msg, 'action kick');\r
             } else {\r
                 this.addMsg(' ', '<-- ' + member.displayNick(true) + ' has left ' + msg, 'action part');\r
             }\r
index 1125b0bf7d70d50306e314b06554323348318fa0..76acb7418f60f348cfaa246f45380343142a4634 100644 (file)
@@ -93,10 +93,11 @@ body {
 .messages .msg .text { margin-left:15em; white-space:pre-wrap; word-wrap:break-word; font-family:monospace;  }
 
 .messages .msg.action .nick { display:none; }
-.messages .msg.action .text { margin-left:9em; }
+.messages .msg.action .text { margin-left:9em; color:#009900; font-style:italic; }
 .messages .msg.action.join { color:#009900; }
 .messages .msg.action.part .text { color:#900; }
 .messages .msg.action.quit .text { color:#900; }
+.messages .msg.action.kick .text { color:#900; }
 .messages .msg.status .nick { display:none; }
 .messages .msg.status .text { color:#990000; margin-left:9em; font-weight:bold; }
 .messages .msg.topic .nick { display:none; }