]> git.proxmox.com Git - extjs.git/blame - extjs/build/examples/classic/view/data-view.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / examples / classic / view / data-view.js
CommitLineData
6527f429
DM
1Ext.require([\r
2 'Ext.data.*',\r
3 'Ext.util.*',\r
4 'Ext.view.View',\r
5 'Ext.ux.DataView.DragSelector',\r
6 'Ext.ux.DataView.LabelEditor'\r
7]);\r
8\r
9Ext.onReady(function(){\r
10 ImageModel = Ext.define('ImageModel', {\r
11 extend: 'Ext.data.Model',\r
12 fields: [\r
13 {name: 'name'},\r
14 {name: 'url'},\r
15 {name: 'size', type: 'float'},\r
16 {name:'lastmod', type:'date', dateFormat:'timestamp'}\r
17 ]\r
18 });\r
19\r
20 var store = Ext.create('Ext.data.Store', {\r
21 model: 'ImageModel',\r
22 proxy: {\r
23 type: 'ajax',\r
24 url: 'get-images.php',\r
25 reader: {\r
26 type: 'json',\r
27 rootProperty: 'images'\r
28 }\r
29 }\r
30 });\r
31 store.load();\r
32\r
33 Ext.create('Ext.Panel', {\r
34 id: 'images-view',\r
35 frame: true,\r
36 collapsible: true,\r
37 width: 535,\r
38 renderTo: 'dataview-example',\r
39 title: 'Simple DataView (0 items selected)',\r
40 items: Ext.create('Ext.view.View', {\r
41 store: store,\r
42 tpl: [\r
43 '<tpl for=".">',\r
44 '<div class="thumb-wrap" id="{name:stripTags}">',\r
45 '<div class="thumb"><img src="{url}" title="{name:htmlEncode}"></div>',\r
46 '<span class="x-editable">{shortName:htmlEncode}</span>',\r
47 '</div>',\r
48 '</tpl>',\r
49 '<div class="x-clear"></div>'\r
50 ],\r
51 selectionModel: {\r
52 mode : 'MULTI'\r
53 },\r
54 height: 310,\r
55 trackOver: true,\r
56 overItemCls: 'x-item-over',\r
57 itemSelector: 'div.thumb-wrap',\r
58 emptyText: 'No images to display',\r
59 plugins: [\r
60 Ext.create('Ext.ux.DataView.DragSelector', {}),\r
61 Ext.create('Ext.ux.DataView.LabelEditor', {dataIndex: 'name'})\r
62 ],\r
63 prepareData: function(data) {\r
64 Ext.apply(data, {\r
65 shortName: Ext.util.Format.ellipsis(data.name, 15),\r
66 sizeString: Ext.util.Format.fileSize(data.size),\r
67 dateString: Ext.util.Format.date(data.lastmod, "m/d/Y g:i a")\r
68 });\r
69 return data;\r
70 },\r
71 listeners: {\r
72 selectionchange: function(dv, nodes ){\r
73 var l = nodes.length,\r
74 s = l !== 1 ? 's' : '';\r
75 this.up('panel').setTitle('Simple DataView (' + l + ' item' + s + ' selected)');\r
76 }\r
77 }\r
78 })\r
79 });\r
80});