]> git.proxmox.com Git - pve-manager.git/blame - www/manager/panel/SubConfigPanel.js
disable animation of charts on load
[pve-manager.git] / www / manager / panel / SubConfigPanel.js
CommitLineData
434f2466
DM
1Ext.define('PVE.panel.SubConfig', {
2 extend: 'Ext.tab.Panel',
3 alias: ['widget.pvePanelSubConfig'],
4
5 configPrefix: undefined,
6
7 getHState: function(itemId) {
8 /*jslint confusion: true */
9 var me = this;
10
11 if (!itemId) {
12 itemId = me.getActiveTab().itemId;
13 }
14
15 var first = me.items.get(0);
16 var ntab;
17
18 // Note: '' is alias for first tab.
19 if (itemId === first.itemId) {
20 ntab = me.configPrefix;
21 } else {
22 ntab = me.configPrefix + '-' + itemId;
23 }
24
25 return { value: ntab };
26 },
27
28 initComponent: function() {
29 var me = this;
30
31 if (!me.phstateid) {
32 throw "no parent history state specified";
33 }
34
35 var sp = Ext.state.Manager.getProvider();
36 var state = sp.get(me.phstateid);
37
38 var hsregex = /^([^\-\s]+)-(\S+)?$/;
39
40 if (state && state.value) {
41 var res = hsregex.exec(state.value);
42 if (res && res[1] && res[2] && res[1] === me.configPrefix) {
43 me.activeTab = res[2];
44 }
45 }
46
47 Ext.apply(me, {
48 plain: true,
49 tabPosition: 'bottom',
50 listeners: {
51 afterrender: function(tp) {
52 var first = tp.items.get(0);
53 if (first) {
54 first.fireEvent('show', first);
55 }
56 },
57 tabchange: function(tp, newcard, oldcard) {
58 var state = me.getHState(newcard.itemId);
59 sp.set(me.phstateid, state);
60 }
61 }
62 });
63
64 me.callParent();
65
66 var statechange = function(sp, key, state) {
67 if ((key === me.phstateid) && state) {
68 var first = me.items.get(0);
69 var atab = me.getActiveTab().itemId;
70 var res = hsregex.exec(state.value);
71 var ntab = (res && res[1]) ? res[1] : first.itemId;
72 if (ntab && (atab != ntab)) {
73 me.setActiveTab(ntab);
74 }
75 }
76 };
77
78 me.mon(sp, 'statechange', statechange);
79 }
80});