]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/ha/ResourceEdit.js
ha resource edit: adapt to new service state
[pve-manager.git] / www / manager6 / ha / ResourceEdit.js
index 83db64748581f7ad0d13027e7683fd6ec833c09c..3b1b51a204c05ce6b118ab41aa4ac59e9a02c590 100644 (file)
@@ -10,34 +10,12 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
            values.sid = values.vmid;
        }
        
-       if (values.group === '') {
-           if (!me.create) {
-               values['delete'] = 'group';
-           }
-           delete values.group;
-       }
 
        delete values.vmid;
 
-       if (values.enable) {
-           values.state = 'enabled';
-       } else {
-           values.state = 'disabled';
-       }
-       delete values.enable;
-
-       if (values.max_restart == '1') {
-           if (!me.create) {
-               values['delete'] = values['delete'] ? values['delete'] + ',max_restart' : 'max_restart';
-           }
-           delete values.max_restart;
-       }
-       if (values.max_relocate == '1') {
-           if (!me.create) {
-               values['delete'] = values['delete'] ? values['delete'] + ',max_relocate' : 'max_relocate';
-           }
-           delete values.max_relocate;
-       }
+       PVE.Utils.delete_if_default(values, 'group', '', me.create);
+       PVE.Utils.delete_if_default(values, 'max_restart', '1', me.create);
+       PVE.Utils.delete_if_default(values, 'max_relocate', '1', me.create);
 
        return values;
     },
@@ -63,7 +41,7 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
                validateExists: true
            },
            {
-               xtype: 'numberfield',
+               xtype: 'pveIntegerField',
                name: 'max_restart',
                fieldLabel: gettext('Max. Restart'),
                value: 1,
@@ -72,7 +50,7 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
                allowBlank: false
            },
            {
-               xtype: 'numberfield',
+               xtype: 'pveIntegerField',
                name: 'max_relocate',
                fieldLabel: gettext('Max. Relocate'),
                value: 1,
@@ -82,22 +60,27 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
            }
        ];
 
+       // value is expected to be integer as it's above, ignore that
+       /*jslint confusion: true */
        me.column2 = [
            {
                xtype: 'pveHAGroupSelector',
                name: 'group',
-               value: '',
                fieldLabel: gettext('Group')
            },
            {
-               xtype: 'pvecheckbox',
-               name: 'enable',
-               checked: true,
-               uncheckedValue: 0,
-               fieldLabel: gettext('enabled'),
+               xtype: 'pveKVComboBox',
+               name: 'state',
+               value: 'started',
+               fieldLabel: gettext('Request State'),
+               comboItems: [
+                   ['started', gettext('Started')],
+                   ['stopped', gettext('Stopped')],
+                   ['disabled', gettext('Disabled')]
+               ],
                listeners: {
                    'change': function(field, newValue) {
-                       if (newValue === false) {
+                       if (newValue === 'disabled') {
                            disabledHint.setVisible(true);
                        }
                        else {
@@ -110,6 +93,7 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
            },
            disabledHint
        ];
+       /*jslint confusion: false */
 
        me.columnB = [
            {
@@ -159,11 +143,6 @@ Ext.define('PVE.ha.VMResourceEdit', {
                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);