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