]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/MemoryField.js
1 Ext
.define('PVE.form.MemoryField', {
2 extend
: 'Ext.form.field.Number',
3 alias
: 'widget.pveMemoryField',
15 value
: '512', // qm backend default
19 allowExponential
: false,
21 computeUpDown: function(value
) {
25 return { up
: value
+ me
.step
, down
: value
- me
.step
};
29 var prev_dimm_size
= 0;
31 var current_size
= min_size
;
32 var value_up
= min_size
;
33 var value_down
= min_size
;
34 var value_start
= min_size
;
37 for (j
= 0; j
< 9; j
++) {
38 for (i
= 0; i
< 32; i
++) {
39 if (value
>= current_size
&& value
< current_size
+ dimm_size
) {
40 value_start
= current_size
;
41 value_up
= current_size
+ dimm_size
;
42 value_down
= current_size
- (i
=== 0 ? prev_dimm_size
: dimm_size
);
44 current_size
+= dimm_size
;
46 prev_dimm_size
= dimm_size
;
47 dimm_size
= dimm_size
*2;
50 return { up
: value_up
, down
: value_down
, start
: value_start
};
53 onSpinUp: function() {
56 var res
= me
.computeUpDown(me
.getValue());
57 me
.setValue(Ext
.Number
.constrain(res
.up
, me
.minValue
, me
.maxValue
));
61 onSpinDown: function() {
64 var res
= me
.computeUpDown(me
.getValue());
65 me
.setValue(Ext
.Number
.constrain(res
.down
, me
.minValue
, me
.maxValue
));
69 initComponent: function() {
75 me
.on('blur', function(field
) {
76 var value
= me
.getValue();
77 var res
= me
.computeUpDown(value
);
78 if (value
=== res
.start
|| value
=== res
.up
|| value
=== res
.down
) {
81 field
.setValue(res
.up
);