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