Client: view.js split up into multiple files
[KiwiIRC.git] / client / assets / src / views / userbox.js
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 () {
15 this.$el = $($('#tmpl_userbox').html());
16 },
17
18 queryClick: function (event) {
19 var panel = new _kiwi.model.Query({name: this.member.get('nick')});
20 _kiwi.app.connections.active_connection.panels.add(panel);
21 panel.view.show();
22 },
23
24 infoClick: function (event) {
25 _kiwi.app.controlbox.processInput('/whois ' + this.member.get('nick'));
26 },
27
28 slapClick: function (event) {
29 _kiwi.app.controlbox.processInput('/slap ' + this.member.get('nick'));
30 },
31
32 opClick: function (event) {
33 _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' +o ' + this.member.get('nick'));
34 },
35
36 deopClick: function (event) {
37 _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' -o ' + this.member.get('nick'));
38 },
39
40 voiceClick: function (event) {
41 _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' +v ' + this.member.get('nick'));
42 },
43
44 devoiceClick: function (event) {
45 _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' -v ' + this.member.get('nick'));
46 },
47
48 kickClick: function (event) {
49 // TODO: Enable the use of a custom kick message
50 _kiwi.app.controlbox.processInput('/kick ' + this.member.get('nick') + ' Bye!');
51 },
52
53 banClick: function (event) {
54 // TODO: Set ban on host, not just on nick
55 _kiwi.app.controlbox.processInput('/mode ' + this.channel.get('name') + ' +b ' + this.member.get('nick') + '!*');
56 }
57 });