Ext desktop 图标自动换行代码,,完美解决desktop图
分享于 点击 30949 次 点评:41
Ext desktop 图标自动换行代码,,完美解决desktop图
完美解决desktop图标换行问题 在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); }//该片段来自于http://byrx.net
用户点评