]>
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') {
55 var win
= Ext
.create('PVE.ha.VMResourceEdit',{
58 win
.on('destroy', reload
);
62 var remove_btn
= new PVE
.button
.Button({
63 text
: gettext('Remove'),
66 handler: function(btn
, event
, rec
) {
67 var sid
= rec
.data
.sid
;
69 PVE
.Utils
.API2Request({
70 url
: '/cluster/ha/resources/' + sid
,
73 callback: function() {
76 failure: function (response
, opts
) {
77 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
83 var edit_btn
= new PVE
.button
.Button({
84 text
: gettext('Edit'),
100 disabled
: !caps
.nodes
['Sys.Console'],
101 handler: function() {
102 var win
= Ext
.create('PVE.ha.VMResourceEdit',{});
103 win
.on('destroy', reload
);
118 header
: gettext('State'),
121 renderer: function(v
) {
122 return v
? v
: 'enabled';
127 header
: gettext('Group'),
130 renderer: function(value
, metaData
, record
) {
131 return render_error('group', value
, metaData
, record
);
136 header
: gettext('Description'),
138 renderer
: Ext
.String
.htmlEncode
,
144 beforeselect: function(grid
, record
, index
, eOpts
) {
145 if (!caps
.nodes
['Sys.Console']) {
149 itemdblclick
: run_editor
157 Ext
.define('pve-ha-resources', {
158 extend
: 'Ext.data.Model',
160 'sid', 'state', 'digest', 'errors', 'group', 'comment'