easyui layout折叠后显示标题 的增强

[url=http://www.jeasyuicn.com/layout-folding-after-the-show-title.html]layout折叠后显示标题[/url] 请参照夏悸老大的博客

但本人在使用过程中遇到了一个问题,如果layout中的region设置了collapsible:true,即初始化时面板是折叠的,则无法正常显示title,为此在原作者的方案基础上进行了补强。

源码中的_39d(dir)改为_39d(dir,_title),传入title,
源码中4901 - 4903行
var _39c="expand"+_398.substring(0,1).toUpperCase()+_398.substring(1);
if(!_39a[_39c]){
_39a[_39c]=_39d(_398);

改为
var _39c="expand"+_398.substring(0,1).toUpperCase()+_398.substring(1);
var _title = _39b.title?_39b.title:" "
if(!_39a[_39c]){
_39a[_39c]=_39d(_398,_title);


源码中的4931 - 4951行
function _39d(dir){
var icon;
if(dir=="east"){
icon="layout-button-left";
}else{
if(dir=="west"){
icon="layout-button-right";
}else{
if(dir=="north"){
icon="layout-button-down";
}else{
if(dir=="south"){
icon="layout-button-up";
}
}
}
}
var p=$("<div></div>").appendTo(_397);
p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:" ",closed:true,minWidth:0,minHeight:0,doSize:false,tools:[{iconCls:icon,handler:function(){
_3a6(_397,_398);
return false;

改为
function _39d(dir,_title){
var icon;
if(dir=="east"){
icon="layout-button-left";
}else{
if(dir=="west"){
icon="layout-button-right";
}else{
if(dir=="north"){
icon="layout-button-down";
}else{
if(dir=="south"){
icon="layout-button-up";
}
}
}
}
var p=$("<div></div>").appendTo(_397);
p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:_title,closed:true,minWidth:0,minHeight:0,doSize:false,tools:[{iconCls:icon,handler:function(){
_3a6(_397,_398);
return false;


原扩展增加了expandPanel.panel("setTitle", " ");恢复原状

//在layout的panle全局配置中,增加一个onCollapse处理title
$.extend($.fn.layout.paneldefaults, {
onCollapse : function(){
//获取layout容器
var layout = $(this).parents("body.layout");
if(layout.length == 0) layout = $(this).parents("div.layout");
//获取当前region的配置属性
var opts = $(this).panel("options");
//获取key
var expandKey = "expand" + opts.region.substring(0, 1).toUpperCase() + opts.region.substring(1);
//从layout的缓存对象中取得对应的收缩对象
var expandPanel = layout.data("layout").panels[expandKey];
//针对横向和竖向的不同处理方式
if (opts.region == "west" || opts.region == "east") {
//竖向的文字打竖,其实就是切割文字加br
if(opts && opts.title){
var split = [];
for (var i = 0; i < opts.title.length; i++) {
split.push(opts.title.substring(i, i + 1));
}
if(expandPanel){
expandPanel.panel("setTitle", " ");
expandPanel.panel("body").addClass("panel-title").css("text-align", "center").html(split.join("<br>"));
}
}
} else {
if(expandPanel){
expandPanel.panel("setTitle", opts.title);
}
}
}
});


这段代码是基于easyui1.4,解决了面板初始化时collapsed无法显示title的问题,其他版本没做测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值