forked from tameraydin/jquery-sapling
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjquery.sapling.min.js
More file actions
5 lines (4 loc) · 1.64 KB
/
Copy pathjquery.sapling.min.js
File metadata and controls
5 lines (4 loc) · 1.64 KB
1
2
3
4
5
/*!
jQuery Sapling 0.6.1 - http://tameraydin.github.io/jquery-sapling/
*/
!function(a,b,c,d){a.sapling=function(b,c){var d=this,e=a(b),f={multiexpand:!0,animation:!1},g=function(a){a.addClass("sapling-expanded")},h=function(a){a.removeClass("sapling-expanded")},i=function(b){"A"!==b.target.nodeName&&(a(this).hasClass("sapling-expanded")?h(a(this)):(d.settings.multiexpand||e.find(".sapling-expanded").not(a(this).parents()).trigger("click"),g(a(this))))};d.settings={},d.init=function(){d.settings=a.extend({},f,c),d.settings.animation&&(g=function(a){a.children("ul, ol").slideDown(function(){a.addClass("sapling-expanded")})},h=function(a){a.children("ul, ol").slideUp(function(){a.removeClass("sapling-expanded")})}),e.addClass("sapling-list"),e.children("li").addClass("sapling-top-level"),e.find("li").each(function(){var b=a(this),c=b.children("ul, ol");-1!==c.index()&&(b.addClass("sapling-item"),b.bind("click.sapling",i),c.bind("click.sapling",function(a){return"A"!=a.target.nodeName?!1:void 0}))})},d.expand=function(){g(e.find(".sapling-item"))},d.collapse=function(){h(e.find(".sapling-expanded"))},d.destroy=function(){e.removeClass("sapling-list"),e.children("li").removeClass("sapling-top-level"),e.find("li").each(function(){var b=a(this),c=b.children("ul, ol");-1!==c.index()&&(b.removeClass("sapling-item"),b.unbind(".sapling"),c.removeAttr("style"),c.unbind(".sapling"))}),e.find(".sapling-expanded").removeClass("sapling-expanded"),e.data("sapling",null)},d.init()},a.fn.sapling=function(b){return this.each(function(){var c=a(this).data("sapling");if(c===d||null===c){var e=new a.sapling(this,b);a(this).data("sapling",e)}})}}(jQuery,window,document);