]>
git.proxmox.com Git - pmg-gui.git/blob - js/StatTimeSelector.js
1 Ext
.define('PMG.StatTimeSelector', {
2 extend
: 'Ext.container.Container',
3 xtype
: 'pmgStatTimeSelector',
6 selected_year
: undefined,
7 selected_month
: undefined,
8 selected_day
: undefined,
10 getTimeSpan: function() {
11 var year
= this.selected_year
;
12 var month
= this.selected_month
;
13 var day
= this.selected_day
;
15 var starttime
, endtime
, span
;
18 starttime
= new Date(year
, 0);
19 endtime
= new Date(year
+ 1, 0);
21 starttime
= new Date(year
, month
- 1);
22 endtime
= new Date(year
, month
);
24 starttime
= new Date(year
, month
- 1, day
);
25 endtime
= new Date(year
, month
- 1, day
+ 1);
30 data
.starttime
= (starttime
.getTime() / 1000).toFixed(0);
31 data
.endtime
= (endtime
.getTime() / 1000).toFixed(0);
42 xclass
: 'Ext.app.ViewController',
44 updateVisibility: function() {
45 var view
= this.getView();
47 var yearsel
= this.lookupReference('yearsel');
48 var monthsel
= this.lookupReference('monthsel');
49 var daysel
= this.lookupReference('daysel');
51 var year
= yearsel
.getValue();
52 var month
= monthsel
.getValue();
53 daysel
.setVisible(month
!== 0);
57 var day
= daysel
.getValue();
59 var statics
= Ext
.getClass(view
);
61 statics
.selected_year
= year
;
62 statics
.selected_month
= month
;
63 statics
.selected_day
= day
;
65 var data
= statics
.getTimeSpan();
66 Ext
.GlobalEvents
.fireEvent('pmgStatTimeSelectorUpdate', data
);
69 onSelect: function() {
70 this.updateVisibility();
73 init: function(view
) {
74 var statics
= Ext
.getClass(view
);
76 var yearsel
= this.lookupReference('yearsel');
77 var monthsel
= this.lookupReference('monthsel');
78 var daysel
= this.lookupReference('daysel');
80 yearsel
.setValue(statics
.selected_year
);
81 monthsel
.setValue(statics
.selected_month
);
82 daysel
.setValue(statics
.selected_month
? statics
.selected_day
: 0);
84 this.updateVisibility();
95 var today
= new Date();
96 var year
= today
.getFullYear();
97 return [{ year
: year
}, { year
: year
-1 },{ year
: year
-2 }];
100 listeners
: { select
: 'onSelect' },
101 value
: (new Date()).getFullYear(),
103 displayField
: 'year',
109 reference
: 'monthsel',
111 fields
: [ 'month', 'name' ],
114 var data
= [{ month
: 0, name
: gettext('Whole year') }];
115 for (i
= 1; i
<= 12; i
++) {
116 data
.push({ month
: i
, name
: Ext
.Date
.monthNames
[i
-1]});
121 listeners
: { select
: 'onSelect' },
123 displayField
: 'name',
131 fields
: [ 'day', 'name' ],
134 var data
= [{ day
: 0, name
: gettext('Whole month') }];
135 for (i
= 1; i
<= 31; i
++) {
136 data
.push({ day
: i
, name
: i
});
141 listeners
: { select
: 'onSelect' },
143 displayField
: 'name',
150 var today
= new Date();
152 this.selected_year
= today
.getFullYear();
153 this.selected_month
= today
.getMonth() + 1;
154 this.selected_day
= today
.getDate();