-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathjquery.fs.tabber.min.js
9 lines (8 loc) · 2.56 KB
/
jquery.fs.tabber.min.js
1
2
3
4
5
6
7
8
9
/*
* Tabber v3.0.13 - 2015-04-04
* A jQuery plugin for adding simple tabbed interfaces. Part of the Formstone Library.
* http://classic.formstone.it/tabber/
*
* Copyright 2015 Ben Plum; MIT Licensed
*/
!function(a,b){"use strict";function c(b){b=a.extend({},i,b||{});for(var c=a(this),e=0,f=c.length;f>e;e++)d(c.eq(e),b);return c}function d(c,d){if(!c.data("tabber")){d=a.extend({},d,c.data("tabber-options")),c.addClass("tabber "+d.customClass+(d.vertical?" vertical":""));for(var g=a.extend({$tabber:c,$tabs:c.find(".tabber-tab:first").siblings(".tabber-tab").addBack(),$handles:c.find(".tabber-handle:first").siblings(".tabber-handle").addBack(),index:-1},d),i=g.$handles.index(g.$handles.filter(".active")),j=0,k=g.$handles.length;k>j;j++)g.$tabs.eq(j).before('<span class="tabber-handle mobile">'+g.$handles.eq(j).text()+"</span>");g.$mobileHandles=c.find(".tabber-handle.mobile"),c.addClass("initialized").on("click.tabber",".tabber-handle",g,e).data("tabber",g),void 0!==b.matchMedia&&(g.mediaQuery=b.matchMedia("(max-width:"+(g.maxWidth===1/0?"100000px":g.maxWidth)+")"),g.mediaQueryListener=function(){h.apply(g.$tabber)},g.mediaQuery.addListener(g.mediaQueryListener),h.apply(g.$tabber)),f(g,i>-1?i:0)}}function e(b){b.preventDefault(),b.stopPropagation();var c=a(this),d=b.data,e=c.hasClass("mobile")?d.$mobileHandles.index(c):d.$handles.index(c);f(d,e)}function f(a,b){b!==a.index&&(0>b&&(b=0),b>a.$tabs.length&&(b=a.$tabs.length-1),a.index=b,a.$tabs.removeClass("active").eq(b).addClass("active"),g(a))}function g(a){a.$handles.removeClass("active").eq(a.index).addClass("active"),a.$mobileHandles.removeClass("active").eq(a.index).addClass("active"),a.$tabber.trigger("update.tabber",[a.index])}function h(){var b=a(this).data("tabber");b.mediaQuery.matches?b.$tabber.addClass("mobile"):b.$tabber.removeClass("mobile"),g(b)}var i={customClass:"",maxWidth:"980px",vertical:!1},j={defaults:function(b){return i=a.extend(i,b||{}),"object"==typeof this?a(this):!0},destroy:function(){return a(this).each(function(c){var d=a(this).data("tabber");d&&(void 0!==b.matchMedia&&d.mediaQuery.removeListener(d.mediaQueryListener),d.$mobileHandles.remove(),d.$tabber.removeClass("tabber initialized "+d.customClass).off(".tabber").data("tabber",null))})},select:function(b){return a(this).each(function(c){var d=a(this).data("tabber");d&&f(d,b-1)})}};a.fn.tabber=function(a){return j[a]?j[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?this:c.apply(this,arguments)},a.tabber=function(a){"defaults"===a&&j.defaults.apply(this,Array.prototype.slice.call(arguments,1))}}(jQuery,this);