基本上,我有一个类似于的门户网站: http://dev.sencha.com/deploy/dev/examples/portal/portal.html
每个portlet都有工具(就像给出的例子一样)(例如):
var tools = [{
id:'gear',
handler: function(evt, toolEl, panel, tc){
Ext.Msg.alert('Message', 'Replace my icon now please.');
// following 2 code lines is one way to get part way there,
// but it shows the original image when I hover over it
//toolEl.removeClass('x-tool-gear')
//toolEl.addClass('x-tool-maximize')
}
},{
id:'close',
handler: function(e, target, panel){
panel.ownerCt.remove(panel, true);
}
}];
单击“齿轮”工具时,在处理程序中,我想用其他工具(如“最大化”工具)替换“齿轮”工具。
我很感激有关如何实现这一目标的任何建议。
感谢。
答案 0 :(得分:1)
尝试使用此编辑的代码作为工具配置。请注意,这将起作用,但不是“生产就绪”。例如 - 您不希望每次添加侦听器单击该工具。
{
id:'gear',
handler: function(evt, toolEl, panel, tc){
toolEl.removeClass('x-tool-gear');
toolEl.removeClass('x-tool-gear-over');
toolEl.addClass('x-tool-maximize');
toolEl.on('mouseenter', function(e,t,o){
toolEl.removeClass('x-tool-gear-over');
toolEl.addClass('x-tool-maximize-over');
});
toolEl.on('mouseleave', function(e,t,o){
toolEl.removeClass('x-tool-maximize-over');
toolEl.addClass('x-tool-maximize');
});
}
}
答案 1 :(得分:0)
切换面板left // right
Tnx的帮助!
tools:[{
id:'left',
qtip:this.Colapsar,
scope:this,
handler:function(event, toolEl, panel, tc){
panel.getEl().stopFx().shift({
x:-166,
easing:'easeOut',
duration:.35
});
toolEl.dom.qtip = this.Expandir;
toolEl.hide();
panel.tools.right.show();
}
},{
id:'right',
qtip:this.Expandir,
scope:this,
hidden:true,
handler:function(event, toolEl, panel, tc){
panel.getEl().stopFx().shift({
x: 20,
easing: 'easeOut',
duration: .35
});
toolEl.dom.qtip = this.Colapsar;
toolEl.hide();
panel.tools.left.show();
}
}]