pve-manager/www/manager6/ha/ResourceEdit.js
Dominik Csapak a764c5f72e jslint: fix missing or extra semicolon
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-29 17:07:42 +02:00

131 lines
2.2 KiB
JavaScript

Ext.define('PVE.ha.VMResourceInputPanel', {
extend: 'PVE.panel.InputPanel',
vmid: undefined,
onGetValues: function(values) {
var me = this;
if (me.create) {
values.sid = values.vmid;
}
if (values.group === '') {
if (!me.create) {
values['delete'] = values['delete'] ? ',group' : 'group';
}
delete values.group;
}
delete values.vmid;
if (values.enable) {
values.state = 'enabled';
} else {
values.state = 'disabled';
}
delete values.enable;
return values;
},
initComponent : function() {
var me = this;
me.column1 = [
{
xtype: me.vmid ? 'displayfield' : 'pveVMIDSelector',
name: 'vmid',
fieldLabel: 'VM ID',
value: me.vmid,
loadNextFreeVMID: false,
validateExists: true
}
];
me.column2 = [
{
xtype: 'pveHAGroupSelector',
name: 'group',
value: '',
fieldLabel: gettext('Group')
},
{
xtype: 'pvecheckbox',
name: 'enable',
checked: true,
uncheckedValue: 0,
fieldLabel: gettext('enable')
}
];
me.columnB = [
{
xtype: 'textfield',
name: 'comment',
fieldLabel: gettext('Comment')
}
];
me.callParent();
}
});
Ext.define('PVE.ha.VMResourceEdit', {
extend: 'PVE.window.Edit',
vmid: undefined,
initComponent : function() {
var me = this;
me.create = !me.vmid;
if (me.create) {
me.url = '/api2/extjs/cluster/ha/resources';
me.method = 'POST';
} else {
me.url = '/api2/extjs/cluster/ha/resources/' + me.vmid;
me.method = 'PUT';
}
var ipanel = Ext.create('PVE.ha.VMResourceInputPanel', {
create: me.create,
vmid: me.vmid
});
Ext.apply(me, {
subject: gettext('VM Resource'),
isAdd: true,
items: [ ipanel ]
});
me.callParent();
if (!me.create) {
me.load({
success: function(response, options) {
var values = response.result.data;
values.enable = true;
if (values.state === 'disabled') {
values.enable = false;
}
var regex = /^(\S+):(\S+)$/;
var res = regex.exec(values.sid);
if (res[1] !== 'vm' && res[1] !== 'ct') {
throw "got unexpected resource type";
}
values.vmid = res[2];
ipanel.setValues(values);
}
});
}
}
});