From 435924f201493db554e2175212786ab0cddfa759 Mon Sep 17 00:00:00 2001 From: Wesley Cho Date: Sat, 3 Oct 2015 09:55:23 -0700 Subject: [PATCH] fix(tabs): re-expose TabsetController - Re-expose `TabsetController` with deprecation notice Closes #4530 --- src/tabs/tabs.js | 12 +++++++++++- src/tabs/test/tabs.spec.js | 11 ++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/tabs/tabs.js b/src/tabs/tabs.js index c158474e9f..cb68c8df39 100644 --- a/src/tabs/tabs.js +++ b/src/tabs/tabs.js @@ -296,6 +296,16 @@ angular.module('ui.bootstrap.tabs') .value('$tabsSuppressWarning', false) + .controller('TabsetController', ['$scope', '$controller', '$log', '$tabsSuppressWarning', function($scope, $controller, $log, $tabsSuppressWarning) { + if (!$tabsSuppressWarning) { + $log.warn('TabsetController is now deprecated. Use UibTabsetController instead.'); + } + + angular.extend(this, $controller('UibTabsetController', { + $scope: $scope + })); + }]) + .directive('tabset', ['$log', '$tabsSuppressWarning', function($log, $tabsSuppressWarning) { return { restrict: 'EA', @@ -304,7 +314,7 @@ angular.module('ui.bootstrap.tabs') scope: { type: '@' }, - controller: 'UibTabsetController', + controller: 'TabsetController', templateUrl: 'template/tabs/tabset.html', link: function(scope, element, attrs) { diff --git a/src/tabs/test/tabs.spec.js b/src/tabs/test/tabs.spec.js index 10e07bb059..1de3c25e33 100644 --- a/src/tabs/test/tabs.spec.js +++ b/src/tabs/test/tabs.spec.js @@ -913,10 +913,11 @@ describe('tab deprecation', function() { $compile(element)($rootScope); $rootScope.$digest(); - expect($log.warn.calls.count()).toBe(4); - expect($log.warn.calls.argsFor(0)).toEqual(['tab-heading-transclude is now deprecated. Use uib-tab-heading-transclude instead.']); - expect($log.warn.calls.argsFor(1)).toEqual(['tab is now deprecated. Use uib-tab instead.']); - expect($log.warn.calls.argsFor(2)).toEqual(['tabset is now deprecated. Use uib-tabset instead.']); - expect($log.warn.calls.argsFor(3)).toEqual(['tab-content-transclude is now deprecated. Use uib-tab-content-transclude instead.']); + expect($log.warn.calls.count()).toBe(5); + expect($log.warn.calls.argsFor(0)).toEqual(['TabsetController is now deprecated. Use UibTabsetController instead.']); + expect($log.warn.calls.argsFor(1)).toEqual(['tab-heading-transclude is now deprecated. Use uib-tab-heading-transclude instead.']); + expect($log.warn.calls.argsFor(2)).toEqual(['tab is now deprecated. Use uib-tab instead.']); + expect($log.warn.calls.argsFor(3)).toEqual(['tabset is now deprecated. Use uib-tabset instead.']); + expect($log.warn.calls.argsFor(4)).toEqual(['tab-content-transclude is now deprecated. Use uib-tab-content-transclude instead.']); })); });