]> git.proxmox.com Git - proxmox-widget-toolkit.git/blame - form/DateTimeField.js
form/DateTimeField.js - new widget to select Date with Time
[proxmox-widget-toolkit.git] / form / DateTimeField.js
CommitLineData
2e7bd1dc
DM
1Ext.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);
61 }
62});