Ext.onReady(function(){

   
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 listView = new Ext.ListView({
        store
: store,
        multiSelect
: true,
        emptyText
: 'No images to display',
        reserveScrollOffset
: true,

        columns
: [{
            header
: 'File',
            width
: .5,
            dataIndex
: 'name'
       
},{
            header
: 'Last Modified',
            width
: .35,
            dataIndex
: 'lastmod',
            tpl
: '{lastmod:date("m-d h:i a")}'
       
},{
            header
: 'Size',
            dataIndex
: 'size',
            tpl
: '{size:fileSize}',
            align
: 'right'
       
}]
   
});
   
   
// put it in a Panel so it looks pretty
   
var panel = new Ext.Panel({
        id
:'images-view',
        width
:425,
        height
:250,
        collapsible
:true,
        layout
:'fit',
        title
:'Simple ListView (0 items selected)',
        items
: listView
   
});
    panel
.render(document.body);

   
// little bit of feedback
    listView
.on('selectionchange', function(view, nodes){
       
var l = nodes.length;
       
var s = l != 1 ? 's' : '';
        panel
.setTitle('Simple ListView ('+l+' item'+s+' selected)');
   
});
});