]>
Commit | Line | Data |
---|---|---|
2e7bd1dc DM |
1 | Ext.define('Proxmox.DateTimeField', { |
2 | extend: 'Ext.form.FieldContainer', | |
3 | xtype: 'promxoxDateTimeField', | |
4 | ||
5 | layout: 'hbox', | |
6 | ||
7 | referenceHolder: true, | |
8 | ||
9 | submitFormat: 'U', | |
10 | ||
11 | getValue: function() { | |
12 | var me = this; | |
13 | var d = me.lookupReference('dateentry').getValue(); | |
14 | ||
15 | if (d === undefined || d === null) { return null; } | |
16 | ||
17 | var t = me.lookupReference('timeentry').getValue(); | |
18 | ||
19 | if (t === undefined || t === null) { return null; } | |
20 | ||
21 | var offset = (t.getHours()*3600+t.getMinutes()*60)*1000; | |
22 | ||
23 | return new Date(d.getTime() + offset); | |
24 | }, | |
25 | ||
26 | getSubmitValue: function() { | |
27 | var me = this; | |
28 | var format = me.submitFormat; | |
29 | var value = me.getValue(); | |
30 | ||
31 | return value ? Ext.Date.format(value, format) : null; | |
32 | }, | |
33 | ||
34 | items: [ | |
35 | { | |
36 | xtype: 'datefield', | |
37 | editable: false, | |
38 | reference: 'dateentry', | |
39 | flex: 1, | |
40 | format: 'Y-m-d' | |
41 | }, | |
42 | { | |
43 | xtype: 'timefield', | |
44 | reference: 'timeentry', | |
45 | format: 'H:i', | |
46 | width: 80, | |
47 | value: '00:00', | |
48 | increment: 60 | |
49 | } | |
50 | ], | |
51 | ||
52 | initComponent: function() { | |
53 | var me = this; | |
54 | ||
55 | me.callParent(); | |
56 | ||
57 | var value = me.value || new Date(); | |
58 | ||
59 | me.lookupReference('dateentry').setValue(value); | |
60 | me.lookupReference('timeentry').setValue(value); | |
00ecc6db DM |
61 | |
62 | me.relayEvents(me.lookupReference('dateentry'), ['change']); | |
63 | me.relayEvents(me.lookupReference('timeentry'), ['change']); | |
2e7bd1dc DM |
64 | } |
65 | }); |