123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- Ext.define('Ext.app.ChartPortlet', {
- extend: 'Ext.panel.Panel',
- alias: 'widget.chartportlet',
- requires: [
- 'Ext.data.JsonStore',
- 'Ext.chart.theme.Base',
- 'Ext.chart.series.Series',
- 'Ext.chart.series.Line',
- 'Ext.chart.axis.Numeric'
- ],
- generateData: function(){
- var data = [{
- name: 0,
- djia: 10000,
- sp500: 1100
- }],
- i;
- for (i = 1; i < 50; i++) {
- data.push({
- name: i,
- sp500: data[i - 1].sp500 + ((Math.floor(Math.random() * 2) % 2) ? -1 : 1) * Math.floor(Math.random() * 7),
- djia: data[i - 1].djia + ((Math.floor(Math.random() * 2) % 2) ? -1 : 1) * Math.floor(Math.random() * 7)
- });
- }
- return data;
- },
- initComponent: function(){
- Ext.apply(this, {
- layout: 'fit',
- height: 300,
- items: {
- xtype: 'chart',
- animate: false,
- shadow: false,
- store: Ext.create('Ext.data.JsonStore', {
- fields: ['name', 'sp500', 'djia'],
- data: this.generateData()
- }),
- legend: {
- position: 'bottom'
- },
- axes: [{
- type: 'Numeric',
- position: 'left',
- fields: ['djia'],
- title: 'Dow Jones Average',
- label: {
- font: '11px Arial'
- }
- }, {
- type: 'Numeric',
- position: 'right',
- grid: false,
- fields: ['sp500'],
- title: 'S&P 500',
- label: {
- font: '11px Arial'
- }
- }],
- series: [{
- type: 'line',
- lineWidth: 1,
- showMarkers: false,
- fill: true,
- axis: 'left',
- xField: 'name',
- yField: 'djia',
- style: {
- 'stroke-width': 1,
- stroke: 'rgb(148, 174, 10)'
- }
- }, {
- type: 'line',
- lineWidth: 1,
- showMarkers: false,
- axis: 'right',
- xField: 'name',
- yField: 'sp500',
- style: {
- 'stroke-width': 1,
- stroke: 'rgb(17, 95, 166)'
- }
- }]
- }
- });
- this.callParent(arguments);
- }
- });
|