]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/ceph/Config.js
1 Ext
.define('PVE.node.CephConfig', {
2 extend
: 'Ext.panel.Panel',
3 alias
: ['widget.pveNodeCephConfig'],
8 PVE
.Utils
.API2Request({
11 failure: function(response
, opts
) {
12 me
.update(gettext('Error') + " " + response
.htmlStatus
);
14 success: function(response
, opts
) {
15 var data
= response
.result
.data
;
16 me
.update(Ext
.htmlEncode(data
));
21 initComponent: function() {
24 var nodename
= me
.pveSelNode
.data
.node
;
26 throw "no node name specified";
30 url
: '/nodes/' + nodename
+ '/ceph/config',
31 bodyStyle
: 'white-space:pre',
47 Ext
.define('PVE.node.Ceph', {
48 extend
: 'Ext.tab.Panel',
49 alias
: ['widget.pveNodeCeph'],
51 getHState: function(itemId
) {
52 /*jslint confusion: true */
56 itemId
= me
.getActiveTab().itemId
;
59 var first
= me
.items
.get(0);
62 // Note: '' is alias for first tab.
63 if (itemId
=== first
.itemId
) {
66 ntab
= 'ceph-' + itemId
;
69 return { value
: ntab
};
72 initComponent: function() {
75 var nodename
= me
.pveSelNode
.data
.node
;
77 throw "no node name specified";
81 throw "no parent history state specified";
84 var sp
= Ext
.state
.Manager
.getProvider();
85 var state
= sp
.get(me
.phstateid
);
86 var hsregex
= /^ceph-(\S+)$/;
88 if (state
&& state
.value
) {
89 var res
= hsregex
.exec(state
.value
);
91 me
.activeTab
= res
[1];
97 tabPosition
: 'bottom',
100 pveSelNode
: me
.pveSelNode
104 xtype
: 'pveNodeCephStatus',
105 title
: gettext('Status'),
109 xtype
: 'pveNodeCephConfig',
110 title
: gettext('Config'),
114 xtype
: 'pveNodeCephMonList',
115 title
: gettext('Monitor'),
119 xtype
: 'pveNodeCephDiskList',
120 title
: gettext('Disks'),
124 xtype
: 'pveNodeCephOsdTree',
129 xtype
: 'pveNodeCephPoolList',
130 title
: gettext('Pools'),
135 xtype
: 'pveNodeCephCrushMap',
139 title
: gettext('Log'),
142 url
: "/api2/extjs/nodes/" + nodename
+ "/ceph/log"
146 afterrender: function(tp
) {
147 var first
= tp
.items
.get(0);
149 first
.fireEvent('show', first
);
152 tabchange: function(tp
, newcard
, oldcard
) {
153 var state
= me
.getHState(newcard
.itemId
);
154 sp
.set(me
.phstateid
, state
);
161 var statechange = function(sp
, key
, state
) {
162 if ((key
=== me
.phstateid
) && state
) {
163 var first
= me
.items
.get(0);
164 var atab
= me
.getActiveTab().itemId
;
165 var res
= hsregex
.exec(state
.value
);
166 var ntab
= (res
&& res
[1]) ? res
[1] : first
.itemId
;
167 if (ntab
&& (atab
!= ntab
)) {
168 me
.setActiveTab(ntab
);
173 me
.mon(sp
, 'statechange', statechange
);