123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- /**
- * EasyUI for jQuery 1.6.10
- *
- * 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($){
- var _1=1;
- function _2(_3){
- $(_3).addClass("sidemenu");
- };
- function _4(_5,_6){
- var _7=$(_5).sidemenu("options");
- if(_6){
- $.extend(_7,{width:_6.width,height:_6.height});
- }
- $(_5)._size(_7);
- $(_5).find(".accordion").accordion("resize");
- };
- function _8(_9,_a,_b){
- var _c=$(_9).sidemenu("options");
- var tt=$("<ul class=\"sidemenu-tree\"></ul>").appendTo(_a);
- tt.tree({data:_b,animate:_c.animate,onBeforeSelect:function(_d){
- if(_d.children){
- return false;
- }
- },onSelect:function(_e){
- _12(_9,_e.id,true);
- },onExpand:function(_f){
- _25(_9,_f);
- },onCollapse:function(_10){
- _25(_9,_10);
- },onClick:function(_11){
- if(_11.children){
- if(_11.state=="open"){
- $(_11.target).addClass("tree-node-nonleaf-collapsed");
- }else{
- $(_11.target).removeClass("tree-node-nonleaf-collapsed");
- }
- $(this).tree("toggle",_11.target);
- }
- }});
- tt.unbind(".sidemenu").bind("mouseleave.sidemenu",function(){
- $(_a).trigger("mouseleave");
- });
- _12(_9,_c.selectedItemId);
- };
- function _13(_14,_15,_16){
- var _17=$(_14).sidemenu("options");
- $(_15).tooltip({content:$("<div></div>"),position:_17.floatMenuPosition,valign:"top",data:_16,onUpdate:function(_18){
- var _19=$(this).tooltip("options");
- var _1a=_19.data;
- _18.accordion({width:_17.floatMenuWidth,multiple:false}).accordion("add",{title:_1a.text,collapsed:false,collapsible:false});
- _8(_14,_18.accordion("panels")[0],_1a.children);
- },onShow:function(){
- var t=$(this);
- var tip=t.tooltip("tip").addClass("sidemenu-tooltip");
- tip.children(".tooltip-content").addClass("sidemenu");
- tip.find(".accordion").accordion("resize");
- tip.add(tip.find("ul.tree")).unbind(".sidemenu").bind("mouseover.sidemenu",function(){
- t.tooltip("show");
- }).bind("mouseleave.sidemenu",function(){
- t.tooltip("hide");
- });
- t.tooltip("reposition");
- },onPosition:function(_1b,top){
- var tip=$(this).tooltip("tip");
- if(!_17.collapsed){
- tip.css({left:-999999});
- }else{
- if(top+tip.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){
- top=$(window)._outerHeight()+$(document).scrollTop()-tip.outerHeight();
- tip.css("top",top);
- }
- }
- }});
- };
- function _1c(_1d,_1e){
- $(_1d).find(".sidemenu-tree").each(function(){
- _1e($(this));
- });
- $(_1d).find(".tooltip-f").each(function(){
- var tip=$(this).tooltip("tip");
- if(tip){
- tip.find(".sidemenu-tree").each(function(){
- _1e($(this));
- });
- $(this).tooltip("reposition");
- }
- });
- };
- function _12(_1f,_20,_21){
- var _22=null;
- var _23=$(_1f).sidemenu("options");
- _1c(_1f,function(t){
- t.find("div.tree-node-selected").removeClass("tree-node-selected");
- var _24=t.tree("find",_20);
- if(_24){
- $(_24.target).addClass("tree-node-selected");
- _23.selectedItemId=_24.id;
- t.trigger("mouseleave.sidemenu");
- _22=_24;
- }
- });
- if(_21&&_22){
- _23.onSelect.call(_1f,_22);
- }
- };
- function _25(_26,_27){
- _1c(_26,function(t){
- var _28=t.tree("find",_27.id);
- if(_28){
- var _29=t.tree("options");
- var _2a=_29.animate;
- _29.animate=false;
- t.tree(_27.state=="open"?"expand":"collapse",_28.target);
- _29.animate=_2a;
- }
- });
- };
- function _2b(_2c){
- var _2d=$(_2c).sidemenu("options");
- $(_2c).empty();
- if(_2d.data){
- $.easyui.forEach(_2d.data,true,function(_2e){
- if(!_2e.id){
- _2e.id="_easyui_sidemenu_"+(_1++);
- }
- if(!_2e.iconCls){
- _2e.iconCls="sidemenu-default-icon";
- }
- if(_2e.children){
- _2e.nodeCls="tree-node-nonleaf";
- if(!_2e.state){
- _2e.state="closed";
- }
- if(_2e.state=="open"){
- _2e.nodeCls="tree-node-nonleaf";
- }else{
- _2e.nodeCls="tree-node-nonleaf tree-node-nonleaf-collapsed";
- }
- }
- });
- var acc=$("<div></div>").appendTo(_2c);
- acc.accordion({fit:_2d.height=="auto"?false:true,border:_2d.border,multiple:_2d.multiple});
- var _2f=_2d.data;
- for(var i=0;i<_2f.length;i++){
- acc.accordion("add",{title:_2f[i].text,selected:_2f[i].state=="open",iconCls:_2f[i].iconCls,onBeforeExpand:function(){
- return !_2d.collapsed;
- }});
- var ap=acc.accordion("panels")[i];
- _8(_2c,ap,_2f[i].children);
- _13(_2c,ap.panel("header"),_2f[i]);
- }
- }
- };
- function _30(_31,_32){
- var _33=$(_31).sidemenu("options");
- _33.collapsed=_32;
- var acc=$(_31).find(".accordion");
- var _34=acc.accordion("panels");
- acc.accordion("options").animate=false;
- if(_33.collapsed){
- $(_31).addClass("sidemenu-collapsed");
- for(var i=0;i<_34.length;i++){
- var _35=_34[i];
- if(_35.panel("options").collapsed){
- _33.data[i].state="closed";
- }else{
- _33.data[i].state="open";
- acc.accordion("unselect",i);
- }
- var _36=_35.panel("header");
- _36.find(".panel-title").html("");
- _36.find(".panel-tool").hide();
- }
- }else{
- $(_31).removeClass("sidemenu-collapsed");
- for(var i=0;i<_34.length;i++){
- var _35=_34[i];
- if(_33.data[i].state=="open"){
- acc.accordion("select",i);
- }
- var _36=_35.panel("header");
- _36.find(".panel-title").html(_35.panel("options").title);
- _36.find(".panel-tool").show();
- }
- }
- acc.accordion("options").animate=_33.animate;
- };
- function _37(_38){
- $(_38).find(".tooltip-f").each(function(){
- $(this).tooltip("destroy");
- });
- $(_38).remove();
- };
- $.fn.sidemenu=function(_39,_3a){
- if(typeof _39=="string"){
- var _3b=$.fn.sidemenu.methods[_39];
- return _3b(this,_3a);
- }
- _39=_39||{};
- return this.each(function(){
- var _3c=$.data(this,"sidemenu");
- if(_3c){
- $.extend(_3c.options,_39);
- }else{
- _3c=$.data(this,"sidemenu",{options:$.extend({},$.fn.sidemenu.defaults,$.fn.sidemenu.parseOptions(this),_39)});
- _2(this);
- }
- _4(this);
- _2b(this);
- _30(this,_3c.options.collapsed);
- });
- };
- $.fn.sidemenu.methods={options:function(jq){
- return jq.data("sidemenu").options;
- },resize:function(jq,_3d){
- return jq.each(function(){
- _4(this,_3d);
- });
- },collapse:function(jq){
- return jq.each(function(){
- _30(this,true);
- });
- },expand:function(jq){
- return jq.each(function(){
- _30(this,false);
- });
- },destroy:function(jq){
- return jq.each(function(){
- _37(this);
- });
- }};
- $.fn.sidemenu.parseOptions=function(_3e){
- var t=$(_3e);
- return $.extend({},$.parser.parseOptions(_3e,["width","height"]));
- };
- $.fn.sidemenu.defaults={width:200,height:"auto",border:true,animate:true,multiple:true,collapsed:false,data:null,floatMenuWidth:200,floatMenuPosition:"right",onSelect:function(_3f){
- }};
- })(jQuery);
|