aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2017-07-04 11:53:55 -0700
committerMark Otto <[email protected]>2017-07-04 11:53:55 -0700
commita662f85398ffe67453c773ec94a94e2607cb4a36 (patch)
tree2ff9a1b3e3513e5d7f2dc7760324b6752b0a425c /js
parentd785e8a53a8b8783fc0b8c18cb56cea89b6d4396 (diff)
parent2cbaefc2442e2ca3cb25dcea4dd047a25ce7790c (diff)
downloadbootstrap-a662f85398ffe67453c773ec94a94e2607cb4a36.tar.xz
bootstrap-a662f85398ffe67453c773ec94a94e2607cb4a36.zip
Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev
Diffstat (limited to 'js')
-rw-r--r--js/src/dropdown.js10
-rw-r--r--js/tests/unit/dropdown.js29
2 files changed, 32 insertions, 7 deletions
diff --git a/js/src/dropdown.js b/js/src/dropdown.js
index 057cfa433..234d23447 100644
--- a/js/src/dropdown.js
+++ b/js/src/dropdown.js
@@ -265,14 +265,10 @@ const Dropdown = (($) => {
}
}
+ // Disable Popper.js for Dropdown in Navbar
if (this._inNavbar) {
- popperConfig.modifiers.AfterApplyStyle = {
- enabled: true,
- order: 901, // ApplyStyle order + 1
- fn: () => {
- // reset Popper styles
- $(this._menu).attr('style', '')
- }
+ popperConfig.modifiers.applyStyle = {
+ enabled: !this._inNavbar
}
}
return popperConfig
diff --git a/js/tests/unit/dropdown.js b/js/tests/unit/dropdown.js
index 7e96745ab..e44e47bbc 100644
--- a/js/tests/unit/dropdown.js
+++ b/js/tests/unit/dropdown.js
@@ -620,4 +620,33 @@ $(function () {
})
$dropdown.trigger('click')
})
+
+ QUnit.test('Dropdown should not use Popper.js in navbar', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+ var html = '<nav class="navbar navbar-expand-md navbar-light bg-light">'
+ + '<div class="dropdown">'
+ + ' <a class="nav-link dropdown-toggle" href="#" id="dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>'
+ + ' <div class="dropdown-menu" aria-labelledby="dropdown">'
+ + ' <a class="dropdown-item" href="#">Action</a>'
+ + ' <a class="dropdown-item" href="#">Another action</a>'
+ + ' <a class="dropdown-item" href="#">Something else here</a>'
+ + ' </div>'
+ + '</div>'
+ + '</nav>'
+
+ $(html).appendTo('#qunit-fixture')
+ var $triggerDropdown = $('#qunit-fixture')
+ .find('[data-toggle="dropdown"]')
+ .bootstrapDropdown()
+ var $dropdownMenu = $triggerDropdown.next()
+
+ $triggerDropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.ok($dropdownMenu.attr('style') === undefined, 'No inline style applied by Popper.js')
+ done()
+ })
+ $triggerDropdown.trigger($.Event('click'))
+ })
})