123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- Ext.require('Ext.chart.*');
- Ext.require('Ext.layout.container.Fit');
- Ext.require('Ext.window.MessageBox');
- Ext.onReady(function () {
-
- var pieModel = [
- {
- name: 'data1',
- data: 10
- },
- {
- name: 'data2',
- data: 10
- },
- {
- name: 'data3',
- data: 10
- },
- {
- name: 'data4',
- data: 10
- },
- {
- name: 'data5',
- data: 10
- }
- ];
-
- var pieStore = Ext.create('Ext.data.JsonStore', {
- fields: ['name', 'data'],
- data: pieModel
- });
-
- var pieChart = Ext.create('Ext.chart.Chart', {
- width: 100,
- height: 100,
- animate: false,
- store: pieStore,
- shadow: false,
- insetPadding: 0,
- theme: 'Base:gradients',
- series: [{
- type: 'pie',
- field: 'data',
- showInLegend: false,
- label: {
- field: 'name',
- display: 'rotate',
- contrast: true,
- font: '9px Arial'
- }
- }]
- });
-
- var gridStore = Ext.create('Ext.data.JsonStore', {
- fields: ['name', 'data'],
- data: pieModel
- });
-
- var grid = Ext.create('Ext.grid.Panel', {
- store: gridStore,
- height: 130,
- width: 480,
- columns: [
- {
- text : 'name',
- dataIndex: 'name'
- },
- {
- text : 'data',
- dataIndex: 'data'
- }
- ]
- });
-
- var chart = Ext.create('Ext.chart.Chart', {
- xtype: 'chart',
- animate: true,
- shadow: true,
- store: store1,
- axes: [{
- type: 'Numeric',
- position: 'left',
- fields: ['data1'],
- title: false,
- grid: true
- }, {
- type: 'Category',
- position: 'bottom',
- fields: ['name'],
- title: false
- }],
- series: [{
- type: 'line',
- axis: 'left',
- gutter: 80,
- xField: 'name',
- yField: ['data1'],
- tips: {
- trackMouse: true,
- width: 580,
- height: 170,
- layout: 'fit',
- items: {
- xtype: 'container',
- layout: 'hbox',
- items: [pieChart, grid]
- },
- renderer: function(klass, item) {
- var storeItem = item.storeItem,
- data = [{
- name: 'data1',
- data: storeItem.get('data1')
- }, {
- name: 'data2',
- data: storeItem.get('data2')
- }, {
- name: 'data3',
- data: storeItem.get('data3')
- }, {
- name: 'data4',
- data: storeItem.get('data4')
- }, {
- name: 'data5',
- data: storeItem.get('data5')
- }], i, l, html;
-
- this.setTitle("Information for " + storeItem.get('name'));
- pieStore.loadData(data);
- gridStore.loadData(data);
- grid.setSize(480, 130);
- }
- }
- }]
- });
- var panel1 = Ext.create('widget.panel', {
- width: 800,
- height: 400,
- title: 'Line Chart',
- renderTo: Ext.getBody(),
- layout: 'fit',
- tbar: [{
- text: 'Save Chart',
- handler: function() {
- Ext.MessageBox.confirm('Confirm Download', 'Would you like to download the chart as an image?', function(choice){
- if(choice == 'yes'){
- chart.save({
- type: 'image/png'
- });
- }
- });
- }
- }],
- items: chart
- });
- });
|