From 1060cac86442b635271259c5c8fbf1aa3c484074 Mon Sep 17 00:00:00 2001 From: Foxandxss Date: Sat, 24 Oct 2015 00:24:19 +0200 Subject: [PATCH] feat(buttons): remove deprecated code --- src/buttons/buttons.js | 112 ------------------------------- src/buttons/test/buttons.spec.js | 44 ------------ 2 files changed, 156 deletions(-) diff --git a/src/buttons/buttons.js b/src/buttons/buttons.js index 14ed715a9e..79f8c43cca 100644 --- a/src/buttons/buttons.js +++ b/src/buttons/buttons.js @@ -85,115 +85,3 @@ angular.module('ui.bootstrap.buttons', []) } }; }); - -/* Deprecated buttons below */ - -angular.module('ui.bootstrap.buttons') - - .value('$buttonsSuppressWarning', false) - - .controller('ButtonsController', ['$controller', '$log', '$buttonsSuppressWarning', function($controller, $log, $buttonsSuppressWarning) { - if (!$buttonsSuppressWarning) { - $log.warn('ButtonsController is now deprecated. Use UibButtonsController instead.'); - } - - angular.extend(this, $controller('UibButtonsController')); - }]) - - .directive('btnRadio', ['$log', '$buttonsSuppressWarning', function($log, $buttonsSuppressWarning) { - return { - require: ['btnRadio', 'ngModel'], - controller: 'ButtonsController', - controllerAs: 'buttons', - link: function(scope, element, attrs, ctrls) { - if (!$buttonsSuppressWarning) { - $log.warn('btn-radio is now deprecated. Use uib-btn-radio instead.'); - } - - var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1]; - - element.find('input').css({display: 'none'}); - - //model -> UI - ngModelCtrl.$render = function() { - element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, scope.$eval(attrs.btnRadio))); - }; - - //ui->model - element.bind(buttonsCtrl.toggleEvent, function() { - if (attrs.disabled) { - return; - } - - var isActive = element.hasClass(buttonsCtrl.activeClass); - - if (!isActive || angular.isDefined(attrs.uncheckable)) { - scope.$apply(function() { - ngModelCtrl.$setViewValue(isActive ? null : scope.$eval(attrs.btnRadio)); - ngModelCtrl.$render(); - }); - } - }); - } - }; - }]) - - .directive('btnCheckbox', ['$document', '$log', '$buttonsSuppressWarning', function($document, $log, $buttonsSuppressWarning) { - return { - require: ['btnCheckbox', 'ngModel'], - controller: 'ButtonsController', - controllerAs: 'button', - link: function(scope, element, attrs, ctrls) { - if (!$buttonsSuppressWarning) { - $log.warn('btn-checkbox is now deprecated. Use uib-btn-checkbox instead.'); - } - - var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1]; - - element.find('input').css({display: 'none'}); - - function getTrueValue() { - return getCheckboxValue(attrs.btnCheckboxTrue, true); - } - - function getFalseValue() { - return getCheckboxValue(attrs.btnCheckboxFalse, false); - } - - function getCheckboxValue(attributeValue, defaultValue) { - var val = scope.$eval(attributeValue); - return angular.isDefined(val) ? val : defaultValue; - } - - //model -> UI - ngModelCtrl.$render = function() { - element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, getTrueValue())); - }; - - //ui->model - element.bind(buttonsCtrl.toggleEvent, function() { - if (attrs.disabled) { - return; - } - - scope.$apply(function() { - ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass) ? getFalseValue() : getTrueValue()); - ngModelCtrl.$render(); - }); - }); - - //accessibility - element.on('keypress', function(e) { - if (attrs.disabled || e.which !== 32 || $document[0].activeElement !== element[0]) { - return; - } - - scope.$apply(function() { - ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass) ? getFalseValue() : getTrueValue()); - ngModelCtrl.$render(); - }); - }); - } - }; - }]); - diff --git a/src/buttons/test/buttons.spec.js b/src/buttons/test/buttons.spec.js index 5cc81c558a..0d9b716dc6 100644 --- a/src/buttons/test/buttons.spec.js +++ b/src/buttons/test/buttons.spec.js @@ -325,47 +325,3 @@ describe('buttons', function() { }); }); }); - -/* Deprecation tests below */ - -describe('buttons deprecation', function() { - beforeEach(module('ui.bootstrap.buttons')); - - it('should suppress warning', function() { - module(function($provide) { - $provide.value('$buttonsSuppressWarning', true); - }); - - inject(function($compile, $log, $rootScope) { - spyOn($log, 'warn'); - - var element = $compile('')($rootScope); - $rootScope.$digest(); - - expect($log.warn.calls.count()).toBe(0); - - element = $compile('')($rootScope); - $rootScope.$digest(); - - expect($log.warn.calls.count()).toBe(0); - }); - }); - - it('should give warning by default', inject(function($compile, $log, $rootScope) { - spyOn($log, 'warn'); - - var element = $compile('')($rootScope); - $rootScope.$digest(); - - element = $compile('')($rootScope); - $rootScope.$digest(); - - expect($log.warn.calls.count()).toBe(6); - expect($log.warn.calls.argsFor(0)).toEqual(['ButtonsController is now deprecated. Use UibButtonsController instead.']); - expect($log.warn.calls.argsFor(1)).toEqual(['btn-checkbox is now deprecated. Use uib-btn-checkbox instead.']); - expect($log.warn.calls.argsFor(2)).toEqual(['ButtonsController is now deprecated. Use UibButtonsController instead.']); - expect($log.warn.calls.argsFor(3)).toEqual(['btn-radio is now deprecated. Use uib-btn-radio instead.']); - expect($log.warn.calls.argsFor(4)).toEqual(['ButtonsController is now deprecated. Use UibButtonsController instead.']); - expect($log.warn.calls.argsFor(5)).toEqual(['btn-radio is now deprecated. Use uib-btn-radio instead.']); - })); -});