]> git.proxmox.com Git - pmg-gui.git/blob - js/NavigationTree.js
4298dabe566511577017e8f2a4c4465d5d05eb81
[pmg-gui.git] / js / NavigationTree.js
1 Ext.define('PMG.store.NavigationStore', {
2 extend: 'Ext.data.TreeStore',
3
4 storeId: 'NavigationStore',
5
6 root: {
7 expanded: true,
8 children: [
9 {
10 text: gettext('Dashboard'),
11 iconCls: 'fa fa-tachometer',
12 path: 'pmgDashboard',
13 leaf: true
14 },
15 {
16 text: gettext('Mail Filter'),
17 iconCls: 'fa fa-envelope',
18 path: 'pmgRuleConfiguration',
19 expanded: true,
20 children: [
21 {
22 text: gettext('Action Objects'),
23 iconCls: 'fa fa-flag',
24 path: 'pmgActionList',
25 leaf: true,
26 },
27 {
28 text: gettext('Who Objects'),
29 iconCls: 'fa fa-user-circle',
30 path: 'pmgWhoConfiguration',
31 leaf: true,
32 },
33 {
34 text: gettext('What Objects'),
35 iconCls: 'fa fa-cube',
36 path: 'pmgWhatConfiguration',
37 leaf: true,
38 },
39 {
40 text: gettext('When Objects'),
41 iconCls: 'fa fa-clock-o',
42 path: 'pmgWhenConfiguration',
43 leaf: true,
44 }
45 ]
46 },
47 {
48 text: gettext('Configuration'),
49 iconCls: 'fa fa-gears',
50 path: 'pmgSystemConfiguration',
51 expanded: true,
52 children: [
53 {
54 text: gettext('Mail Proxy'),
55 iconCls: 'fa fa-envelope-o',
56 path: 'pmgMailProxyConfiguration',
57 leaf: true,
58 },
59 {
60 text: gettext('Spam Detector'),
61 iconCls: 'fa fa-bullhorn',
62 path: 'pmgSpamDetectorConfiguration',
63 leaf: true,
64 },
65 {
66 text: gettext('Virus Detector'),
67 iconCls: 'fa fa-bug',
68 path: 'pmgVirusDetectorConfiguration',
69 leaf: true,
70 },
71 {
72 text: gettext('User Management'),
73 iconCls: 'fa fa-users',
74 path: 'pmgUserManagement',
75 leaf: true,
76 },
77 {
78 text: gettext('Cluster'),
79 iconCls: 'fa fa-server',
80 path: 'pmgClusterAdministration',
81 leaf: true,
82 },
83 {
84 text: gettext('License'),
85 iconCls: 'fa fa-ticket',
86 path: 'pmgLicense',
87 leaf: true,
88 }
89 ]
90 },
91 {
92 text: gettext('Administration'),
93 iconCls: 'fa fa-wrench',
94 path: 'pmgServerAdministration',
95 expanded: true,
96 children: [
97 {
98 text: gettext('Quarantine'),
99 iconCls: 'fa fa-cubes',
100 path: 'pmgSpamQuarantine',
101 leaf: true,
102 },
103 {
104 text: gettext('User Whitelist'),
105 iconCls: 'fa fa-file-o',
106 path: 'pmgUserWhitelist',
107 leaf: true,
108 },
109 {
110 text: gettext('User Blacklist'),
111 iconCls: 'fa fa-file',
112 path: 'pmgUserBlacklist',
113 leaf: true,
114 },
115 {
116 text: gettext('Tracking Center'),
117 iconCls: 'fa fa-map-o',
118 path: 'pmgTrackingCenter',
119 leaf: true,
120 },
121 {
122 text: gettext('Queues'),
123 iconCls: 'fa fa-bars',
124 path: 'pmgQueueAdministration',
125 leaf: true,
126 }
127 ]
128 },
129 {
130 text: gettext('Statistics'),
131 iconCls: 'fa fa-bar-chart',
132 path: 'pmgGeneralMailStatistics',
133 expanded: true,
134 children: [
135 {
136 text: gettext('Spam Scores'),
137 iconCls: 'fa fa-table',
138 path: 'pmgSpamScoreDistribution',
139 leaf: true
140 },
141 {
142 text: gettext('Virus Charts'),
143 iconCls: 'fa fa-bug',
144 path: 'pmgVirusCharts',
145 leaf: true
146 },
147 {
148 text: gettext('Hourly Distribution'),
149 iconCls: 'fa fa-area-chart',
150 path: 'pmgHourlyMailDistribution',
151 leaf: true
152 },
153 {
154 text: gettext('RBL'),
155 iconCls: 'fa fa-line-chart',
156 path: 'pmgRBLStatistics',
157 leaf: true
158 },
159 {
160 text: gettext('Domain'),
161 iconCls: 'fa fa-table',
162 path: 'pmgDomainStatistics',
163 leaf: true
164 },
165 {
166 text: gettext('Sender'),
167 iconCls: 'fa fa-table',
168 path: 'pmgSenderStatistics',
169 leaf: true
170 },
171 {
172 text: gettext('Receiver'),
173 iconCls: 'fa fa-table',
174 path: 'pmgReceiverStatistics',
175 leaf: true
176 },
177 {
178 text: gettext('Contact'),
179 iconCls: 'fa fa-table',
180 path: 'pmgContactStatistics',
181 leaf: true
182 }
183 ]
184 }
185 ]
186 }
187 });
188
189 Ext.define('PMG.view.main.NavigationTree', {
190 extend: 'Ext.list.Tree',
191 xtype: 'navigationtree',
192
193 select: function(path) {
194 var me = this;
195 var item = me.getStore().findRecord('path', path, 0, false, true, true);
196 me.setSelection(item);
197 },
198
199 animation: false,
200 expanderOnly: true,
201 expanderFirst: false,
202 store: 'NavigationStore',
203 ui: 'nav'
204 });