]> git.proxmox.com Git - extjs.git/blame - extjs/examples/kitchensink/classic/samples/view/grid/ProgressBarPager.js
add extjs 6.0.1 sources
[extjs.git] / extjs / examples / kitchensink / classic / samples / view / grid / ProgressBarPager.js
CommitLineData
6527f429
DM
1/**\r
2 * This example demonstrates using a custom paging display.\r
3 */\r
4Ext.define('KitchenSink.view.grid.ProgressBarPager', {\r
5 extend: 'Ext.grid.Panel',\r
6 \r
7 requires: [\r
8 'Ext.data.*',\r
9 'Ext.grid.*',\r
10 'Ext.util.*',\r
11 'Ext.toolbar.Paging',\r
12 'Ext.ux.ProgressBarPager',\r
13 'KitchenSink.model.Company'\r
14 ],\r
15 xtype: 'progress-bar-pager',\r
16 //<example>\r
17 exampleTitle: 'Progress Bar Pager Extension',\r
18 otherContent: [{\r
19 type: 'Model',\r
20 path: 'classic/samples/model/Company.js'\r
21 }],\r
22 profiles: {\r
23 classic: {\r
24 width: 600,\r
25 percentChangeColumnWidth: 75,\r
26 lastUpdatedColumnWidth: 85\r
27 },\r
28 neptune: {\r
29 width: 650,\r
30 percentChangeColumnWidth: 100,\r
31 lastUpdatedColumnWidth: 115\r
32 }\r
33 },\r
34 //</example>\r
35 height: 320,\r
36 frame: true,\r
37 title: 'Progress Bar Pager',\r
38 \r
39 initComponent: function() {\r
40 this.width = this.profileInfo.width;\r
41 \r
42 var store = new Ext.data.Store({\r
43 model: KitchenSink.model.Company,\r
44 remoteSort: true,\r
45 pageSize: 10,\r
46 proxy: {\r
47 type: 'memory',\r
48 enablePaging: true,\r
49 data: KitchenSink.data.DataSets.company,\r
50 reader: {\r
51 type: 'array'\r
52 }\r
53 }\r
54 });\r
55 \r
56 Ext.apply(this, {\r
57 store: store,\r
58 columns: [{ \r
59 text: 'Company',\r
60 sortable: true,\r
61 dataIndex: 'name',\r
62 flex: 1\r
63 },{\r
64 text: 'Price',\r
65 sortable: true,\r
66 formatter: 'usMoney',\r
67 dataIndex: 'price',\r
68 width: 75\r
69 },{\r
70 text: 'Change',\r
71 sortable: true,\r
72 renderer: this.changeRenderer,\r
73 dataIndex: 'change',\r
74 width: 80\r
75 },{\r
76 text: '% Change',\r
77 sortable: true,\r
78 renderer: this.pctChangeRenderer,\r
79 dataIndex: 'pctChange',\r
80 width: this.profileInfo.percentChangeColumnWidth\r
81 },{\r
82 text: 'Last Updated',\r
83 sortable: true,\r
84 dataIndex: 'lastChange',\r
85 width: this.profileInfo.lastUpdatedColumnWidth,\r
86 formatter: 'date("m/d/Y")'\r
87 }],\r
88 bbar: {\r
89 xtype: 'pagingtoolbar',\r
90 pageSize: 10,\r
91 store: store,\r
92 displayInfo: true,\r
93 plugins: new Ext.ux.ProgressBarPager()\r
94 }\r
95 });\r
96 this.callParent();\r
97 },\r
98 \r
99 afterRender: function(){\r
100 this.callParent(arguments);\r
101 this.getStore().load();\r
102 },\r
103 \r
104 changeRenderer: function(val) {\r
105 if (val > 0) {\r
106 return '<span style="color:green;">' + val + '</span>';\r
107 } else if(val < 0) {\r
108 return '<span style="color:red;">' + val + '</span>';\r
109 }\r
110 return val;\r
111 },\r
112 \r
113 pctChangeRenderer: function(val){\r
114 if (val > 0) {\r
115 return '<span style="color:green;">' + val + '%</span>';\r
116 } else if(val < 0) {\r
117 return '<span style="color:red;">' + val + '%</span>';\r
118 }\r
119 return val;\r
120 }\r
121});\r