]>
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 initSelected: function() {
11 let today
= new Date();
12 this.selected_year
= today
.getFullYear();
13 this.selected_month
= today
.getMonth() + 1;
14 this.selected_day
= today
.getDate();
17 getTimeSpan: function() {
18 if (this.selected_year
=== undefined) {
21 const year
= this.selected_year
;
22 const month
= this.selected_month
;
23 const day
= this.selected_day
;
25 let starttime
, endtime
;
27 starttime
= new Date(year
, 0);
28 endtime
= new Date(year
+ 1, 0);
30 starttime
= new Date(year
, month
- 1);
31 endtime
= new Date(year
, month
);
33 starttime
= new Date(year
, month
- 1, day
);
34 endtime
= new Date(year
, month
- 1, day
+ 1);
38 starttime
: (starttime
.getTime() / 1000).toFixed(0),
39 endtime
: (endtime
.getTime() / 1000).toFixed(0),
49 xclass
: 'Ext.app.ViewController',
51 updateVisibility: function() {
52 let view
= this.getView();
54 let yearsel
= this.lookupReference('yearsel');
55 let monthsel
= this.lookupReference('monthsel');
56 let daysel
= this.lookupReference('daysel');
58 let year
= yearsel
.getValue();
59 let month
= monthsel
.getValue();
60 daysel
.setVisible(month
!== 0);
64 let day
= daysel
.getValue();
66 let statics
= Ext
.getClass(view
);
68 statics
.selected_year
= year
;
69 statics
.selected_month
= month
;
70 statics
.selected_day
= day
;
72 let data
= statics
.getTimeSpan();
73 Ext
.GlobalEvents
.fireEvent('pmgStatTimeSelectorUpdate', data
);
76 onSelect: function() {
77 this.updateVisibility();
80 init: function(view
) {
81 let statics
= Ext
.getClass(view
);
83 let yearsel
= this.lookupReference('yearsel');
84 let monthsel
= this.lookupReference('monthsel');
85 let daysel
= this.lookupReference('daysel');
87 yearsel
.setValue(statics
.selected_year
);
88 monthsel
.setValue(statics
.selected_month
);
89 daysel
.setValue(statics
.selected_month
? statics
.selected_day
: 0);
91 this.updateVisibility();
102 let today
= new Date();
103 let year
= today
.getFullYear();
104 return [{ year
: year
}, { year
: year
-1 }, { year
: year
-2 }];
107 listeners
: { select
: 'onSelect' },
108 value
: new Date().getFullYear(),
110 displayField
: 'year',
116 reference
: 'monthsel',
118 fields
: ['month', 'name'],
121 let data
= [{ month
: 0, name
: gettext('Whole year') }];
122 for (i
= 1; i
<= 12; i
++) {
123 data
.push({ month
: i
, name
: Ext
.Date
.monthNames
[i
-1] });
128 listeners
: { select
: 'onSelect' },
130 displayField
: 'name',
138 fields
: ['day', 'name'],
141 let data
= [{ day
: 0, name
: gettext('Whole month') }];
142 for (i
= 1; i
<= 31; i
++) {
143 data
.push({ day
: i
, name
: i
});
148 listeners
: { select
: 'onSelect' },
150 displayField
: 'name',