Ext.require([
'Ext.grid.*',
'Ext.data.*',
'Ext.panel.*'
]);
Ext.onReady(function(){
Ext.define('ImageModel', {
extend: 'Ext.data.Model',
fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date', dateFormat:'timestamp'}]
});
var store = Ext.create('Ext.data.JsonStore', {
model: 'ImageModel',
proxy: {
type: 'ajax',
url: 'get-images.php',
reader: {
type: 'json',
root: 'images'
}
}
});
store.load();
var listView = Ext.create('Ext.grid.Panel', {
width:425,
height:250,
collapsible:true,
title:'Simple ListView <i>(0 items selected)</i>',
renderTo: Ext.getBody(),
store: store,
multiSelect: true,
viewConfig: {
emptyText: 'No images to display'
},
columns: [{
text: 'File',
flex: 50,
dataIndex: 'name'
},{
text: 'Last Modified',
xtype: 'datecolumn',
format: 'm-d h:i a',
flex: 35,
dataIndex: 'lastmod'
},{
text: 'Size',
dataIndex: 'size',
tpl: '{size:fileSize}',
align: 'right',
flex: 15,
cls: 'listview-filesize'
}]
});
// little bit of feedback
listView.on('selectionchange', function(view, nodes){
var l = nodes.length;
var s = l != 1 ? 's' : '';
listView.setTitle('Simple ListView <i>('+l+' item'+s+' selected)</i>');
});
});
2つのパネルを作成しました。1つは左側のパネル、2つ目は右側のパネルです。
リストビューは左側のパネルに作成され、右側のパネルはページを読み取りますshowimage.php
リストビューはファイルの詳細を表示します。ユーザーがリストビューを選択すると、ファイル名がパラメータ" name
"としてshowimage.phpに渡されます。右側のパネルには、リストビューの選択イベントから渡された名前の画像が表示されます(実際には、名前フィールドにはファイルのIDが保存されています)
質問
1)select list viewイベントを作成する方法、パラメータ名をshowimage.phpに渡すリストビューを選択する場合、右側のパネルでページを更新して画像を表示します。