Remove slap; Add ignore into user menu
authorDarren <darren@darrenwhitlen.com>
Fri, 28 Mar 2014 15:04:56 +0000 (15:04 +0000)
committerDarren <darren@darrenwhitlen.com>
Fri, 28 Mar 2014 15:04:56 +0000 (15:04 +0000)
client/src/views/userbox.js

index f41b115fb14fdf620e1f50b1083b773b5a33c8cb..8d21445a97ca9c8be394d98d5e273538293c76f5 100644 (file)
@@ -2,7 +2,8 @@ _kiwi.view.UserBox = Backbone.View.extend({
     events: {
         'click .query': 'queryClick',
         'click .info': 'infoClick',
-        'click .slap': 'slapClick',
+        'change .ignore': 'ignoreChange',
+        'click .ignore': 'ignoreClick',
         'click .op': 'opClick',
         'click .deop': 'deopClick',
         'click .voice': 'voiceClick',
@@ -21,7 +22,7 @@ _kiwi.view.UserBox = Backbone.View.extend({
             ban: _kiwi.global.i18n.translate('client_views_userbox_ban').fetch(),
             message: _kiwi.global.i18n.translate('client_views_userbox_query').fetch(),
             info: _kiwi.global.i18n.translate('client_views_userbox_whois').fetch(),
-            slap: _kiwi.global.i18n.translate('client_views_userbox_slap').fetch()
+            ignore: _kiwi.global.i18n.translate('client_views_userbox_ignore').fetch()
         };
         this.$el = $(_.template($('#tmpl_userbox').html().trim(), text));
     },
@@ -29,6 +30,9 @@ _kiwi.view.UserBox = Backbone.View.extend({
     setTargets: function (user, channel) {
         this.user = user;
         this.channel = channel;
+
+        var is_ignored = _kiwi.app.connections.active_connection.isNickIgnored(this.user.get('nick'));
+        this.$('.ignore input').attr('checked', is_ignored ? 'checked' : false);
     },
 
     displayOpItems: function(display_items) {
@@ -49,8 +53,17 @@ _kiwi.view.UserBox = Backbone.View.extend({
         _kiwi.app.controlbox.processInput('/whois ' + this.user.get('nick'));
     },
 
-    slapClick: function (event) {
-        _kiwi.app.controlbox.processInput('/slap ' + this.user.get('nick'));
+    ignoreClick: function (event) {
+        // Stop the menubox from closing since it will not update the checkbox otherwise
+        event.stopPropagation();
+    },
+
+    ignoreChange: function (event) {
+        if ($(event.currentTarget).find('input').is(':checked')) {
+            _kiwi.app.controlbox.processInput('/ignore ' + this.user.get('nick'));
+        } else {
+            _kiwi.app.controlbox.processInput('/unignore ' + this.user.get('nick'));
+        }
     },
 
     opClick: function (event) {