]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/panel/ConfigPanel.js
1 Ext
.define('PVE.panel.Config', {
2 extend
: 'Ext.panel.Panel',
3 alias
: 'widget.pvePanelConfig',
5 initComponent: function() {
8 var stateid
= me
.hstateid
;
10 var sp
= Ext
.state
.Manager
.getProvider();
14 var hsregex
= /^([^\-\s]+)(-\S+)?$/;
17 var state
= sp
.get(stateid
);
18 if (state
&& state
.value
) {
19 var res
= hsregex
.exec(state
.value
);
26 var items
= me
.items
|| [];
29 var tbar
= me
.tbar
|| [];
32 var title
= me
.title
|| me
.pveSelNode
.data
.text
;
39 baseCls
: 'x-panel-header-text',
43 Ext
.applyIf(me
, { showSearch
: true });
48 xtype
: 'pveResourceGrid'
52 var toolbar
= Ext
.create('Ext.toolbar.Toolbar', {
58 var tab
= Ext
.create('Ext.tab.Panel', {
62 defaults
: Ext
.apply(me
.defaults
|| {}, {
63 pveSelNode
: me
.pveSelNode
,
64 viewFilter
: me
.viewFilter
,
65 workspace
: me
.workspace
,
70 afterrender: function(tp
) {
71 var first
= tp
.items
.get(0);
73 first
.fireEvent('show', first
);
76 tabchange: function(tp
, newcard
, oldcard
) {
77 var ntab
= newcard
.itemId
;
79 // Note: '' is alias for first tab.
80 // First tab can be 'search' or something else
81 if (newcard
.itemId
=== items
[0].itemId
) {
85 if (newcard
.phstateid
) {
86 sp
.set(newcard
.phstateid
, newcard
.getHState());
88 sp
.set(stateid
, { value
: ntab
});
96 layout
: { type
: 'vbox', align
: 'stretch' },
97 items
: [ toolbar
, tab
]
102 var statechange = function(sp
, key
, state
) {
103 if (stateid
&& (key
=== stateid
) && state
) {
104 var atab
= tab
.getActiveTab().itemId
;
105 var res
= hsregex
.exec(state
.value
);
106 var ntab
= (res
&& res
[1]) ? res
[1] : items
[0].itemId
;
107 if (ntab
&& (atab
!= ntab
)) {
108 tab
.setActiveTab(ntab
);
114 me
.mon(sp
, 'statechange', statechange
);