]> git.proxmox.com Git - extjs.git/blame - extjs/examples/classic/ticket-app/app/view/main/MainController.js
add extjs 6.0.1 sources
[extjs.git] / extjs / examples / classic / ticket-app / app / view / main / MainController.js
CommitLineData
6527f429
DM
1Ext.define('Ticket.view.main.MainController', {\r
2 extend: 'Ext.app.ViewController',\r
3\r
4 alias: 'controller.main',\r
5\r
6 createTab: function (prefix, rec, cfg) {\r
7 var tabs = this.lookupReference('main'),\r
8 id = prefix + '_' + rec.getId(),\r
9 tab = tabs.items.getByKey(id);\r
10\r
11 if (!tab) {\r
12 cfg.itemId = id;\r
13 cfg.closable = true;\r
14 tab = tabs.add(cfg);\r
15 }\r
16\r
17 tabs.setActiveTab(tab);\r
18 },\r
19\r
20 editUser: function (userRecord) {\r
21 var win = new Ticket.view.user.User({\r
22 viewModel: {\r
23 data: {\r
24 theUser: userRecord\r
25 }\r
26 }\r
27 });\r
28\r
29 win.show();\r
30 },\r
31\r
32 onClickUserName: function () {\r
33 var data = this.getViewModel().getData();\r
34 this.editUser(data.currentUser);\r
35 },\r
36\r
37 onEditUser: function (ctrl, rec) {\r
38 this.editUser(rec);\r
39 },\r
40\r
41 onProjectSelect: function () {\r
42 var tabs = this.lookupReference('main');\r
43 tabs.setActiveTab(0);\r
44 },\r
45\r
46 onProjectSearchClick: function (view, rowIdx, colIdx, item, e, rec) {\r
47 this.createTab('project', rec, {\r
48 xtype: 'ticketsearch',\r
49 listeners: {\r
50 viewticket: 'onViewTicket'\r
51 },\r
52 viewModel: {\r
53 data: {\r
54 theProject: rec\r
55 }\r
56 }\r
57 });\r
58 },\r
59 \r
60 onViewTicket: function (view, rec) {\r
61 this.createTab('ticket', rec, {\r
62 xtype: 'ticketdetail',\r
63 session: true,\r
64 viewModel: {\r
65 data: {\r
66 theTicket: rec\r
67 }\r
68 }\r
69 });\r
70 }\r
71});\r