]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/ha/ResourceEdit.js
remove unnecessary trigraph
[pve-manager.git] / www / manager6 / ha / ResourceEdit.js
1 Ext.define('PVE.ha.VMResourceInputPanel', {
2 extend: 'PVE.panel.InputPanel',
3 onlineHelp: 'ha_manager_service_operations',
4 vmid: undefined,
5
6 onGetValues: function(values) {
7 var me = this;
8
9 if (me.create) {
10 values.sid = values.vmid;
11 }
12
13 if (values.group === '') {
14 if (!me.create) {
15 values['delete'] = 'group';
16 }
17 delete values.group;
18 }
19
20 delete values.vmid;
21
22 if (values.enable) {
23 values.state = 'enabled';
24 } else {
25 values.state = 'disabled';
26 }
27 delete values.enable;
28
29 return values;
30 },
31
32 initComponent : function() {
33 var me = this;
34
35 var disabledHint = Ext.createWidget({
36 xtype: 'displayfield', //submitValue is false, so we don't get submitted
37 userCls: 'pve-hint',
38 value: gettext('Disabling the resource will stop the guest system. ' +
39 'See the online help for details.'),
40 hidden: true
41 });
42
43 me.column1 = [
44 {
45 xtype: me.vmid ? 'displayfield' : 'pveVMIDSelector',
46 name: 'vmid',
47 fieldLabel: 'VM ID',
48 value: me.vmid,
49 loadNextFreeVMID: false,
50 validateExists: true
51 }
52 ];
53
54 me.column2 = [
55 {
56 xtype: 'pveHAGroupSelector',
57 name: 'group',
58 value: '',
59 fieldLabel: gettext('Group')
60 },
61 {
62 xtype: 'pvecheckbox',
63 name: 'enable',
64 checked: true,
65 uncheckedValue: 0,
66 fieldLabel: gettext('enabled'),
67 listeners: {
68 'change': function(field, newValue) {
69 if (newValue === false) {
70 disabledHint.setVisible(true);
71 }
72 else {
73 if (disabledHint.isVisible()) {
74 disabledHint.setVisible(false);
75 }
76 }
77 }
78 }
79 },
80 disabledHint
81 ];
82
83 me.columnB = [
84 {
85 xtype: 'textfield',
86 name: 'comment',
87 fieldLabel: gettext('Comment')
88 }
89 ];
90
91 me.callParent();
92 }
93 });
94
95 Ext.define('PVE.ha.VMResourceEdit', {
96 extend: 'PVE.window.Edit',
97
98 vmid: undefined,
99
100 initComponent : function() {
101 var me = this;
102
103 me.create = !me.vmid;
104
105 if (me.create) {
106 me.url = '/api2/extjs/cluster/ha/resources';
107 me.method = 'POST';
108 } else {
109 me.url = '/api2/extjs/cluster/ha/resources/' + me.vmid;
110 me.method = 'PUT';
111 }
112
113 var ipanel = Ext.create('PVE.ha.VMResourceInputPanel', {
114 create: me.create,
115 vmid: me.vmid
116 });
117
118 Ext.apply(me, {
119 subject: gettext('VM Resource'),
120 isAdd: true,
121 items: [ ipanel ]
122 });
123
124 me.callParent();
125
126 if (!me.create) {
127 me.load({
128 success: function(response, options) {
129 var values = response.result.data;
130
131 values.enable = true;
132 if (values.state === 'disabled') {
133 values.enable = false;
134 }
135
136 var regex = /^(\S+):(\S+)$/;
137 var res = regex.exec(values.sid);
138
139 if (res[1] !== 'vm' && res[1] !== 'ct') {
140 throw "got unexpected resource type";
141 }
142
143 values.vmid = res[2];
144
145 ipanel.setValues(values);
146 }
147 });
148 }
149 }
150 });