-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcontentTabs.min.js
More file actions
8 lines (8 loc) · 3.6 KB
/
contentTabs.min.js
File metadata and controls
8 lines (8 loc) · 3.6 KB
1
2
3
4
5
6
7
8
/*!
contentTabs v1.0.6 (https://github.com/TechTarget/contentTabs)
Author: Morgan Wigmanich <okize123@gmail.com> (http://github.com/okize)
Copyright (c) 2013 | Licensed under the MIT license
http://www.opensource.org/licenses/mit-license.php
*/
(function(){!function(t){return"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){"use strict";var e,s,i;i="contentTabs",s={displayTabs:!0,tabLocation:"left",tabActiveClass:"active",maintainState:!1,indexOfOpenPanel:0,pinPanelIntro:!1,pinnedPanelLocation:"top"},e=function(){function e(e,n){this.element=e,this.el=t(this.element),this.options=t.extend({},s,n),this._defaults=s,this._name=i,this.tabs=null,this.panels=null,this.tabLocationClassMap={top:"tabsHorizontalTop",bottom:"tabsHorizontalBottom",left:"tabsVerticalLeft",right:"tabsVerticalRight"},this.pinnedPanelLocationClassMap={top:"pinnedPanelTop",left:"pinnedPanelLeft"},this.activeTab=this.options.indexOfOpenPanel,this.stateKey="tabState",this.hashObject=null,this.init()}return e.prototype.init=function(){var e,s=this;return this.options.displayTabs?(this.options.maintainState&&null!=this.getStateFromHash()&&this.updateState(this.activeTab),this.setTabsPosition(this.tabLocationClassMap[this.options.tabLocation]),this.options.pinPanelIntro&&this.pinPanels(this.el),e=this.getTabs(),e.hasClass(this.options.tabActiveClass)||e.eq(this.activeTab).addClass(this.options.tabActiveClass),e.eq(e.length-1).addClass("last"),e.on("click",function(e){return e.preventDefault(),s.updateState(t(e.currentTarget).index())})):(this.removeTabs(),void 0)},e.prototype.getStateFromHash=function(){var t,e;return this.hashObject=this.getHashObject(),this.hashObject?(t=null!=(e=this.hashObject[this.stateKey])?e:null,t?this.activeTab=this.hashObject[this.stateKey]:null):null},e.prototype.getHashObject=function(){var t,e,s,i,n,a,o;if(i=this.getUrlHash(),!i)return null;for(e={},s=i.split("&"),a=0,o=s.length;o>a;a++)n=s[a],t=n.split("="),e[t[0]]=t.length>1?t[1]:void 0;return e},e.prototype.buildHashObject=function(){return t.param(this.hashObject)},e.prototype.updateHash=function(t){return t+="",this.hashObject=this.getHashObject(),this.hashObject||(this.hashObject={}),this.hashObject[this.stateKey]=t,this.setUrlHash(this.buildHashObject())},e.prototype.getUrlHash=function(){return window.location.hash?window.location.hash.substring(1):null},e.prototype.setUrlHash=function(t){return window.location.hash=t},e.prototype.updateState=function(t){return this.activeTab=t,this.selectTab(t),this.selectPanel(t)},e.prototype.removeTabs=function(){return this.el.addClass("tabsNone"),this.getTabs().remove()},e.prototype.setTabsPosition=function(t){return this.el.addClass(t)},e.prototype.getTabs=function(){return this.tabs||(this.tabs=this.el.find(".contentTabsNav").find("li")),this.tabs},e.prototype.selectTab=function(t){return this.options.maintainState&&this.updateHash(t),this.getTabs().removeClass(this.options.tabActiveClass).eq(t).addClass(this.options.tabActiveClass)},e.prototype.getPanels=function(){return this.panels||(this.panels=this.el.find(".contentTabsPanel")),this.panels},e.prototype.selectPanel=function(t){return this.getPanels().hide().eq(t).show()},e.prototype.pinPanels=function(){var e,s;return s=void 0,e=void 0,this.el.addClass("pinPanelIntro").addClass(this.pinnedPanelLocationClassMap[this.options.pinnedPanelLocation]),s=this.el.find(".contentTabsPanelIntro"),s.each(function(){return e=t(this),e.insertBefore(e.parent())})},e}(),t.fn[i]=function(s){return this.each(function(){t.data(this,"plugin_#{pluginName}")||t.data(this,"plugin_#{pluginName}",new e(this,s))})}})}).call(this);
//# sourceMappingURL=contentTabs.min.js.map