Merge branch 'development' of https://github.com/crtaylor123/KiwiIRC into crtaylor123...
[KiwiIRC.git] / client / src / models / panel.js
CommitLineData
eaaf73b0 1_kiwi.model.Panel = Backbone.Model.extend({\r
9df70c63
D
2 initialize: function (attributes) {\r
3 var name = this.get("name") || "";\r
eaaf73b0 4 this.view = new _kiwi.view.Panel({"model": this, "name": name});\r
9df70c63
D
5 this.set({\r
6 "scrollback": [],\r
7 "name": name\r
8 }, {"silent": true});\r
9 },\r
10\r
ea033d12
D
11 closePanel: function () {\r
12 if (this.view) {\r
51ae0eb8 13 this.view.unbind();\r
ea033d12 14 this.view.remove();\r
51ae0eb8 15 this.view = undefined;\r
ea033d12
D
16 delete this.view;\r
17 }\r
9df70c63
D
18\r
19 var members = this.get('members');\r
20 if (members) {\r
21 members.reset([]);\r
22 this.unset('members');\r
23 }\r
24\r
6d5faa6e 25 this.get('panel_list').remove(this);\r
f5f8cee8 26\r
ea033d12 27 this.unbind();\r
9df70c63 28 this.destroy();\r
9df70c63
D
29 },\r
30\r
ea033d12
D
31 // Alias to closePanel() for child objects to override\r
32 close: function () {\r
33 return this.closePanel();\r
34 },\r
35\r
9df70c63 36 isChannel: function () {\r
425efe7a 37 return false;\r
df7b7bf8
D
38 },\r
39\r
4d4145aa 40 isQuery: function () {\r
4d4145aa
D
41 return false;\r
42 },\r
43\r
19cc6364 44 isApplet: function () {\r
425efe7a 45 return false;\r
72371b1a
D
46 },\r
47\r
48 isServer: function () {\r
425efe7a 49 return false;\r
145389ff
D
50 },\r
51\r
52 isActive: function () {\r
6d5faa6e 53 return (_kiwi.app.panels().active === this);\r
9df70c63
D
54 }\r
55});