6 Ext.onReady(function () {
8 var generateData = (function() {
11 date = new Date(2011, 1, 1),
19 date: Ext.Date.add(date, Ext.Date.DAY, i++),
20 visits: min(100, max(last? last.visits + (random() - 0.5) * 20 : random() * 100, 0)),
21 views: min(100, max(last? last.views + (random() - 0.5) * 10 : random() * 100, 0)),
22 veins: min(100, max(last? last.veins + (random() - 0.5) * 20 : random() * 100, 0))
24 last = data[data.length -1];
32 groupBy: 'year,month,day'
40 var axis = chart.axes.get(1),
41 selectedGroup = groupOp[+group];
42 axis.dateFormat = selectedGroup.dateFormat;
43 axis.groupBy = selectedGroup.groupBy;
48 var store = Ext.create('Ext.data.JsonStore', {
49 fields: ['date', 'visits', 'views', 'veins'],
53 var intr = setInterval(function() {
54 var gs = generateData();
55 var toDate = timeAxis.toDate,
56 lastDate = gs[gs.length - 1].date,
57 markerIndex = chart.markerIndex || 0;
58 if (+toDate < +lastDate) {
60 timeAxis.toDate = lastDate;
61 timeAxis.fromDate = Ext.Date.add(Ext.Date.clone(timeAxis.fromDate), Ext.Date.DAY, 1);
62 chart.markerIndex = markerIndex;
67 Ext.create('Ext.Window', {
71 title: 'Live Updated Chart',
75 style: 'background:#fff',
84 fields: ['views', 'visits', 'veins'],
85 title: 'Number of Hits',
99 groupBy: 'year,month,day',
103 fromDate: new Date(2011, 1, 1),
104 toDate: new Date(2011, 1, 7)
114 renderer: function(v) { return v >> 0; },
115 'text-anchor': 'middle'
129 renderer: function(v) { return v >> 0; },
130 'text-anchor': 'middle'
144 renderer: function(v) { return v >> 0; },
145 'text-anchor': 'middle'
154 chart = Ext.getCmp('chartCmp');
155 var timeAxis = chart.axes.get(1);