]> git.proxmox.com Git - extjs.git/blame - extjs/build/examples/kitchensink/modern/src/view/grid/BigData.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / examples / kitchensink / modern / src / view / grid / BigData.js
CommitLineData
6527f429
DM
1Ext.define('KitchenSink.view.grid.BigData', {\r
2 extend: 'Ext.grid.Grid',\r
3 requires: [\r
4 'Ext.grid.plugin.Editable',\r
5 'Ext.grid.plugin.ViewOptions',\r
6 'Ext.grid.plugin.PagingToolbar',\r
7 'Ext.grid.plugin.SummaryRow',\r
8 'Ext.grid.plugin.ColumnResizing',\r
9 'Ext.grid.plugin.MultiSelection',\r
10 'KitchenSink.view.grid.BigDataRowModel',\r
11 'KitchenSink.view.grid.BigDataController'\r
12 ],\r
13\r
14 controller: 'grid-bigdata',\r
15\r
16 grouped: true,\r
17 store: {\r
18 model: 'Contact',\r
19 autoLoad: true,\r
20 groupField: 'company',\r
21 proxy: {\r
22 type: 'ajax',\r
23 url: 'data/bigdata.json',\r
24 reader: {\r
25 rootProperty: 'results'\r
26 }\r
27 }\r
28 },\r
29\r
30 plugins: [{\r
31 type: 'grideditable'\r
32 }, {\r
33 type: 'gridviewoptions'\r
34 }, {\r
35 type: 'gridpagingtoolbar'\r
36 }, {\r
37 type: 'gridsummaryrow'\r
38 }, {\r
39 type: 'gridcolumnresizing'\r
40 }],\r
41\r
42 // Instruct rows to create view models so we can use data binding\r
43 itemConfig: {\r
44 viewModel: {\r
45 type: 'grid-bigdata-row'\r
46 }\r
47 },\r
48\r
49 columns: [{\r
50 text: 'Name',\r
51 dataIndex: 'fullName',\r
52 flex: 1,\r
53 minWidth: 100,\r
54 editable: true,\r
55 summaryType: 'count',\r
56 summaryRenderer: 'nameSummaryRenderer'\r
57 }, {\r
58 text: 'Identifiers',\r
59 xtype: 'gridheadergroup',\r
60 columns: [{\r
61 text: 'Email',\r
62 dataIndex: 'email',\r
63 width: 300,\r
64 editable: true,\r
65 editor: {\r
66 xtype: 'emailfield'\r
67 }\r
68 }, {\r
69 text: 'Id',\r
70 dataIndex: 'guid',\r
71 width: 100\r
72 }, {\r
73 text: '',\r
74 width: 200,\r
75 cell: {\r
76 xtype: 'widgetcell',\r
77 widget: {\r
78 xtype: 'button',\r
79 ui: 'action',\r
80 bind: 'Verify {record.firstName}',\r
81 handler: 'onVerifyTap'\r
82 }\r
83 }\r
84 }]\r
85 }, {\r
86 text: 'Miscellaneous',\r
87 xtype: 'gridheadergroup',\r
88 columns: [{\r
89 text: 'Age',\r
90 tpl: '{age} years',\r
91 align: 'center',\r
92 width: 110,\r
93 dataIndex: 'age',\r
94 summaryType: 'average',\r
95 cell: {\r
96 bind: {\r
97 innerCls: '{ageGroup:pick("under25","under30","under35","over35")}'\r
98 }\r
99 },\r
100\r
101 summaryRenderer: 'ageSummaryRenderer'\r
102 }, {\r
103 text: 'Gender',\r
104 dataIndex: 'gender',\r
105 width: 120,\r
106 align: 'center',\r
107 editable: true,\r
108 editor: {\r
109 xtype: 'selectfield',\r
110 options: [{\r
111 text: 'Male',\r
112 value: 'Male'\r
113 }, {\r
114 text: 'Female',\r
115 value: 'Female'\r
116 }]\r
117 },\r
118\r
119 summaryType: 'genderSummaryType'\r
120 }]\r
121 }, {\r
122 text: 'Company',\r
123 dataIndex: 'company',\r
124 width: 200,\r
125 cell: {\r
126 xtype: 'textcell',\r
127 bind: '{record.company}'\r
128 }\r
129 }, {\r
130 text: 'Registered',\r
131 dataIndex: 'registered',\r
132 width: 120,\r
133 xtype: 'datecolumn',\r
134 format: 'd-m-Y'\r
135 }]\r
136});\r