mavensmate
Version:
Core APIs that drive MavensMate IDEs for Salesforce1/Force.com
1 lines • 2.49 kB
JavaScript
if("undefined"==typeof jQuery.aljs)throw new Error("Please include the ALJS initializer file");!function(s){var t=function(t,a){this.$el=s(t),this.settings=a,this.initTabs()};t.prototype={constructor:t,initTabs:function(){var t=this,a=this.$el.find("> .slds-tabs--default__nav > .slds-tabs--default__item > .slds-tabs--default__link, > .slds-tabs--scoped__nav > .slds-tabs--scoped__item > .slds-tabs--scoped__link"),e=this.$el.find("> .slds-tabs--default__nav > .slds-tabs--default__item, > .slds-tabs--scoped__nav > .slds-tabs--scoped__item"),i={self:t,children:e};a.on("click",function(a){return a.stopPropagation(),t.selectTab(s(a.target).data("aljs-show")),s(this).trigger("selected.aljs.tab"),!1}),""===this.settings.defaultTabId||0===s("#"+this.settings.defaultTabId).length?this.selectTab(a.first().data("aljs-show")):this.selectTab(this.settings.defaultTabId),e.keyup(i,this.processKeypress)},selectTab:function(s){this.$el.find("> .slds-tabs--default__nav > .slds-tabs--default__item, > .slds-tabs--scoped__nav > .slds-tabs--scoped__item").removeClass("slds-active").blur().find("> .slds-tabs--default__link, > .slds-tabs--scoped__link").attr("tabindex","-1").attr("aria-selected","false"),this.$el.find("> .slds-tabs--default__content, > .slds-tabs--scoped__content").hide(),this.$el.find('[data-aljs-show="'+s+'"]').focus().closest("li").addClass("slds-active").find("> .slds-tabs--default__link, > .slds-tabs--scoped__link").attr("tabindex","0").attr("aria-selected","true"),this.$el.find("#"+s).show().trigger("shown.aljs.tabcontent"),this.id=s,this.settings.onChange(this)},processKeypress:function(t){var a,e=t.data.children,i=s(e).length-1,l=s(".slds-active",s(e).parent()).index();37==t.which?(a=0==l?s(e).eq(i).find("[data-aljs-show]").data("aljs-show"):s(e).eq(l-1).find("[data-aljs-show]").data("aljs-show"),t.data.self.selectTab(a)):39==t.which&&(a=l==i?s(e).eq(0).find("[data-aljs-show]").data("aljs-show"):s(e).eq(l+1).find("[data-aljs-show]").data("aljs-show"),t.data.self.selectTab(a))}},s.fn.tabs=function(a){var e,i=arguments,l=s.extend({defaultTabId:"",onChange:function(s){},assetsLocation:s.aljs.assetsLocation},"object"==typeof a?a:{});if(this.each(function(){var d=s(this),n=d.data("aljs-tabs");if(!n){var o=new t(this,l);d.data("aljs-tabs",n=o)}"string"==typeof a&&(e=n[a](i[1],i[2]))}),void 0===e||e instanceof t)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+option+" function)");return e}}(jQuery);