]>
git.proxmox.com Git - pve-manager.git/blob - www/manager5/form/MemoryField.js
1 Ext
.define('PVE.form.MemoryField', {
2 extend
: 'Ext.form.field.Number',
3 alias
: 'widget.pveMemoryField',
15 value
: '512', // qm default
17 computeUpDown: function(value
) {
21 return { up
: value
+ me
.step
, down
: value
- me
.step
};
25 var prev_dimm_size
= 0;
27 var current_size
= min_size
;
28 var value_up
= min_size
;
29 var value_down
= min_size
;
30 var value_start
= min_size
;
33 for (j
= 0; j
< 9; j
++) {
34 for (i
= 0; i
< 32; i
++) {
35 if ((value
>= current_size
) && (value
< (current_size
+ dimm_size
))) {
36 value_start
= current_size
,
37 value_up
= current_size
+ dimm_size
;
38 value_down
= current_size
- ((i
=== 0) ? prev_dimm_size
: dimm_size
);
40 current_size
+= dimm_size
;
42 prev_dimm_size
= dimm_size
;
43 dimm_size
= dimm_size
*2;
46 return { up
: value_up
, down
: value_down
, start
: value_start
};
49 onSpinUp: function() {
52 var res
= me
.computeUpDown(me
.getValue());
53 me
.setValue(Ext
.Number
.constrain(res
.up
, me
.minValue
, me
.maxValue
));
57 onSpinDown: function() {
60 var res
= me
.computeUpDown(me
.getValue());
61 me
.setValue(Ext
.Number
.constrain(res
.down
, me
.minValue
, me
.maxValue
));
65 initComponent: function() {
71 me
.on('blur', function(field
) {
72 value
= me
.getValue();
73 var res
= me
.computeUpDown(value
);
74 if (value
=== res
.start
|| value
=== res
.up
|| value
=== res
.down
) {
77 field
.setValue(res
.up
);