]> git.proxmox.com Git - extjs.git/blame - extjs/examples/classic/grid/locking-infinite-scroll.js
add extjs 6.0.1 sources
[extjs.git] / extjs / examples / classic / grid / locking-infinite-scroll.js
CommitLineData
6527f429
DM
1Ext.require([\r
2 'Ext.grid.*',\r
3 'Ext.data.*',\r
4 'Ext.util.*'\r
5]);\r
6\r
7Ext.onReady(function(){\r
8 Ext.define('ForumThread', {\r
9 extend: 'Ext.data.Model',\r
10 fields: [\r
11 'title', 'forumtitle', 'forumid', 'username', {\r
12 name: 'replycount', \r
13 type: 'int'\r
14 }, {\r
15 name: 'lastpost', \r
16 mapping: 'lastpost', \r
17 type: 'date', \r
18 dateFormat: 'timestamp'\r
19 },\r
20 'lastposter', 'excerpt', 'threadid'\r
21 ],\r
22 idProperty: 'threadid'\r
23 });\r
24\r
25 // create the Data Store\r
26 var store = Ext.create('Ext.data.BufferedStore', {\r
27 id: 'store',\r
28 model: 'ForumThread',\r
29 remoteSort: true,\r
30 pageSize: 100,\r
31 proxy: {\r
32 // load using script tags for cross domain, if the data in on the same domain as\r
33 // this page, an HttpProxy would be better\r
34 type: 'jsonp',\r
35 url: 'http://www.sencha.com/forum/remote_topics/index.php',\r
36 reader: {\r
37 rootProperty: 'topics',\r
38 totalProperty: 'totalCount'\r
39 },\r
40 // sends single sort as multi parameter\r
41 simpleSortMode: true\r
42 },\r
43 sorters: [{\r
44 property: 'lastpost',\r
45 direction: 'DESC'\r
46 }],\r
47 autoLoad: true\r
48 });\r
49\r
50 function renderTopic(value, p, record) {\r
51 return Ext.String.format(\r
52 '<a href="http://sencha.com/forum/showthread.php?t={2}" target="_blank">{0}</a>',\r
53 value,\r
54 record.data.forumtitle,\r
55 record.getId(),\r
56 record.data.forumid\r
57 );\r
58 }\r
59\r
60 var grid = Ext.create('Ext.grid.Panel', {\r
61 width: 700,\r
62 height: 500,\r
63 collapsible: true,\r
64 title: 'ExtJS.com - Browse Forums',\r
65 store: store,\r
66 loadMask: true,\r
67 selModel: {\r
68 pruneRemoved: false\r
69 },\r
70 multiSelect: true,\r
71 viewConfig: {\r
72 trackOver: false\r
73 },\r
74 // grid columns\r
75 columns:[{\r
76 xtype: 'rownumberer',\r
77 width: 50,\r
78 sortable: false,\r
79 locked: true,\r
80 lockable: false\r
81 },{\r
82 tdCls: 'x-grid-cell-topic',\r
83 text: "Topic",\r
84 dataIndex: 'title',\r
85 flex: 1,\r
86 renderer: renderTopic,\r
87 sortable: false\r
88 },{\r
89 text: "Author",\r
90 dataIndex: 'username',\r
91 width: 100,\r
92 hidden: true,\r
93 sortable: true\r
94 },{\r
95 text: "Replies",\r
96 dataIndex: 'replycount',\r
97 align: 'center',\r
98 width: 70,\r
99 sortable: false\r
100 },{\r
101 id: 'last',\r
102 text: "Last Post",\r
103 dataIndex: 'lastpost',\r
104 width: 130,\r
105 renderer: Ext.util.Format.dateRenderer('n/j/Y g:i A'),\r
106 sortable: true\r
107 }],\r
108 renderTo: Ext.getBody()\r
109 });\r
110});