Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / examples / desktop / GridWindow.js
1 /*!
2  * Ext JS Library 4.0
3  * Copyright(c) 2006-2011 Sencha Inc.
4  * licensing@sencha.com
5  * http://www.sencha.com/license
6  */
7
8 Ext.define('MyDesktop.GridWindow', {
9     extend: 'Ext.ux.desktop.Module',
10
11     requires: [
12         'Ext.data.ArrayStore',
13         'Ext.util.Format',
14         'Ext.grid.Panel',
15         'Ext.grid.RowNumberer'
16     ],
17
18     id:'grid-win',
19
20     init : function(){
21         this.launcher = {
22             text: 'Grid Window',
23             iconCls:'icon-grid',
24             handler : this.createWindow,
25             scope: this
26         };
27     },
28
29     createWindow : function(){
30         var desktop = this.app.getDesktop();
31         var win = desktop.getWindow('grid-win');
32         if(!win){
33             win = desktop.createWindow({
34                 id: 'grid-win',
35                 title:'Grid Window',
36                 width:740,
37                 height:480,
38                 iconCls: 'icon-grid',
39                 animCollapse:false,
40                 constrainHeader:true,
41                 layout: 'fit',
42                 items: [
43                     {
44                         border: false,
45                         xtype: 'grid',
46                         store: new Ext.data.ArrayStore({
47                             fields: [
48                                { name: 'company' },
49                                { name: 'price', type: 'float' },
50                                { name: 'change', type: 'float' },
51                                { name: 'pctChange', type: 'float' }
52                             ],
53                             data: MyDesktop.GridWindow.getDummyData()
54                         }),
55                         columns: [
56                             new Ext.grid.RowNumberer(),
57                             {
58                                 text: "Company",
59                                 flex: 1,
60                                 sortable: true,
61                                 dataIndex: 'company'
62                             },
63                             {
64                                 text: "Price",
65                                 width: 70,
66                                 sortable: true,
67                                 renderer: Ext.util.Format.usMoney,
68                                 dataIndex: 'price'
69                             },
70                             {
71                                 text: "Change",
72                                 width: 70,
73                                 sortable: true,
74                                 dataIndex: 'change'
75                             },
76                             {
77                                 text: "% Change",
78                                 width: 70,
79                                 sortable: true,
80                                 dataIndex: 'pctChange'
81                             }
82                         ]
83                     }
84                 ],
85                 tbar:[{
86                     text:'Add Something',
87                     tooltip:'Add a new row',
88                     iconCls:'add'
89                 }, '-', {
90                     text:'Options',
91                     tooltip:'Blah blah blah blaht',
92                     iconCls:'option'
93                 },'-',{
94                     text:'Remove Something',
95                     tooltip:'Remove the selected item',
96                     iconCls:'remove'
97                 }]
98             });
99         }
100         win.show();
101         return win;
102     },
103
104     statics: {
105         getDummyData: function () {
106             return [
107                 ['3m Co',71.72,0.02,0.03,'9/1 12:00am'],
108                 ['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],
109                 ['American Express Company',52.55,0.01,0.02,'9/1 12:00am'],
110                 ['American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am'],
111                 ['AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am'],
112                 ['Caterpillar Inc.',67.27,0.92,1.39,'9/1 12:00am'],
113                 ['Citigroup, Inc.',49.37,0.02,0.04,'9/1 12:00am'],
114                 ['Exxon Mobil Corp',68.1,-0.43,-0.64,'9/1 12:00am'],
115                 ['General Electric Company',34.14,-0.08,-0.23,'9/1 12:00am'],
116                 ['General Motors Corporation',30.27,1.09,3.74,'9/1 12:00am'],
117                 ['Hewlett-Packard Co.',36.53,-0.03,-0.08,'9/1 12:00am'],
118                 ['Honeywell Intl Inc',38.77,0.05,0.13,'9/1 12:00am'],
119                 ['Intel Corporation',19.88,0.31,1.58,'9/1 12:00am'],
120                 ['Johnson & Johnson',64.72,0.06,0.09,'9/1 12:00am'],
121                 ['Merck & Co., Inc.',40.96,0.41,1.01,'9/1 12:00am'],
122                 ['Microsoft Corporation',25.84,0.14,0.54,'9/1 12:00am'],
123                 ['The Coca-Cola Company',45.07,0.26,0.58,'9/1 12:00am'],
124                 ['The Procter & Gamble Company',61.91,0.01,0.02,'9/1 12:00am'],
125                 ['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am'],
126                 ['Walt Disney Company (The) (Holding Company)',29.89,0.24,0.81,'9/1 12:00am']
127             ];
128         }
129     }
130 });
131