extjs desktop中案頭表徵圖換行

來源:互聯網
上載者:User

標籤:des   style   ext   color   width   get   

在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);
},

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.