Files

9 lines
1.9 KiB
JavaScript

/**
* angular-strap
* @version v2.1.1 - 2014-09-26
* @link http://mgcrea.github.io/angular-strap
* @author Olivier Louvignes (olivier@mg-crea.com)
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
"use strict";angular.module("mgcrea.ngStrap.tab",[]).provider("$tab",function(){var t=this.defaults={animation:"am-fade",template:"tab/tab.tpl.html",navClass:"nav-tabs",activeClass:"active"},e=this.controller=function(e,a,n){var s=this;s.$options=angular.copy(t),angular.forEach(["animation","navClass","activeClass"],function(t){angular.isDefined(n[t])&&(s.$options[t]=n[t])}),e.$navClass=s.$options.navClass,e.$activeClass=s.$options.activeClass,s.$panes=e.$panes=[],s.$viewChangeListeners=[],s.$push=function(t){s.$panes.push(t)},s.$panes.$active=0,s.$setActive=e.$setActive=function(t){s.$panes.$active=t,s.$viewChangeListeners.forEach(function(t){t()})}};this.$get=function(){var a={};return a.defaults=t,a.controller=e,a}}).directive("bsTabs",["$window","$animate","$tab",function(t,e,a){var n=a.defaults;return{require:["?ngModel","bsTabs"],transclude:!0,scope:!0,controller:["$scope","$element","$attrs",a.controller],templateUrl:function(t,e){return e.template||n.template},link:function(t,e,a,n){var s=n[0],i=n[1];s&&(i.$viewChangeListeners.push(function(){s.$setViewValue(i.$panes.$active)}),s.$formatters.push(function(t){return i.$setActive(1*t),t}))}}}]).directive("bsPane",["$window","$animate","$sce",function(t,e,a){return{require:["^?ngModel","^bsTabs"],scope:!0,link:function(t,n,s,i){function o(){var a=r.$panes.indexOf(t),s=r.$panes.$active;e[a===s?"addClass":"removeClass"](n,r.$options.activeClass)}var r=(i[0],i[1]);n.addClass("tab-pane"),s.$observe("title",function(e){t.title=a.trustAsHtml(e)}),r.$options.animation&&n.addClass(r.$options.animation),r.$push(t),r.$viewChangeListeners.push(function(){o()}),o()}}}]);
//# sourceMappingURL=tab.min.js.map