4
* Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved.
6
* Licensed under the GPL or commercial licenses
7
* To use it on other terms please contact us: jeasyui@gmail.com
8
* http://www.gnu.org/licenses/gpl.txt
9
* http://www.jeasyui.com/license_commercial.php
14
var _3=$.data(_2,"accordion").options;
15
var _4=$.data(_2,"accordion").panels;
17
_3.fit?$.extend(_3,cc._fit()):cc._fit(false);
19
cc._outerWidth(_3.width);
23
cc._outerHeight(_3.height);
24
var _6=_4.length?_4[0].panel("header").css("height","")._outerHeight():"auto";
25
var _5=cc.height()-(_4.length-1)*_6;
27
for(var i=0;i<_4.length;i++){
29
var _8=_7.panel("header");
31
_7.panel("resize",{width:cc.width(),height:_5});
35
var _b=$.data(_a,"accordion").panels;
36
for(var i=0;i<_b.length;i++){
38
if(_c.panel("options").collapsed==false){
45
var _10=$.data(_e,"accordion").panels;
46
for(var i=0;i<_10.length;i++){
47
if(_10[i][0]==$(_f)[0]){
53
function _11(_12,_13,_14){
54
var _15=$.data(_12,"accordion").panels;
55
if(typeof _13=="number"){
56
if(_13<0||_13>=_15.length){
66
for(var i=0;i<_15.length;i++){
68
if(_16.panel("options").title==_13){
78
var _19=$.data(_18,"accordion").options;
81
cc.removeClass("accordion-noborder");
83
cc.addClass("accordion-noborder");
88
cc.addClass("accordion");
90
cc.children("div").each(function(){
91
var _1d=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)});
96
cc.bind("_resize",function(e,_1e){
97
var _1f=$.data(_1b,"accordion").options;
98
if(_1f.fit==true||_1e){
103
return {accordion:cc,panels:_1c};
105
function _20(_21,pp,_22){
106
pp.panel($.extend({},_22,{collapsible:false,minimizable:false,maximizable:false,closable:false,doSize:false,collapsed:true,headerCls:"accordion-header",bodyCls:"accordion-body",onBeforeExpand:function(){
109
var _24=$(_23).panel("header");
110
_24.removeClass("accordion-header-selected");
111
_24.find(".accordion-collapse").triggerHandler("click");
113
var _24=pp.panel("header");
114
_24.addClass("accordion-header-selected");
115
_24.find(".accordion-collapse").removeClass("accordion-expand");
116
},onExpand:function(){
117
var _25=$.data(_21,"accordion").options;
118
_25.onSelect.call(_21,pp.panel("options").title,_d(_21,this));
119
},onBeforeCollapse:function(){
120
var _26=pp.panel("header");
121
_26.removeClass("accordion-header-selected");
122
_26.find(".accordion-collapse").addClass("accordion-expand");
124
var _27=pp.panel("header");
125
var t=$("<a class=\"accordion-collapse accordion-expand\" href=\"javascript:void(0)\"></a>").appendTo(_27.children("div.panel-tool"));
126
t.bind("click",function(e){
127
var _28=$.data(_21,"accordion").options.animate;
129
if(pp.panel("options").collapsed){
130
pp.panel("expand",_28);
132
pp.panel("collapse",_28);
136
_27.click(function(){
137
$(this).find(".accordion-collapse").triggerHandler("click");
141
function _29(_2a,_2b){
142
var _2c=_11(_2a,_2b);
147
if(_2d&&_2d[0]==_2c[0]){
150
_2c.panel("header").triggerHandler("click");
153
var _30=$.data(_2f,"accordion").panels;
154
for(var i=0;i<_30.length;i++){
155
if(_30[i].panel("options").selected){
164
var _33=$.data(_2f,"accordion").options;
172
var _37=$.data(_36,"accordion").panels;
173
for(var i=0;i<_37.length;i++){
174
_37[i].stop(true,true);
177
function add(_38,_39){
178
var _3a=$.data(_38,"accordion").options;
179
var _3b=$.data(_38,"accordion").panels;
180
if(_39.selected==undefined){
184
var pp=$("<div></div>").appendTo(_38);
188
_3a.onAdd.call(_38,_39.title,_3b.length-1);
190
_29(_38,_3b.length-1);
193
function _3c(_3d,_3e){
194
var _3f=$.data(_3d,"accordion").options;
195
var _40=$.data(_3d,"accordion").panels;
197
var _41=_11(_3d,_3e);
198
var _42=_41.panel("options").title;
200
if(_3f.onBeforeRemove.call(_3d,_42,_43)==false){
203
var _41=_11(_3d,_3e,true);
205
_41.panel("destroy");
214
_3f.onRemove.call(_3d,_42,_43);
216
$.fn.accordion=function(_45,_46){
217
if(typeof _45=="string"){
218
return $.fn.accordion.methods[_45](this,_46);
221
return this.each(function(){
222
var _47=$.data(this,"accordion");
225
_48=$.extend(_47.options,_45);
228
_48=$.extend({},$.fn.accordion.defaults,$.fn.accordion.parseOptions(this),_45);
230
$.data(this,"accordion",{options:_48,accordion:r.accordion,panels:r.panels});
237
$.fn.accordion.methods={options:function(jq){
238
return $.data(jq[0],"accordion").options;
239
},panels:function(jq){
240
return $.data(jq[0],"accordion").panels;
241
},resize:function(jq){
242
return jq.each(function(){
245
},getSelected:function(jq){
247
},getPanel:function(jq,_49){
248
return _11(jq[0],_49);
249
},getPanelIndex:function(jq,_4a){
250
return _d(jq[0],_4a);
251
},select:function(jq,_4b){
252
return jq.each(function(){
255
},add:function(jq,_4c){
256
return jq.each(function(){
259
},remove:function(jq,_4d){
260
return jq.each(function(){
264
$.fn.accordion.parseOptions=function(_4e){
266
return $.extend({},$.parser.parseOptions(_4e,["width","height",{fit:"boolean",border:"boolean",animate:"boolean"}]));
268
$.fn.accordion.defaults={width:"auto",height:"auto",fit:false,border:true,animate:true,onSelect:function(_4f,_50){
269
},onAdd:function(_51,_52){
270
},onBeforeRemove:function(_53,_54){
271
},onRemove:function(_55,_56){