This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nms-nmsweb/WebRoot/js/jquery-easyui-1.1.2/plugins/jquery.tabs.js

378 lines
9.3 KiB
JavaScript
Raw Normal View History

2018-09-27 16:21:05 +08:00
/**
* jQuery EasyUI 1.1.2
*
* Licensed under the GPL:
* http://www.gnu.org/licenses/gpl.txt
*
* Copyright 2010 stworthy [ stworthy@gmail.com ]
*
*/
(function($){
function _1(_2){
var _3=$(">div.tabs-header",_2);
var _4=0;
$("ul.tabs li",_3).each(function(){
_4+=$(this).outerWidth(true);
});
var _5=$("div.tabs-wrap",_3).width();
var _6=parseInt($("ul.tabs",_3).css("padding-left"));
return _4-_5+_6;
};
function _7(_8){
var _9=$(">div.tabs-header",_8);
var _a=0;
$("ul.tabs li",_9).each(function(){
_a+=$(this).outerWidth(true);
});
if(_a>_9.width()){
$(".tabs-scroller-left",_9).css("display","block");
$(".tabs-scroller-right",_9).css("display","block");
$(".tabs-wrap",_9).addClass("tabs-scrolling");
if($.boxModel==true){
$(".tabs-wrap",_9).css("left",2);
}else{
$(".tabs-wrap",_9).css("left",0);
}
var _b=_9.width()-$(".tabs-scroller-left",_9).outerWidth()-$(".tabs-scroller-right",_9).outerWidth();
$(".tabs-wrap",_9).width(_b);
}else{
$(".tabs-scroller-left",_9).css("display","none");
$(".tabs-scroller-right",_9).css("display","none");
$(".tabs-wrap",_9).removeClass("tabs-scrolling").scrollLeft(0);
$(".tabs-wrap",_9).width(_9.width());
$(".tabs-wrap",_9).css("left",0);
}
};
function _c(_d){
var _e=$.data(_d,"tabs").options;
var cc=$(_d);
if(_e.fit==true){
var p=cc.parent();
_e.width=p.width();
_e.height=p.height();
}
cc.width(_e.width).height(_e.height);
var _f=$(">div.tabs-header",_d);
if($.boxModel==true){
_f.width(_e.width-(_f.outerWidth()-_f.width()));
}else{
_f.width(_e.width);
}
_7(_d);
var _10=$(">div.tabs-panels",_d);
var _11=_e.height;
if(!isNaN(_11)){
if($.boxModel==true){
var _12=_10.outerHeight()-_10.height();
_10.css("height",(_11-_f.outerHeight()-_12)||"auto");
}else{
_10.css("height",_11-_f.outerHeight());
}
}else{
_10.height("auto");
}
var _13=_e.width;
if(!isNaN(_13)){
if($.boxModel==true){
_10.width(_13-(_10.outerWidth()-_10.width()));
}else{
_10.width(_13);
}
}else{
_10.width("auto");
}
};
function _14(_15){
var _16=$.data(_15,"tabs").options;
var tab=_17(_15);
if(tab){
var _18=$(_15).find(">div.tabs-panels");
var _19=_16.width=="auto"?"auto":_18.width();
var _1a=_16.height=="auto"?"auto":_18.height();
tab.panel("resize",{width:_19,height:_1a});
}
};
function _1b(_1c){
var cc=$(_1c);
cc.addClass("tabs-container");
cc.wrapInner("<div class=\"tabs-panels\"/>");
$("<div class=\"tabs-header\">"+"<div class=\"tabs-scroller-left\"></div>"+"<div class=\"tabs-scroller-right\"></div>"+"<div class=\"tabs-wrap\">"+"<ul class=\"tabs\"></ul>"+"</div>"+"</div>").prependTo(_1c);
var _1d=[];
var _1e=$(">div.tabs-header",_1c);
$(">div.tabs-panels>div",_1c).each(function(){
var pp=$(this);
_1d.push(pp);
_2b(_1c,pp);
});
$(".tabs-scroller-left, .tabs-scroller-right",_1e).hover(function(){
$(this).addClass("tabs-scroller-over");
},function(){
$(this).removeClass("tabs-scroller-over");
});
cc.bind("_resize",function(){
var _1f=$.data(_1c,"tabs").options;
if(_1f.fit==true){
_c(_1c);
_14(_1c);
}
return false;
});
return _1d;
};
function _20(_21){
var _22=$.data(_21,"tabs").options;
var _23=$(">div.tabs-header",_21);
var _24=$(">div.tabs-panels",_21);
if(_22.plain==true){
_23.addClass("tabs-header-plain");
}else{
_23.removeClass("tabs-header-plain");
}
if(_22.border==true){
_23.removeClass("tabs-header-noborder");
_24.removeClass("tabs-panels-noborder");
}else{
_23.addClass("tabs-header-noborder");
_24.addClass("tabs-panels-noborder");
}
$(".tabs-scroller-left",_23).unbind(".tabs").bind("click.tabs",function(){
var _25=$(".tabs-wrap",_23);
var pos=_25.scrollLeft()-_22.scrollIncrement;
_25.animate({scrollLeft:pos},_22.scrollDuration);
});
$(".tabs-scroller-right",_23).unbind(".tabs").bind("click.tabs",function(){
var _26=$(".tabs-wrap",_23);
var pos=Math.min(_26.scrollLeft()+_22.scrollIncrement,_1(_21));
_26.animate({scrollLeft:pos},_22.scrollDuration);
});
var _27=$.data(_21,"tabs").tabs;
for(var i=0,len=_27.length;i<len;i++){
var _28=_27[i];
var tab=_28.panel("options").tab;
var _29=_28.panel("options").title;
tab.unbind(".tabs").bind("click.tabs",{title:_29},function(e){
_39(_21,e.data.title);
});
tab.find("a.tabs-close").unbind(".tabs").bind("click.tabs",{title:_29},function(e){
_2a(_21,e.data.title);
return false;
});
}
};
function _2b(_2c,pp,_2d){
_2d=_2d||{};
pp.panel($.extend({},{selected:pp.attr("selected")=="true"},_2d,{border:false,noheader:true,closed:true,doSize:false,iconCls:(_2d.icon?_2d.icon:undefined),onLoad:function(){
$.data(_2c,"tabs").options.onLoad.call(_2c,pp);
}}));
var _2e=pp.panel("options");
var _2f=$(">div.tabs-header",_2c);
var _30=$("ul.tabs",_2f);
var tab=$("<li></li>").appendTo(_30);
var _31=$("<a href=\"javascript:void(0)\" class=\"tabs-inner\"></a>").appendTo(tab);
var _32=$("<span class=\"tabs-title\"></span>").html(_2e.title).appendTo(_31);
var _33=$("<span class=\"tabs-icon\"></span>").appendTo(_31);
if(_2e.closable){
_32.addClass("tabs-closable");
$("<a href=\"javascript:void(0)\" class=\"tabs-close\"></a>").appendTo(tab);
}
if(_2e.iconCls){
_32.addClass("tabs-with-icon");
_33.addClass(_2e.iconCls);
}
_2e.tab=tab;
};
function _34(_35,_36){
var _37=$.data(_35,"tabs").options;
var _38=$.data(_35,"tabs").tabs;
var pp=$("<div></div>").appendTo($(">div.tabs-panels",_35));
_38.push(pp);
_2b(_35,pp,_36);
_37.onAdd.call(_35,_36.title);
_7(_35);
_20(_35);
_39(_35,_36.title);
};
function _3a(_3b,_3c){
var pp=_3c.tab;
pp.panel($.extend({},_3c.options,{iconCls:(_3c.options.icon?_3c.options.icon:undefined)}));
var _3d=pp.panel("options");
var tab=_3d.tab;
tab.find("span.tabs-icon").attr("class","tabs-icon");
tab.find("a.tabs-close").remove();
tab.find("span.tabs-title").html(_3d.title);
if(_3d.closable){
tab.find("span.tabs-title").addClass("tabs-closable");
$("<a href=\"javascript:void(0)\" class=\"tabs-close\"></a>").appendTo(tab);
}else{
tab.find("span.tabs-title").removeClass("tabs-closable");
}
if(_3d.iconCls){
tab.find("span.tabs-title").addClass("tabs-with-icon");
tab.find("span.tabs-icon").addClass(_3d.iconCls);
}else{
tab.find("span.tabs-title").removeClass("tabs-with-icon");
}
_20(_3b);
$.data(_3b,"tabs").options.onUpdate.call(_3b,_3d.title);
};
function _2a(_3e,_3f){
var _40=$.data(_3e,"tabs").options;
var _41=$.data(_3e,"tabs").tabs;
var tab=_42(_3e,_3f,true);
if(!tab){
return;
}
if(_40.onBeforeClose.call(_3e,_3f)==false){
return;
}
tab.panel("options").tab.remove();
tab.panel("destroy");
_40.onClose.call(_3e,_3f);
_7(_3e);
var _43=_17(_3e);
if(_43){
_39(_3e,_43.panel("options").title);
}else{
if(_41.length){
_39(_3e,_41[0].panel("options").title);
}
}
};
function _42(_44,_45,_46){
var _47=$.data(_44,"tabs").tabs;
for(var i=0;i<_47.length;i++){
var tab=_47[i];
if(tab.panel("options").title==_45){
if(_46){
_47.splice(i,1);
}
return tab;
}
}
return null;
};
function _17(_48){
var _49=$.data(_48,"tabs").tabs;
for(var i=0;i<_49.length;i++){
var tab=_49[i];
if(tab.panel("options").closed==false){
return tab;
}
}
return null;
};
function _4a(_4b){
var _4c=$.data(_4b,"tabs").tabs;
for(var i=0;i<_4c.length;i++){
var tab=_4c[i];
if(tab.panel("options").selected){
_39(_4b,tab.panel("options").title);
return;
}
}
if(_4c.length){
_39(_4b,_4c[0].panel("options").title);
}
};
function _39(_4d,_4e){
var _4f=$.data(_4d,"tabs").options;
var _50=$.data(_4d,"tabs").tabs;
if(_50.length==0){
return;
}
var _51=_42(_4d,_4e);
if(!_51){
return;
}
var _52=_17(_4d);
if(_52){
_52.panel("close");
_52.panel("options").tab.removeClass("tabs-selected");
}
_51.panel("open");
var tab=_51.panel("options").tab;
tab.addClass("tabs-selected");
var _53=$(_4d).find(">div.tabs-header div.tabs-wrap");
var _54=tab.position().left+_53.scrollLeft();
var _55=_54-_53.scrollLeft();
var _56=_55+tab.outerWidth();
if(_55<0||_56>_53.innerWidth()){
var pos=Math.min(_54-(_53.width()-tab.width())/2,_1(_4d));
_53.animate({scrollLeft:pos},_4f.scrollDuration);
}else{
var pos=Math.min(_53.scrollLeft(),_1(_4d));
_53.animate({scrollLeft:pos},_4f.scrollDuration);
}
_14(_4d);
_4f.onSelect.call(_4d,_4e);
};
function _57(_58,_59){
return _42(_58,_59)!=null;
};
$.fn.tabs=function(_5a,_5b){
if(typeof _5a=="string"){
switch(_5a){
case "options":
return $.data(this[0],"tabs").options;
case "tabs":
return $.data(this[0],"tabs").tabs;
case "resize":
return this.each(function(){
_c(this);
_14(this);
});
case "add":
return this.each(function(){
_34(this,_5b);
});
case "close":
return this.each(function(){
_2a(this,_5b);
});
case "getTab":
return _42(this[0],_5b);
case "getSelected":
return _17(this[0]);
case "select":
return this.each(function(){
_39(this,_5b);
});
case "exists":
return _57(this[0],_5b);
case "update":
return this.each(function(){
_3a(this,_5b);
});
}
}
_5a=_5a||{};
return this.each(function(){
var _5c=$.data(this,"tabs");
var _5d;
if(_5c){
_5d=$.extend(_5c.options,_5a);
_5c.options=_5d;
}else{
var t=$(this);
_5d=$.extend({},$.fn.tabs.defaults,{width:(parseInt(t.css("width"))||undefined),height:(parseInt(t.css("height"))||undefined),fit:(t.attr("fit")?t.attr("fit")=="true":undefined),border:(t.attr("border")?t.attr("border")=="true":undefined),plain:(t.attr("plain")?t.attr("plain")=="true":undefined)},_5a);
var _5e=_1b(this);
_5c=$.data(this,"tabs",{options:_5d,tabs:_5e});
}
_20(this);
_c(this);
var _5f=this;
setTimeout(function(){
_4a(_5f);
},0);
});
};
$.fn.tabs.defaults={width:"auto",height:"auto",idSeed:0,plain:false,fit:false,border:true,scrollIncrement:100,scrollDuration:400,onLoad:function(_60){
},onSelect:function(_61){
},onBeforeClose:function(_62){
},onClose:function(_63){
},onAdd:function(_64){
},onUpdate:function(_65){
}};
})(jQuery);