123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- Ext.require('Ext.chart.*');
- Ext.require(['Ext.Window', 'Ext.fx.target.Sprite', 'Ext.layout.container.Fit', 'Ext.window.MessageBox']);
- Ext.onReady(function () {
- var textArea;
-
- Ext.chart.theme.White = Ext.extend(Ext.chart.theme.Base, {
- constructor: function() {
- Ext.chart.theme.White.superclass.constructor.call(this, {
- axis: {
- stroke: 'rgb(8,69,148)',
- 'stroke-width': 1
- },
- axisLabel: {
- fill: 'rgb(8,69,148)',
- font: '12px Arial',
- 'font-family': '"Arial',
- spacing: 2,
- padding: 5,
- renderer: function(v) { return v; }
- },
- axisTitle: {
- font: 'bold 18px Arial'
- }
- });
- }
- });
- var chart = Ext.create('Ext.chart.Chart', {
- id: 'chartCmp',
- xtype: 'chart',
- animate: true,
- shadow: true,
- store: store1,
- axes: [{
- type: 'Numeric',
- position: 'bottom',
- fields: ['data1'],
- label: {
- renderer: Ext.util.Format.numberRenderer('0,0')
- },
- title: 'Number of Hits',
- grid: true,
- minimum: 0
- }, {
- type: 'Category',
- position: 'left',
- fields: ['name'],
- title: 'Month of the Year'
- }],
- theme: 'White',
- background: {
- gradient: {
- id: 'backgroundGradient',
- angle: 45,
- stops: {
- 0: {
- color: '#ffffff'
- },
- 100: {
- color: '#eaf1f8'
- }
- }
- }
- },
- series: [{
- type: 'bar',
- axis: 'bottom',
- highlight: true,
- tips: {
- trackMouse: true,
- width: 140,
- height: 28,
- renderer: function(storeItem, item) {
- this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1') + ' views');
- }
- },
- label: {
- display: 'insideEnd',
- field: 'data1',
- renderer: Ext.util.Format.numberRenderer('0'),
- orientation: 'horizontal',
- color: '#333',
- 'text-anchor': 'middle'
- },
- xField: 'name',
- yField: ['data1']
- }]
- });
-
- var win = Ext.create('Ext.Window', {
- width: 800,
- height: 600,
- minHeight: 400,
- minWidth: 550,
- hidden: false,
- maximizable: true,
- title: 'Bar 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'
- });
- }
- });
- }
- }, {
- text: 'Reload Data',
- handler: function() {
- store1.loadData(generateData());
- }
- }],
- items: chart
- });
- });
|