]>
Commit | Line | Data |
---|---|---|
42a0470d DM |
1 | Ext.define('PMG.data.StatStore', { |
2 | extend: 'Ext.data.Store', | |
3 | alias: 'store.pmgStatStore', | |
4 | ||
5 | autoDestroy: true, | |
6 | ||
7 | staturl: undefined, | |
3b560b74 DM |
8 | |
9 | includeTimeSpan: false, | |
44230744 DM |
10 | |
11 | setUrl: function(url) { | |
12 | var me = this; | |
13 | ||
14 | me.staturl = url; | |
15 | me.proxy.extraParams = {}; | |
16 | me.reload(); | |
17 | }, | |
18 | ||
42a0470d DM |
19 | reload: function() { |
20 | var me = this; | |
21 | ||
d6d1af0e | 22 | me.proxy.abort(); // abort pending requests |
44230744 DM |
23 | |
24 | if (me.staturl === undefined) { | |
25 | me.proxy.extraParams = {}; | |
26 | me.setData([]); | |
27 | return; | |
28 | } | |
29 | ||
42a0470d DM |
30 | var ts = PMG.StatTimeSelector.getTimeSpan(); |
31 | ||
32 | var last = me.proxy.extraParams; | |
44230744 | 33 | |
42a0470d DM |
34 | if (last.starttime === ts.starttime && last.endtime === ts.endtime) |
35 | return; // avoid repeated loads | |
36 | ||
37 | me.proxy.url = me.staturl; | |
38 | me.proxy.extraParams = { starttime: ts.starttime, endtime: ts.endtime }; | |
39 | ||
3b560b74 DM |
40 | var timespan = 3600; |
41 | if (me.includeTimeSpan) { | |
42 | var period = ts.endtime - ts.starttime; | |
43 | if (period <= 86400*7) { | |
44 | timespan = 3600; | |
45 | } else { | |
46 | timespan = 3600*24; | |
47 | } | |
48 | me.proxy.extraParams.timespan = timespan; | |
49 | } | |
44230744 | 50 | |
42a0470d DM |
51 | me.load(); |
52 | }, | |
53 | ||
54 | proxy: { | |
55 | type: 'proxmox' | |
56 | }, | |
57 | ||
58 | constructor: function(config) { | |
59 | var me = this; | |
60 | ||
61 | config = config || {}; | |
62 | ||
42a0470d | 63 | me.mon(Ext.GlobalEvents, 'pmgStatTimeSelectorUpdate', me.reload, me); |
44230744 | 64 | |
42a0470d DM |
65 | me.callParent([config]); |
66 | ||
67 | me.reload(); | |
68 | } | |
69 | }); |