Commit | Line | Data |
---|---|---|
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 | |
27aafe0c D |
9 | \r |
10 | _kiwi.global.events.emit('panel:created', {panel: this});\r | |
9df70c63 D |
11 | },\r |
12 | \r | |
c891916b | 13 | close: function () {\r |
68c7f7c0 | 14 | _kiwi.app.panels.trigger('close', this);\r |
27aafe0c D |
15 | _kiwi.global.events.emit('panel:close', {panel: this});\r |
16 | \r | |
ea033d12 | 17 | if (this.view) {\r |
51ae0eb8 | 18 | this.view.unbind();\r |
ea033d12 | 19 | this.view.remove();\r |
51ae0eb8 | 20 | this.view = undefined;\r |
ea033d12 D |
21 | delete this.view;\r |
22 | }\r | |
9df70c63 D |
23 | \r |
24 | var members = this.get('members');\r | |
25 | if (members) {\r | |
26 | members.reset([]);\r | |
27 | this.unset('members');\r | |
28 | }\r | |
29 | \r | |
6d5faa6e | 30 | this.get('panel_list').remove(this);\r |
f5f8cee8 | 31 | \r |
ea033d12 | 32 | this.unbind();\r |
9df70c63 | 33 | this.destroy();\r |
9df70c63 D |
34 | },\r |
35 | \r | |
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 | }); |