]> git.proxmox.com Git - pve-manager.git/blame - www/manager/form/MemoryField.js
disable animation of charts on load
[pve-manager.git] / www / manager / form / MemoryField.js
CommitLineData
2d9b21c3
DM
1Ext.define('PVE.form.MemoryField', {
2 extend: 'Ext.form.field.Number',
3 alias: 'widget.pveMemoryField',
4
5 allowBlank: false,
6
7 hotplug: false,
8
9 minValue: 32,
10
11 maxValue: 4178944,
12
13 step: 32,
14
15 value: '512', // qm default
16
17 computeUpDown: function(value) {
18 var me = this;
19
20 if (!me.hotplug) {
21 return { up: value + me.step, down: value - me.step };
22 }
23
24 var dimm_size = 512;
25 var prev_dimm_size = 0;
26 var min_size = 1024;
27 var current_size = min_size;
28 var value_up = min_size;
29 var value_down = min_size;
5dedad41 30 var value_start = min_size;
2d9b21c3
DM
31
32 var i, j;
33 for (j = 0; j < 9; j++) {
34 for (i = 0; i < 32; i++) {
35 if ((value >= current_size) && (value < (current_size + dimm_size))) {
5dedad41 36 value_start = current_size,
2d9b21c3
DM
37 value_up = current_size + dimm_size;
38 value_down = current_size - ((i === 0) ? prev_dimm_size : dimm_size);
39 }
40 current_size += dimm_size;
41 }
42 prev_dimm_size = dimm_size;
43 dimm_size = dimm_size*2;
44 }
45
5dedad41 46 return { up: value_up, down: value_down, start: value_start };
2d9b21c3
DM
47 },
48
49 onSpinUp: function() {
50 var me = this;
51 if (!me.readOnly) {
52 var res = me.computeUpDown(me.getValue());
53 me.setValue(Ext.Number.constrain(res.up, me.minValue, me.maxValue));
54 }
55 },
56
57 onSpinDown: function() {
58 var me = this;
59 if (!me.readOnly) {
60 var res = me.computeUpDown(me.getValue());
61 me.setValue(Ext.Number.constrain(res.down, me.minValue, me.maxValue));
62 }
63 },
64
65 initComponent: function() {
66 var me = this;
67
68 if (me.hotplug) {
69 me.minValue = 1024;
5dedad41
DM
70
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) {
75 return;
76 }
77 field.setValue(res.up);
78 });
2d9b21c3
DM
79 }
80
81 me.callParent();
2d9b21c3
DM
82 }
83});