Skip to content
This repository was archived by the owner on May 29, 2019. It is now read-only.

Commit 6f9f1fc

Browse files
committed
revert(dropdown): undo adding of open class on body
This reverts commit bf63cef.
1 parent 5bc0851 commit 6f9f1fc

File tree

2 files changed

+9
-32
lines changed

2 files changed

+9
-32
lines changed

src/dropdown/dropdown.js

+4-8
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,8 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
7474
setIsOpen = angular.noop,
7575
toggleInvoker = $attrs.onToggle ? $parse($attrs.onToggle) : angular.noop,
7676
appendToBody = false,
77-
keynavEnabled = false,
78-
selectedOption = null,
79-
body = $document.find('body');
77+
keynavEnabled =false,
78+
selectedOption = null;
8079

8180
this.init = function(element) {
8281
self.$element = element;
@@ -94,8 +93,7 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
9493
keynavEnabled = angular.isDefined($attrs.uibKeyboardNav);
9594

9695
if (appendToBody && self.dropdownMenu) {
97-
body.append(self.dropdownMenu);
98-
body.addClass('dropdown');
96+
$document.find('body').append(self.dropdownMenu);
9997
element.on('$destroy', function handleDestroyEvent() {
10098
self.dropdownMenu.remove();
10199
});
@@ -186,9 +184,7 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
186184
self.dropdownMenu.css(css);
187185
}
188186

189-
var openContainer = appendToBody ? body : self.$element;
190-
191-
$animate[isOpen ? 'addClass' : 'removeClass'](openContainer, openClass).then(function() {
187+
$animate[isOpen ? 'addClass' : 'removeClass'](self.$element, openClass).then(function() {
192188
if (angular.isDefined(isOpen) && isOpen !== wasOpen) {
193189
toggleInvoker($scope, { open: !!isOpen });
194190
}

src/dropdown/test/dropdown.spec.js

+5-24
Original file line numberDiff line numberDiff line change
@@ -225,29 +225,11 @@ describe('dropdownToggle', function() {
225225
expect($document.find('#dropdown-menu').parent()[0]).toBe($document.find('body')[0]);
226226
});
227227

228-
it('adds the dropdown class to the body', function() {
229-
expect($document.find('body').hasClass('dropdown')).toBe(true);
230-
});
231-
232228
it('removes the menu when the dropdown is removed', function() {
233229
element.remove();
234230
$rootScope.$digest();
235231
expect($document.find('#dropdown-menu').length).toEqual(0);
236232
});
237-
238-
it('toggles the open class on body', function() {
239-
var body = $document.find('body');
240-
241-
expect(body.hasClass('open')).toBe(false);
242-
243-
element.find('[uib-dropdown-toggle]').click();
244-
245-
expect(body.hasClass('open')).toBe(true);
246-
247-
element.find('[uib-dropdown-toggle]').click();
248-
249-
expect(body.hasClass('open')).toBe(false);
250-
});
251233
});
252234

253235
describe('integration with $location URL rewriting', function() {
@@ -455,12 +437,11 @@ describe('dropdownToggle', function() {
455437
it('should work with dropdown-append-to-body', function() {
456438
element = $compile('<li uib-dropdown dropdown-append-to-body auto-close="outsideClick"><a href uib-dropdown-toggle></a><ul class="uib-dropdown-menu" id="dropdown-menu"><li><a href>Hello On Body</a></li></ul></li>')($rootScope);
457439
clickDropdownToggle();
458-
var body = $document.find('body');
459-
expect(body.hasClass(dropdownConfig.openClass)).toBe(true);
440+
expect(element.hasClass(dropdownConfig.openClass)).toBe(true);
460441
$document.find('#dropdown-menu').find('li').eq(0).trigger('click');
461-
expect(body.hasClass(dropdownConfig.openClass)).toBe(true);
442+
expect(element.hasClass(dropdownConfig.openClass)).toBe(true);
462443
$document.click();
463-
expect(body.hasClass(dropdownConfig.openClass)).toBe(false);
444+
expect(element.hasClass(dropdownConfig.openClass)).toBe(false);
464445
});
465446
});
466447

@@ -686,7 +667,7 @@ describe('dropdownToggle', function() {
686667

687668
triggerKeyDown(element, 40);
688669

689-
expect($document.find('body').hasClass(dropdownConfig.openClass)).toBe(true);
670+
expect(element.hasClass(dropdownConfig.openClass)).toBe(true);
690671
var focusEl = $document.find('ul').eq(0).find('a');
691672
expect(isFocused(focusEl)).toBe(true);
692673
});
@@ -696,7 +677,7 @@ describe('dropdownToggle', function() {
696677
triggerKeyDown(element, 40);
697678
triggerKeyDown(element, 40);
698679

699-
expect($document.find('body').hasClass(dropdownConfig.openClass)).toBe(true);
680+
expect(element.hasClass(dropdownConfig.openClass)).toBe(true);
700681
var elem1 = $document.find('ul');
701682
var elem2 = elem1.find('a');
702683
var focusEl = $document.find('ul').eq(0).find('a').eq(1);

0 commit comments

Comments
 (0)