]> git.proxmox.com Git - extjs.git/blob - extjs/build/examples/kitchensink/classic/samples/store/StockPrice.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / examples / kitchensink / classic / samples / store / StockPrice.js
1 Ext.define('KitchenSink.store.StockPrice', {
2 extend: 'Ext.data.Store',
3 model: 'KitchenSink.model.StockPrice',
4 alias: 'store.stock-price',
5
6 data: [],
7
8 seed: 1.4,
9
10 generateData: function (count) {
11 var me = this;
12 function random() {
13 // Controllable random.
14 me.seed *= 42.7;
15 me.seed -= Math.floor(me.seed);
16 return me.seed * 2 - 1;
17 }
18
19 var data = [], i, record = {
20 time: new Date('Jan 1 2010').getTime(),
21 close: 600
22 };
23 for (i = 0; i < (count || 1000); i++) {
24 var ohlc = [random() * 25, random() * 25, random() * 25];
25 record = {
26 time: record.time + 3600000,
27 open: record.close,
28 high: record.close + Math.max.apply(Math, ohlc),
29 low: record.close + Math.min.apply(Math, ohlc),
30 close: record.close + ohlc[1]
31 };
32 if (record.open < record.low) {
33 record.low = record.open;
34 } else if (record.open > record.high) {
35 record.high = record.open;
36 }
37 data.push(record);
38 }
39 return data;
40 },
41
42 refreshData: function () {
43 this.setData(this.generateData(1000));
44 },
45
46 constructor: function (config) {
47 config = Ext.apply({
48 data: this.generateData()
49 }, config);
50 this.callParent([config]);
51 }
52 });