Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / examples / charts / BarRenderer.js
diff --git a/examples/charts/BarRenderer.js b/examples/charts/BarRenderer.js
new file mode 100644 (file)
index 0000000..ed5763c
--- /dev/null
@@ -0,0 +1,70 @@
+Ext.require('Ext.chart.*');
+Ext.require(['Ext.Window', 'Ext.fx.target.Sprite', 'Ext.layout.container.Fit']);
+
+Ext.onReady(function () {
+    var win = Ext.create('Ext.Window', {
+        width: 800,
+        height: 600,
+        hidden: false,
+        maximizable: true,
+        title: 'Bar Renderer',
+        renderTo: Ext.getBody(),
+        layout: 'fit',
+        tbar: [{
+            text: 'Reload Data',
+            handler: function() {
+                store1.loadData(generateData());
+            }
+        }],
+        items: {
+            xtype: 'chart',
+            animate: true,
+            style: 'background:#fff',
+            shadow: false,
+            store: store1,
+            axes: [{
+                type: 'Numeric',
+                position: 'bottom',
+                fields: ['data1'],
+                label: {
+                   renderer: Ext.util.Format.numberRenderer('0,0')
+                },
+                title: 'Number of Hits',
+                minimum: 0
+            }, {
+                type: 'Category',
+                position: 'left',
+                fields: ['name'],
+                title: 'Month of the Year'
+            }],
+            series: [{
+                type: 'bar',
+                axis: 'bottom',
+                label: {
+                    display: 'insideEnd',
+                    field: 'data1',
+                    renderer: Ext.util.Format.numberRenderer('0'),
+                    orientation: 'horizontal',
+                    color: '#333',
+                    'text-anchor': 'middle',
+                    contrast: true
+                },
+                xField: 'name',
+                yField: ['data1'],
+                //color renderer
+                renderer: function(sprite, record, attr, index, store) {
+                    var fieldValue = Math.random() * 20 + 10;
+                    var value = (record.get('data1') >> 0) % 5;
+                    var color = ['rgb(213, 70, 121)', 
+                                 'rgb(44, 153, 201)', 
+                                 'rgb(146, 6, 157)', 
+                                 'rgb(49, 149, 0)', 
+                                 'rgb(249, 153, 0)'][value];
+                    return Ext.apply(attr, {
+                        fill: color
+                    });
+                }
+            }]
+        }
+    });
+});