]> git.proxmox.com Git - pmg-gui.git/blob - js/NavigationTree.js
add navigation tree
[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: 'pmgCluster',
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('Statistics'),
99 iconCls: 'fa fa-bar-chart',
100 path: 'pmgStatistics',
101 leaf: true,
102 },
103 {
104 text: gettext('Quarantine'),
105 iconCls: 'fa fa-cubes',
106 path: 'pmgQuarantine',
107 leaf: true,
108 },
109 {
110 text: gettext('Tracking Center'),
111 iconCls: 'fa fa-map-o',
112 path: 'pmgTrackingCenter',
113 leaf: true,
114 },
115 {
116 text: gettext('Queues'),
117 iconCls: 'fa fa-bars',
118 path: 'pmgQueueAdministration',
119 leaf: true,
120 }
121 ]
122 }
123 ]
124 }
125 });
126
127 Ext.define('PMG.view.main.NavigationTree', {
128 extend: 'Ext.list.Tree',
129 xtype: 'navigationtree',
130
131 select: function(path) {
132 var me = this;
133 var item = me.getStore().findRecord('path', path, 0, false, true, true);
134 me.setSelection(item);
135 },
136
137 animation: false,
138 expanderOnly: true,
139 expanderFirst: false,
140 store: 'NavigationStore',
141 ui: 'nav'
142 });