Commit | Line | Data |
---|---|---|
50ac472f D |
1 | _kiwi.view.UserBox = Backbone.View.extend({ |
2 | events: { | |
3 | 'click .query': 'queryClick', | |
4 | 'click .info': 'infoClick', | |
5 | 'click .slap': 'slapClick', | |
6 | 'click .op': 'opClick', | |
7 | 'click .deop': 'deopClick', | |
8 | 'click .voice': 'voiceClick', | |
9 | 'click .devoice': 'devoiceClick', | |
10 | 'click .kick': 'kickClick', | |
11 | 'click .ban': 'banClick' | |
12 | }, | |
13 | ||
14 | initialize: function () { | |
0d29c21f | 15 | var text = { |
247dd7ac N |
16 | op: _kiwi.global.i18n.translate('client_views_userbox_op').fetch(), |
17 | de_op: _kiwi.global.i18n.translate('client_views_userbox_deop').fetch(), | |
18 | voice: _kiwi.global.i18n.translate('client_views_userbox_voice').fetch(), | |
19 | de_voice: _kiwi.global.i18n.translate('client_views_userbox_devoice').fetch(), | |
20 | kick: _kiwi.global.i18n.translate('client_views_userbox_kick').fetch(), | |
21 | ban: _kiwi.global.i18n.translate('client_views_userbox_ban').fetch(), | |
22 | message: _kiwi.global.i18n.translate('client_views_userbox_query').fetch(), | |
23 | info: _kiwi.global.i18n.translate('client_views_userbox_whois').fetch(), | |
24 | slap: _kiwi.global.i18n.translate('client_views_userbox_slap').fetch() | |
0d29c21f JA |
25 | }; |
26 | this.$el = $(_.template($('#tmpl_userbox').html().trim(), text)); | |
50ac472f D |
27 | }, |
28 | ||
d62fa271 D |
29 | setTargets: function (user, channel) { |
30 | this.user = user; | |
31 | this.channel = channel; | |
32 | }, | |
33 | ||
34 | displayOpItems: function(display_items) { | |
35 | if (display_items) { | |
36 | this.$el.find('.if_op').css('display', 'block'); | |
37 | } else { | |
38 | this.$el.find('.if_op').css('display', 'none'); | |
39 | } | |
40 | }, | |
41 | ||
50ac472f | 42 | queryClick: function (event) { |
d62fa271 | 43 | var panel = new _kiwi.model.Query({name: this.user.get('nick')}); |
50ac472f D |
44 | _kiwi.app.connections.active_connection.panels.add(panel); |
45 | panel.view.show(); | |
46 | }, | |
47 | ||
48 | infoClick: function (event) { | |
d62fa271 | 49 | _kiwi.app.controlbox.processInput('/whois ' + this.user.get('nick')); |
50ac472f D |
50 | }, |
51 | ||
52 | slapClick: function (event) { | |
d62fa271 | 53 | _kiwi.app.controlbox.processInput('/slap ' + this.user.get('nick')); |
50ac472f D |
54 | }, |
55 | ||
56 | opClick: function (event) { | |
d62fa271 | 57 | _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' +o ' + this.user.get('nick')); |
50ac472f D |
58 | }, |
59 | ||
60 | deopClick: function (event) { | |
d62fa271 | 61 | _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' -o ' + this.user.get('nick')); |
50ac472f D |
62 | }, |
63 | ||
64 | voiceClick: function (event) { | |
d62fa271 | 65 | _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' +v ' + this.user.get('nick')); |
50ac472f D |
66 | }, |
67 | ||
68 | devoiceClick: function (event) { | |
d62fa271 | 69 | _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' -v ' + this.user.get('nick')); |
50ac472f D |
70 | }, |
71 | ||
72 | kickClick: function (event) { | |
73 | // TODO: Enable the use of a custom kick message | |
d62fa271 | 74 | _kiwi.app.controlbox.processInput('/kick ' + this.user.get('nick') + ' Bye!'); |
50ac472f D |
75 | }, |
76 | ||
77 | banClick: function (event) { | |
78 | // TODO: Set ban on host, not just on nick | |
d62fa271 | 79 | _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' +b ' + this.user.get('nick') + '!*'); |
50ac472f D |
80 | } |
81 | }); |