]>
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 initComponent : function() {
8 var caps
= Ext
.state
.Manager
.get('GuiCap');
10 var store
= new Ext
.data
.Store({
11 model
: 'pve-ha-resources',
14 url
: "/api2/json/cluster/ha/resources"
22 var reload = function() {
26 var render_error = function(dataIndex
, value
, metaData
, record
) {
27 var errors
= record
.data
.errors
;
29 var msg
= errors
[dataIndex
];
31 metaData
.tdCls
= 'x-form-invalid-field';
32 var html
= '<p>' + Ext
.htmlEncode(msg
) + '</p>';
33 metaData
.tdAttr
= 'data-qwidth=600 data-qtitle="ERROR" data-qtip="' +
34 html
.replace(/\"/g,'"') + '"';
40 var sm
= Ext
.create('Ext.selection.RowModel', {});
42 var run_editor = function() {
43 var rec
= sm
.getSelection()[0];
44 var sid
= rec
.data
.sid
;
46 var regex
= /^(\S+):(\S+)$/;
47 var res
= regex
.exec(sid
);
49 if (res
[1] !== 'vm' && res
[1] !== 'ct') { return; };
53 var win
= Ext
.create('PVE.ha.VMResourceEdit',{
56 win
.on('destroy', reload
);
60 var remove_btn
= new PVE
.button
.Button({
61 text
: gettext('Remove'),
64 handler: function(btn
, event
, rec
) {
65 var sid
= rec
.data
.sid
;
67 PVE
.Utils
.API2Request({
68 url
: '/cluster/ha/resources/' + sid
,
71 callback: function() {
74 failure: function (response
, opts
) {
75 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
81 var edit_btn
= new PVE
.button
.Button({
82 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'),
119 renderer: function(v
) {
120 return v
? v
: 'enabled';
125 header
: gettext('Group'),
128 renderer: function(value
, metaData
, record
) {
129 return render_error('group', value
, metaData
, record
);
134 header
: gettext('Description'),
136 renderer
: Ext
.String
.htmlEncode
,
142 beforeselect: function(grid
, record
, index
, eOpts
) {
143 if (!caps
.nodes
['Sys.Console']) {
147 itemdblclick
: run_editor
155 Ext
.define('pve-ha-resources', {
156 extend
: 'Ext.data.Model',
158 'sid', 'state', 'digest', 'errors', 'group', 'comment'