Ext.onReady(function(){
    var xd = Ext.data;

    var store = new Ext.data.JsonStore({
        url: 'get-images.php',
        root: 'images',
        fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date', dateFormat:'timestamp'}]
    });
    store.load();

    var tpl = new Ext.XTemplate(
		'',
            '
', '
', '{shortName}
', '
', '
' ); var panel = new Ext.Panel({ id:'images-view', frame:true, width:535, autoHeight:true, collapsible:true, layout:'fit', title:'Simple DataView (0 items selected)', items: new Ext.DataView({ store: store, tpl: tpl, autoHeight:true, multiSelect: true, overClass:'x-view-over', itemSelector:'div.thumb-wrap', emptyText: 'No images to display', plugins: [ new Ext.DataView.DragSelector(), new Ext.DataView.LabelEditor({dataIndex: 'name'}) ], prepareData: function(data){ data.shortName = Ext.util.Format.ellipsis(data.name, 15); data.sizeString = Ext.util.Format.fileSize(data.size); data.dateString = data.lastmod.format("m/d/Y g:i a"); return data; }, listeners: { selectionchange: { fn: function(dv,nodes){ var l = nodes.length; var s = l != 1 ? 's' : ''; panel.setTitle('Simple DataView ('+l+' item'+s+' selected)'); } } } }) }); panel.render(document.body); });