]>
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',
7 initComponent : function() {
10 var caps
= Ext
.state
.Manager
.get('GuiCap');
12 var store
= new Ext
.data
.Store({
13 model
: 'pve-ha-resources',
16 url
: "/api2/json/cluster/ha/resources"
24 var reload = function() {
28 var render_error = function(dataIndex
, value
, metaData
, record
) {
29 var errors
= record
.data
.errors
;
31 var msg
= errors
[dataIndex
];
33 metaData
.tdCls
= 'x-form-invalid-field';
34 var html
= '<p>' + Ext
.htmlEncode(msg
) + '</p>';
35 metaData
.tdAttr
= 'data-qwidth=600 data-qtitle="ERROR" data-qtip="' +
36 html
.replace(/\"/g,'"') + '"';
42 var sm
= Ext
.create('Ext.selection.RowModel', {});
44 var run_editor = function() {
45 var rec
= sm
.getSelection()[0];
46 var sid
= rec
.data
.sid
;
48 var regex
= /^(\S+):(\S+)$/;
49 var res
= regex
.exec(sid
);
51 if (res
[1] !== 'vm' && res
[1] !== 'ct') {
57 var win
= Ext
.create('PVE.ha.VMResourceEdit',{
60 win
.on('destroy', reload
);
64 var remove_btn
= new PVE
.button
.Button({
65 text
: gettext('Remove'),
68 handler: function(btn
, event
, rec
) {
69 var sid
= rec
.data
.sid
;
71 PVE
.Utils
.API2Request({
72 url
: '/cluster/ha/resources/' + sid
,
75 callback: function() {
78 failure: function (response
, opts
) {
79 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
85 var edit_btn
= new PVE
.button
.Button({
86 text
: gettext('Edit'),
101 text
: gettext('Add'),
102 disabled
: !caps
.nodes
['Sys.Console'],
103 handler: function() {
104 var win
= Ext
.create('PVE.ha.VMResourceEdit',{});
105 win
.on('destroy', reload
);
120 header
: gettext('State'),
123 renderer: function(v
) {
124 return v
|| 'enabled';
129 header
: gettext('Max. Restart'),
132 renderer: function(v
) {
135 dataIndex
: 'max_restart'
138 header
: gettext('Max. Relocate'),
141 renderer: function(v
) {
144 dataIndex
: 'max_relocate'
147 header
: gettext('Group'),
150 renderer: function(value
, metaData
, record
) {
151 return render_error('group', value
, metaData
, record
);
156 header
: gettext('Description'),
158 renderer
: Ext
.String
.htmlEncode
,
164 beforeselect: function(grid
, record
, index
, eOpts
) {
165 if (!caps
.nodes
['Sys.Console']) {
169 itemdblclick
: run_editor
177 Ext
.define('pve-ha-resources', {
178 extend
: 'Ext.data.Model',
180 'sid', 'state', 'digest', 'errors', 'group', 'comment',
181 'max_restart', 'max_relocate'