extjs desktop中桌面图标换行

时间:2014-05-02 13:28:43   收藏:0   阅读:490

在Desktop.js中扩展一个函数

initShortCut : function() {
var btnHeight = 64;
var btnWidth = 64;
var btnPadding = 30;
var col = {
index : 1,
x : btnPadding
};
var row = {
index : 1,
y : btnPadding
};
var bottom;
var numberOfItems = 0;
var taskBarHeight = Ext.query(".ux-taskbar")[0].clientHeight + 40;
var bodyHeight = Ext.getBody().getHeight()- taskBarHeight;
var items = Ext.query(".ux-desktop-shortcut");
for ( var i = 0, len = items.length; i < len; i++) {
numberOfItems += 1;
bottom = row.y + btnHeight;
if (((bodyHeight < bottom) ? true : false)
&& bottom > (btnHeight + btnPadding)) {
numberOfItems = 0;
col = {
index : col.index++,
x : col.x + btnWidth + btnPadding
};
row = {
index : 1,
y : btnPadding
};
}
Ext.fly(items[i]).setXY([ col.x, row.y ]);
row.index++;
row.y = row.y + btnHeight + btnPadding;
}
}

 

在createDataView 中添加一个监听

createDataView : function() {
var me = this;
return {
xtype : ‘dataview‘,
overItemCls : ‘x-view-over‘,
trackOver : true,
itemSelector : me.shortcutItemSelector,
store : me.shortcuts,
tpl : new Ext.XTemplate(me.shortcutTpl),
listeners : {
resize : me.initShortCut
}
};
},

在afterRender 渲染结束时调用函数

afterRender : function() {
var me = this;
me.callParent();
me.el.on(‘contextmenu‘, me.onDesktopMenu, me);
Ext.Function.defer(me.initShortCut, 1);
},

extjs desktop中桌面图标换行,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!