ExtJS的
桌面演示,
默认的
图标是不行了,它会导致如果图标在桌面上的太多,当超出桌面面积,会导致图标覆盖超越桌面
区域将
任务栏的块的一部分,下面的代码来
解决这个问题。
首先,在desktop.js
扩展功能。
复制代码代码如下所示:
InitShortcut:
函数(){
无功btnheight = 64;
无功btnwidth = 64;
无功btnpadding = 30;
VaR col = {指数:1,X:btnpadding };
无功行= {指数:1,Y:btnpadding };
无功底;
无功numberofitems = 0;
无功taskbarheight = ext.query(。UX任务栏){ 0 }自己+ 40;
VaR指标= ext.getbody()GetHeight()- taskbarheight;
可变项目= ext.query(。UX桌面
快捷方式);
对于(var i = 0,len = items.length;我< len;i++){
numberofitems = 1;
底= y + btnheight行;
如果((((身高(btnheight + btnpadding)){
numberofitems = 0;
Col = {指数:col.index + +,X:col.x + btnwidth + btnpadding };
行= {指数:1,Y:btnpadding };
}
Ext.fly(项{我})。SetXY({ col.x,行Y });
行+索引+;
行。Y = y + btnheight + btnpadding行;
}
}
然后,在createdataview
方法在当前的JS
文件,添加一个监听器。
复制代码代码如下所示:
CreateDataView:函数(){
我=这个;
返回{
Xtype:'dataview,
overitemcls:'x-view-over,
TrackOver:真的,
itemselector:me.shortcutitemselector,
店:me.shortcuts,
物流:新ext.xtemplate(我shortcuttpl),
听众:{
调整:me.initshortcut
}
};
}
此外,在函数调用结束时的afterrender渲染。
复制代码代码如下所示:
afterrender:函数(){
我=这个;
Me.callParent();
Me.el.on('contextmenu ',me.ondesktopmenu,我);
Ext.Function.defer(me.initshortcut,1);
}