123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350 |
- /**
- * EasyUI for jQuery 1.5.5.6
- *
- * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved.
- *
- * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
- * To use it on other terms please contact us: info@jeasyui.com
- *
- */
- (function($){
- function _1(_2,_3){
- var _4=$.data(_2,"accordion");
- var _5=_4.options;
- var _6=_4.panels;
- var cc=$(_2);
- var _7=(_5.halign=="left"||_5.halign=="right");
- cc.children(".panel-last").removeClass("panel-last");
- cc.children(".panel:last").addClass("panel-last");
- if(_3){
- $.extend(_5,{width:_3.width,height:_3.height});
- }
- cc._size(_5);
- var _8=0;
- var _9="auto";
- var _a=cc.find(">.panel>.accordion-header");
- if(_a.length){
- if(_7){
- $(_6[0]).panel("resize",{width:cc.width(),height:cc.height()});
- _8=$(_a[0])._outerWidth();
- }else{
- _8=$(_a[0]).css("height","")._outerHeight();
- }
- }
- if(!isNaN(parseInt(_5.height))){
- if(_7){
- _9=cc.width()-_8*_a.length;
- }else{
- _9=cc.height()-_8*_a.length;
- }
- }
- _b(true,_9-_b(false));
- function _b(_c,_d){
- var _e=0;
- for(var i=0;i<_6.length;i++){
- var p=_6[i];
- if(_7){
- var h=p.panel("header")._outerWidth(_8);
- }else{
- var h=p.panel("header")._outerHeight(_8);
- }
- if(p.panel("options").collapsible==_c){
- var _f=isNaN(_d)?undefined:(_d+_8*h.length);
- if(_7){
- p.panel("resize",{height:cc.height(),width:(_c?_f:undefined)});
- _e+=p.panel("panel")._outerWidth()-_8*h.length;
- }else{
- p.panel("resize",{width:cc.width(),height:(_c?_f:undefined)});
- _e+=p.panel("panel").outerHeight()-_8*h.length;
- }
- }
- }
- return _e;
- };
- };
- function _10(_11,_12,_13,all){
- var _14=$.data(_11,"accordion").panels;
- var pp=[];
- for(var i=0;i<_14.length;i++){
- var p=_14[i];
- if(_12){
- if(p.panel("options")[_12]==_13){
- pp.push(p);
- }
- }else{
- if(p[0]==$(_13)[0]){
- return i;
- }
- }
- }
- if(_12){
- return all?pp:(pp.length?pp[0]:null);
- }else{
- return -1;
- }
- };
- function _15(_16){
- return _10(_16,"collapsed",false,true);
- };
- function _17(_18){
- var pp=_15(_18);
- return pp.length?pp[0]:null;
- };
- function _19(_1a,_1b){
- return _10(_1a,null,_1b);
- };
- function _1c(_1d,_1e){
- var _1f=$.data(_1d,"accordion").panels;
- if(typeof _1e=="number"){
- if(_1e<0||_1e>=_1f.length){
- return null;
- }else{
- return _1f[_1e];
- }
- }
- return _10(_1d,"title",_1e);
- };
- function _20(_21){
- var _22=$.data(_21,"accordion").options;
- var cc=$(_21);
- if(_22.border){
- cc.removeClass("accordion-noborder");
- }else{
- cc.addClass("accordion-noborder");
- }
- };
- function _23(_24){
- var _25=$.data(_24,"accordion");
- var cc=$(_24);
- cc.addClass("accordion");
- _25.panels=[];
- cc.children("div").each(function(){
- var _26=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)});
- var pp=$(this);
- _25.panels.push(pp);
- _28(_24,pp,_26);
- });
- cc.bind("_resize",function(e,_27){
- if($(this).hasClass("easyui-fluid")||_27){
- _1(_24);
- }
- return false;
- });
- };
- function _28(_29,pp,_2a){
- var _2b=$.data(_29,"accordion").options;
- pp.panel($.extend({},{collapsible:true,minimizable:false,maximizable:false,closable:false,doSize:false,collapsed:true,headerCls:"accordion-header",bodyCls:"accordion-body",halign:_2b.halign},_2a,{onBeforeExpand:function(){
- if(_2a.onBeforeExpand){
- if(_2a.onBeforeExpand.call(this)==false){
- return false;
- }
- }
- if(!_2b.multiple){
- var all=$.grep(_15(_29),function(p){
- return p.panel("options").collapsible;
- });
- for(var i=0;i<all.length;i++){
- _34(_29,_19(_29,all[i]));
- }
- }
- var _2c=$(this).panel("header");
- _2c.addClass("accordion-header-selected");
- _2c.find(".accordion-collapse").removeClass("accordion-expand");
- },onExpand:function(){
- $(_29).find(">.panel-last>.accordion-header").removeClass("accordion-header-border");
- if(_2a.onExpand){
- _2a.onExpand.call(this);
- }
- _2b.onSelect.call(_29,$(this).panel("options").title,_19(_29,this));
- },onBeforeCollapse:function(){
- if(_2a.onBeforeCollapse){
- if(_2a.onBeforeCollapse.call(this)==false){
- return false;
- }
- }
- $(_29).find(">.panel-last>.accordion-header").addClass("accordion-header-border");
- var _2d=$(this).panel("header");
- _2d.removeClass("accordion-header-selected");
- _2d.find(".accordion-collapse").addClass("accordion-expand");
- },onCollapse:function(){
- if(isNaN(parseInt(_2b.height))){
- $(_29).find(">.panel-last>.accordion-header").removeClass("accordion-header-border");
- }
- if(_2a.onCollapse){
- _2a.onCollapse.call(this);
- }
- _2b.onUnselect.call(_29,$(this).panel("options").title,_19(_29,this));
- }}));
- var _2e=pp.panel("header");
- var _2f=_2e.children("div.panel-tool");
- _2f.children("a.panel-tool-collapse").hide();
- var t=$("<a href=\"javascript:;\"></a>").addClass("accordion-collapse accordion-expand").appendTo(_2f);
- t.bind("click",function(){
- _30(pp);
- return false;
- });
- pp.panel("options").collapsible?t.show():t.hide();
- if(_2b.halign=="left"||_2b.halign=="right"){
- t.hide();
- }
- _2e.click(function(){
- _30(pp);
- return false;
- });
- function _30(p){
- var _31=p.panel("options");
- if(_31.collapsible){
- var _32=_19(_29,p);
- if(_31.collapsed){
- _33(_29,_32);
- }else{
- _34(_29,_32);
- }
- }
- };
- };
- function _33(_35,_36){
- var p=_1c(_35,_36);
- if(!p){
- return;
- }
- _37(_35);
- var _38=$.data(_35,"accordion").options;
- p.panel("expand",_38.animate);
- };
- function _34(_39,_3a){
- var p=_1c(_39,_3a);
- if(!p){
- return;
- }
- _37(_39);
- var _3b=$.data(_39,"accordion").options;
- p.panel("collapse",_3b.animate);
- };
- function _3c(_3d){
- var _3e=$.data(_3d,"accordion").options;
- $(_3d).find(">.panel-last>.accordion-header").addClass("accordion-header-border");
- var p=_10(_3d,"selected",true);
- if(p){
- _3f(_19(_3d,p));
- }else{
- _3f(_3e.selected);
- }
- function _3f(_40){
- var _41=_3e.animate;
- _3e.animate=false;
- _33(_3d,_40);
- _3e.animate=_41;
- };
- };
- function _37(_42){
- var _43=$.data(_42,"accordion").panels;
- for(var i=0;i<_43.length;i++){
- _43[i].stop(true,true);
- }
- };
- function add(_44,_45){
- var _46=$.data(_44,"accordion");
- var _47=_46.options;
- var _48=_46.panels;
- if(_45.selected==undefined){
- _45.selected=true;
- }
- _37(_44);
- var pp=$("<div></div>").appendTo(_44);
- _48.push(pp);
- _28(_44,pp,_45);
- _1(_44);
- _47.onAdd.call(_44,_45.title,_48.length-1);
- if(_45.selected){
- _33(_44,_48.length-1);
- }
- };
- function _49(_4a,_4b){
- var _4c=$.data(_4a,"accordion");
- var _4d=_4c.options;
- var _4e=_4c.panels;
- _37(_4a);
- var _4f=_1c(_4a,_4b);
- var _50=_4f.panel("options").title;
- var _51=_19(_4a,_4f);
- if(!_4f){
- return;
- }
- if(_4d.onBeforeRemove.call(_4a,_50,_51)==false){
- return;
- }
- _4e.splice(_51,1);
- _4f.panel("destroy");
- if(_4e.length){
- _1(_4a);
- var _52=_17(_4a);
- if(!_52){
- _33(_4a,0);
- }
- }
- _4d.onRemove.call(_4a,_50,_51);
- };
- $.fn.accordion=function(_53,_54){
- if(typeof _53=="string"){
- return $.fn.accordion.methods[_53](this,_54);
- }
- _53=_53||{};
- return this.each(function(){
- var _55=$.data(this,"accordion");
- if(_55){
- $.extend(_55.options,_53);
- }else{
- $.data(this,"accordion",{options:$.extend({},$.fn.accordion.defaults,$.fn.accordion.parseOptions(this),_53),accordion:$(this).addClass("accordion"),panels:[]});
- _23(this);
- }
- _20(this);
- _1(this);
- _3c(this);
- });
- };
- $.fn.accordion.methods={options:function(jq){
- return $.data(jq[0],"accordion").options;
- },panels:function(jq){
- return $.data(jq[0],"accordion").panels;
- },resize:function(jq,_56){
- return jq.each(function(){
- _1(this,_56);
- });
- },getSelections:function(jq){
- return _15(jq[0]);
- },getSelected:function(jq){
- return _17(jq[0]);
- },getPanel:function(jq,_57){
- return _1c(jq[0],_57);
- },getPanelIndex:function(jq,_58){
- return _19(jq[0],_58);
- },select:function(jq,_59){
- return jq.each(function(){
- _33(this,_59);
- });
- },unselect:function(jq,_5a){
- return jq.each(function(){
- _34(this,_5a);
- });
- },add:function(jq,_5b){
- return jq.each(function(){
- add(this,_5b);
- });
- },remove:function(jq,_5c){
- return jq.each(function(){
- _49(this,_5c);
- });
- }};
- $.fn.accordion.parseOptions=function(_5d){
- var t=$(_5d);
- return $.extend({},$.parser.parseOptions(_5d,["width","height","halign",{fit:"boolean",border:"boolean",animate:"boolean",multiple:"boolean",selected:"number"}]));
- };
- $.fn.accordion.defaults={width:"auto",height:"auto",fit:false,border:true,animate:true,multiple:false,selected:0,halign:"top",onSelect:function(_5e,_5f){
- },onUnselect:function(_60,_61){
- },onAdd:function(_62,_63){
- },onBeforeRemove:function(_64,_65){
- },onRemove:function(_66,_67){
- }};
- })(jQuery);
|