MyDesktop.DownloadWindow = Ext.extend(Ext.app.Module, {
id : 'download-win',
init : function() {
this.launcher = {
text : '资源下载',
iconCls : 'download-grid',
handler : this.createWindow,
scope : this
}
},
createWindow : function() {
var desktop = this.app.getDesktop();
var win = desktop.getWindow('download-win');
if (!win) {
// 下载列模型
var downloadcolmodel = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer({
header : '序号',
width : 40
}), {
header : "程序名",
width : 100,
sortable : true,
dataIndex : 'softname'
},{
header : "程序大小",
width : 50,
sortable : true,
dataIndex : 'softsize'
},{
header : "时间",
width : 100,
sortable : true,
dataIndex : 'time'
}])
// 下载store
var downloadstore = new Ext.data.JsonStore({
url : 'getalldownloads.action',
root : 'topics',
totalProperty : 'totalProperty',
sortInfo : {
field : "time",
direction : "DESC"
},
id : 'store',
fields : [{
name : 'softname'
}, {
name : 'softsize'
}, {
name : 'id',
type : 'int'
}, {
name : 'time'
}]
})
downloadstore.load({
params : {
start : 0,
limit : 25
}
});
// 分页方法
var pagingBar = new Ext.PagingToolbar({
pageSize : 25,
store : downloadstore,
displayInfo : true,
displayMsg : '显示 {0} - {1} of {2}',
emptyMsg : "No topics to display"
});
// 下载gridpanel
var downloadgridpanel = new Ext.grid.GridPanel({
id : 'newsgrid',
store : downloadstore,
colModel : downloadcolmodel,
stripeRows : true,
monitorResize : true,
height : 490,
viewConfig : {
forceFit : true
},
bbar : pagingBar
})
var download = function(){
var record = downloadgridpanel.getSelectionModel().getSelected();
if(!record){
Ext.Msg.alert("状态","你没有选择要下载的程序");
}else{
window.location.href='download.action?id='+record.get('id')
}
}
downloadgridpanel.on('dblclick',download,this);
var downloadtoolbar = new Ext.Toolbar([{
text : '下载',
tooltip : '下载所选择的资源',
iconCls : 'resourcedownload',
scope : this,
handler : download
}])
win = desktop.createWindow({
id : 'download-win',
title : '资源下载',
width : 600,
height : 300,
iconCls : 'news-grid',
shim : false,
animCollapse : false,
constrainHeader : true,
tbar : downloadtoolbar,
layout : 'fit',
items : [downloadgridpanel]
});
}
win.show();
}
});