]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/ha/Resources.js
1 Ext
.define('PVE.ha.ResourcesView', {
2 extend
: 'Ext.grid.GridPanel',
3 alias
: ['widget.pveHAResourcesView'],
5 onlineHelp
: 'ha_manager_resources',
8 stateId
: 'grid-ha-resources',
10 initComponent : function() {
13 var caps
= Ext
.state
.Manager
.get('GuiCap');
16 throw "no store given";
19 PVE
.Utils
.monStoreErrors(me
, me
.rstore
);
21 var store
= Ext
.create('PVE.data.DiffStore', {
29 var reload = function() {
33 var render_error = function(dataIndex
, value
, metaData
, record
) {
34 var errors
= record
.data
.errors
;
36 var msg
= errors
[dataIndex
];
38 metaData
.tdCls
= 'proxmox-invalid-row';
39 var html
= '<p>' + Ext
.htmlEncode(msg
) + '</p>';
40 metaData
.tdAttr
= 'data-qwidth=600 data-qtitle="ERROR" data-qtip="' +
41 html
.replace(/\"/g,'"') + '"';
47 var sm
= Ext
.create('Ext.selection.RowModel', {});
49 var run_editor = function() {
50 var rec
= sm
.getSelection()[0];
51 var sid
= rec
.data
.sid
;
53 var regex
= /^(\S+):(\S+)$/;
54 var res
= regex
.exec(sid
);
56 if (res
[1] !== 'vm' && res
[1] !== 'ct') {
59 var guestType
= res
[1];
62 var win
= Ext
.create('PVE.ha.VMResourceEdit',{
66 win
.on('destroy', reload
);
70 var remove_btn
= Ext
.create('Proxmox.button.StdRemoveButton', {
72 baseurl
: '/cluster/ha/resources/',
73 getUrl: function(rec
) {
75 return me
.baseurl
+ '/' + rec
.get('sid');
77 callback: function() {
82 var edit_btn
= new PVE
.button
.Button({
83 text
: gettext('Edit'),
98 disabled
: !caps
.nodes
['Sys.Console'],
100 var win
= Ext
.create('PVE.ha.VMResourceEdit',{});
101 win
.on('destroy', reload
);
116 header
: gettext('State'),
122 header
: gettext('Node'),
128 header
: gettext('Request State'),
132 renderer: function(v
) {
133 return v
|| 'started';
135 dataIndex
: 'request_state'
138 header
: gettext('CRM State'),
142 dataIndex
: 'crm_state'
145 header
: gettext('Max. Restart'),
148 renderer: function(v
) {
151 dataIndex
: 'max_restart'
154 header
: gettext('Max. Relocate'),
157 renderer: function(v
) {
160 dataIndex
: 'max_relocate'
163 header
: gettext('Group'),
166 renderer: function(value
, metaData
, record
) {
167 return render_error('group', value
, metaData
, record
);
172 header
: gettext('Description'),
174 renderer
: Ext
.String
.htmlEncode
,
179 beforeselect: function(grid
, record
, index
, eOpts
) {
180 if (!caps
.nodes
['Sys.Console']) {
184 itemdblclick
: run_editor
192 Ext
.define('pve-ha-resources', {
193 extend
: 'Ext.data.Model',
195 'sid', 'state', 'digest', 'errors', 'group', 'comment',
196 'max_restart', 'max_relocate', 'type', 'status', 'node',
197 'crm_state', 'request_state'