]> git.proxmox.com Git - extjs.git/blame - extjs/build/examples/classic/grid/list-view.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / examples / classic / grid / list-view.js
CommitLineData
6527f429
DM
1Ext.require([\r
2 'Ext.grid.*',\r
3 'Ext.data.*',\r
4 'Ext.panel.*'\r
5]);\r
6Ext.onReady(function(){\r
7 Ext.define('ImageModel', {\r
8 extend: 'Ext.data.Model',\r
9 fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date', dateFormat:'timestamp'}]\r
10 });\r
11 var store = Ext.create('Ext.data.JsonStore', {\r
12 model: 'ImageModel',\r
13 proxy: {\r
14 type: 'ajax',\r
15 url: 'get-images.php',\r
16 reader: {\r
17 type: 'json',\r
18 rootProperty: 'images'\r
19 }\r
20 }\r
21 });\r
22 store.load();\r
23\r
24 var listView = Ext.create('Ext.grid.Panel', {\r
25 width:425,\r
26 height:250,\r
27 collapsible:true,\r
28 title:'Simple ListView <i>(0 items selected)</i>',\r
29 renderTo: Ext.getBody(),\r
30\r
31 store: store,\r
32 multiSelect: true,\r
33 viewConfig: {\r
34 emptyText: 'No images to display'\r
35 },\r
36\r
37 columns: [{\r
38 text: 'File',\r
39 flex: (Ext.themeName === 'neptune-touch' || Ext.themeName === 'crisp') ? 47: 50,\r
40 dataIndex: 'name'\r
41 },{\r
42 text: 'Last Modified',\r
43 xtype: 'datecolumn',\r
44 format: 'm-d h:i a',\r
45 flex: 35,\r
46 dataIndex: 'lastmod'\r
47 },{\r
48 text: 'Size',\r
49 dataIndex: 'size',\r
50 tpl: '{size:fileSize}',\r
51 align: 'right',\r
52 flex: (Ext.themeName === 'neptune-touch' || Ext.themeName === 'crisp') ? 18: 15,\r
53 cls: 'listview-filesize'\r
54 }]\r
55 });\r
56\r
57 // little bit of feedback\r
58 listView.on('selectionchange', function(view, nodes){\r
59 var len = nodes.length,\r
60 suffix = len === 1 ? '' : 's',\r
61 str = 'Simple ListView <i>({0} item{1} selected)</i>';\r
62 \r
63 listView.setTitle(Ext.String.format(str, len, suffix));\r
64 });\r
65});\r