From 9b81768fd785850757cd25b172fba00631fdf669 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Mon, 15 Feb 2016 12:35:14 +0100 Subject: [PATCH] copy ha/ResourceEdit.js from manager to manager6 --- www/manager6/ha/ResourceEdit.js | 128 ++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 www/manager6/ha/ResourceEdit.js diff --git a/www/manager6/ha/ResourceEdit.js b/www/manager6/ha/ResourceEdit.js new file mode 100644 index 00000000..919e888f --- /dev/null +++ b/www/manager6/ha/ResourceEdit.js @@ -0,0 +1,128 @@ +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); + } + }); + } + } +}); -- 2.39.2