Commit Graph

143 Commits

Author SHA1 Message Date
Johann-S 9201a80510 some cleaning and changes for readability 2018-11-14 10:54:50 +01:00
XhmikosR 0a3755b30a
Fix typo in the Popper.js checks. (#27488) 2018-10-21 11:51:20 +03:00
galczo5 6cbcd03efb Add `show` and `hide` methods to dropdown (#27370) 2018-10-20 14:27:51 +03:00
Johann-S 7c7a1706c3 remove useless iife 2018-09-26 15:03:38 +02:00
XhmikosR acd19de6a9 Use ES6 arrow function. 2018-08-12 22:22:12 +03:00
Mark Otto 3b55873438 Ship v4.1.3 2018-07-24 08:54:34 -07:00
Mark Otto c4ccfbe04e Ship v4.1.2 2018-07-12 09:27:14 -07:00
jakubhonisek 49e094619b feat(dropdown): add original click event 2018-06-25 15:29:34 +02:00
Johann-S a79b8aa16a refactor(plugins): query elements without jquery 2018-06-03 11:40:08 +02:00
Johann-S b1eb3fccfa refactor(plugins): improve how we query elements 2018-06-01 10:30:11 +02:00
Mark Otto 779ad9f174 Bump version to v4.1.1 2018-04-30 09:04:33 -07:00
Mark Otto 8f7bd41993
Ship v4.1.0 (#26218)
* update docs path from docs/4.0/ to docs/4.1/

* bump version to 4.1.0

* Update redirects to work for 4.1 docs move

* Update docs version switcher to include latest and link to 4.0 docs

* re-run dist

* Update package-lock.json

* Update docs-navbar.html
2018-04-09 09:00:23 -07:00
vsn4ik 68db42c9f8 Fix skip element disabled via attribute when using keyboard navigation 2018-03-26 09:37:25 +02:00
Martijn Cuppens 8cfbf6933b Consistent usage of $(document.body) instead of $('body') (#25671) 2018-02-21 09:01:02 +01:00
Johann-S 65ae622d40 Dropdown - Allow to disable Popper.js style (#24092)
* Dropdown - Allow to disable Popper.js style

* Update dropdown.js

* Update dropdown.html

* copy changes
2018-02-11 16:45:59 -08:00
719media bd9084d249 Update dropdown.js to allow referenceElement (#25219) 2018-01-21 19:09:23 +01:00
Mark Otto 572d00ac7e Bump version to 4.0.0 2018-01-18 10:24:51 -08:00
XhmikosR 80d0943b95 Comply to the new rules. 2018-01-11 18:48:46 +02:00
XhmikosR bf0e753517
Update devDependencies and gems. (#25083) 2017-12-31 02:03:22 +02:00
Mark Otto ced70da441 Update version to 4.0.0-beta.3 2017-12-28 09:50:04 -08:00
Troy Morehouse 8839c03865 dropdown: add boundary config option (#24976) 2017-12-12 11:28:30 +02:00
Johann-S 9a0bba9afa
Object spread : less jQuery more ES6 (#24665) 2017-11-13 11:25:36 +01:00
Johann-S 6d00ed586b Do not create a Popper.js instance when we don't need it 2017-10-30 09:51:57 +01:00
Johann-S 2232b6b4d1 Throw error about Popper.js only when it's needed because some of our plugins don't use it (#24573) 2017-10-29 15:51:04 -07:00
Johann-S e454c8ec1e Add dropright and dropleft (right and left placements for our dropdown) (#23860)
* Add dropright (right placement for our dropdown)

* Add dropleft

* moves drop left arrow to the left
2017-10-29 15:29:13 -07:00
Johann-S 41fbec1188 Fix unit tests. 2017-10-27 19:19:55 +03:00
Pierre-Denis Vanduynslager 6fe72c6de8 Dropdown handle keydown on input and textarea. 2017-10-27 19:19:55 +03:00
Johann-S 62fbb23ee6 Change Rollup config to wrap our dist files with jQuery instead of $ 2017-10-24 12:39:25 +02:00
Johann-S 1487c3a994 Add `Util.jQuery` which will detect jQuery instead of relying on global `$` (#24513) 2017-10-23 10:35:27 +03:00
Mark Otto dbf5405cfd fix version number 2017-10-19 12:23:29 -07:00
Mark Otto cf00548f4e new version number 2017-10-19 12:23:29 -07:00
Johann-S b29b1e1558 Use imported jQuery object 2017-10-04 09:55:32 +02:00
Roman O 527f55c2f3 Offset option for dropdown can be function (#24222)
* Offset option can be function (Popper.js)

* Fix...add function type for offset option

* Remove constants for popper config

* Optimize code. Remove foreach loop.

* Refactoring. Remove getOffset method
2017-10-03 14:34:44 +02:00
Johann-S b822b5a17f Remove placement attribute from our Dropdown plugin 2017-09-07 13:51:25 +02:00
Johann-S 9936bf5944 Create a bundled release of Bootstrap with Popper.js inside 2017-08-31 18:43:04 +02:00
XhmikosR ef8c77d8dc Tweak ESLint rules. 2017-08-23 00:05:38 +03:00
Mark Otto 35f80bb12e bump to beta 2017-08-10 20:56:35 -07:00
Johann-S 0480a75a5a Dropdown - Disable applyStyle modifier instead of removing inline style applied by Popper.js 2017-07-04 10:37:44 +02:00
Johann-S 8170816094 Detect if the dropdown is in a navbar or not when update is called 2017-06-17 13:12:39 -07:00
Catalin Zalog f640ec9662 Some .navbar .dropdown-menu optimisation (#22776) 2017-06-17 13:12:39 -07:00
Johann-S af93db294b Reset Popper.js styles for Dropdowns in navbar 2017-06-17 13:12:39 -07:00
Johann-S 6ed8a735d0 fix some errors in our js 2017-06-16 10:57:13 +02:00
Johann-S 70f4a30def Better management of dropdown/dropup with alignment 2017-05-22 16:14:10 +02:00
Johann-S b36d8ae6cb Use popper to align dropdown menu instead of using css with important 2017-05-17 22:03:11 +02:00
Johann-S 0cdf176f7a Use _jQueryInterface for Dropdown to call toggle method 2017-05-14 11:41:19 +02:00
Johann-S 0ae9d28ba3 Add fallbackPlacement option for Tooltip and Popover 2017-05-14 11:41:19 +02:00
Johann-S 4f882a840c Allow to disable flip behaviour on Dropdown + documentation 2017-05-14 11:41:19 +02:00
Johann-S e5a0471b0b Add an update method to allow to update position for Tooltip/Popover/Dropdown manually 2017-05-14 11:41:19 +02:00
Johann-S 18e4e851e2 Better placement for Dropdown + Handle flip of Tooltip/Popover 2017-05-14 11:41:19 +02:00
Johann-S d5fabf8de5 Remove totaly Tether from documentation + dependencies 2017-05-14 11:41:19 +02:00
Johann-S 53ee455bc7 Handle dropup for Dropdown 2017-05-14 11:41:19 +02:00
Johann-S 69de65180f Fix unit tests + Update Popper to 1.6.0 2017-05-14 11:41:19 +02:00
Johann-S c21a2b0d92 Remove constraints option and check every options 2017-05-14 11:41:19 +02:00
Johann-S 54a8ab4011 Begin to use Popper for Dropdown 2017-05-14 11:41:19 +02:00
Patrick H. Lauke 1f37c536b2 Tweak iOS hack for dropdown
Tweak to https://github.com/twbs/bootstrap/pull/22426, where the wrong selector slipped through the net (selecting all of `<body>`s grand-children rather than children)
2017-04-20 14:08:40 +01:00
Patrick H. Lauke 6d64afe508 Replace dropdown backdrop hack with cleaner JS-only hack
* Replace backdrop with simple noop mouse listener

As discussed in https://github.com/twbs/bootstrap/pull/22422 the current
approach of injecting a backdrop (to work around iOS' broken event
delegation for the `click` event) has annoying consequences on
touch-enabled laptop/desktop devices.
Instead of a backdrop `<div>`, here we simply add extra empty/noop
mouse listeners to the immediate children of `<body>` (and remove
them when the dropdown is closed) in order to force iOS to properly
bubble a `click` resulting from a tap (essentially, method 2 from
https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html)
This is sufficient (except in rare cases where the user does manage to tap
on the body itself, rather than any child elements of body - which is not
very likely in an iOS phone/tablet scenario for most layouts) to get iOS to
get a grip and do the correct event bubbling/delegation, meaning the regular
"click" event will bubble back to the `<body>` when tapping outside of the dropdown,
and the dropdown will close properly (just like it already does, even without
this fix, in non-iOS touchscreen devices/browsers, like Chrome/Android and
Windows on a touch laptop).
This approach, though a bit hacky, has no impact on the DOM structure, and
has no unforeseen side effects on touch-enabled laptops/desktops. And crucially,
it works just fine in iOS.

* Remove dropdown backdrop styles

* Update doc for dropdowns and touch-enabled devices
2017-04-14 09:19:00 +01:00
Pierre Vanduynslager 2f94166276 Merge branch 'v4-dev' into dropdown-keyboard 2017-04-12 16:31:50 -04:00
Patrick H. Lauke 3275ca4b30 Reword "mobile" to "touch-enabled"
...as touch is not exclusive to "mobile" anymore nowadays. also explicitly clarifies this is a fix for iOS, and that it impacts touch laptops etc as well. lastly, renames the variable from "dropdown" to "backdrop" for clarity/consistency
2017-04-12 18:39:23 +01:00
Pierre-Denis Vanduynslager 81e12d5715 Indent 2017-04-12 09:41:27 -04:00
Pierre Vanduynslager fe72daf2b3 Merge branch 'v4-dev' into dropdown-keyboard 2017-04-08 18:43:25 -04:00
Pierre Vanduynslager f2f8051285 Fix backdrop for dropdown menu on mobile (#21578)
- Create backdrop only if the menu is actually open (do not create it if the show event is prevented)
- Drop the backdrop only when the corresponding menu is closed (do not remove if there is no menu to close or if the hide event is prevented)
2017-03-18 17:41:13 -07:00
Pierre-Denis Vanduynslager 4ab576a419 Fixes #21941 2017-02-08 18:51:50 -05:00
Pierre-Denis Vanduynslager 403f55fba9 Fix spacebar key in Firefox for button elements 2017-01-22 17:34:54 -05:00
Pierre-Denis Vanduynslager a85b80fa75 Merge branch 'twbs/v4-dev' into dropdown-keyboard 2017-01-15 10:33:54 -05:00
Pierre-Denis Vanduynslager c80e13a48a Use existing keycode constants in dropdown. (#21697) 2017-01-15 13:42:24 +11:00
Pierre-Denis Vanduynslager 4c2f544359 Merge branch 'twbs/v4-dev' into dropdown-keyboard 2017-01-06 15:57:15 -05:00
Mark Otto 045888fa38 version bump 2017-01-06 08:38:04 -08:00
Pierre-Denis Vanduynslager 67958f35e8 Merge conflict 2017-01-04 12:24:33 -05:00
Pierre-Denis Vanduynslager c4867cfedb Merge branch 'twbs/v4-dev' into dropdown-keyboard
# Conflicts:
#	js/src/dropdown.js
2017-01-04 12:22:06 -05:00
Pierre-Denis Vanduynslager bbb0d2b573 Dropdown: close menu when focusing outside element (#21375)
* Close dropdown menu when focusing an outside element
* Update unit test to new markup
2017-01-02 14:44:27 -08:00
Pierre-Denis Vanduynslager 425d156df2 Merge branch 'twbs/v4-dev' into dropdown-keyboard 2016-12-28 19:57:38 -05:00
Starsam80 bf39bb3ac3
Rename `.active` to `.show` 2016-12-07 21:20:15 -07:00
Mark Otto b110070dcd Follow up fix to #19953 for linting error in builds
See https://travis-ci.org/twbs/bootstrap/jobs/179010884 for build failure
2016-11-26 01:04:02 -08:00
Pierre-Denis Vanduynslager 3606c5b9c5 Dropdown perf - on keyboard nav, find active item in the active dropdown rather than the whole document (#19953) 2016-11-26 00:35:49 -08:00
Bardi Harborow c2616fb74e Make JS compliant with the new ESLint rules. 2016-11-24 11:59:55 +11:00
Johann-S 9d129a43d6 Use a single class name for opened/expanded/shown state of widgets 2016-10-25 14:07:41 +02:00
Mark Otto 8ff7edaab4 version bump to alpha 5 2016-10-19 08:27:41 -07:00
Mark Otto 5495a4b3d3 versions 2016-09-05 12:41:44 -07:00
Mark Otto 24e992a6ff bump versions 2016-07-27 09:31:24 -07:00
Chris Rebert 5a35ad6d74 Use named constants for magic numbers (#19992)
Mostly KeyboardEvent.which and MouseEvent.which values.

[skip validator]
2016-05-30 23:42:00 -07:00
Pierre-Denis Vanduynslager ab2fc63d08 Dropdown: remove dependency to role="menu", role="listbox" a and li elements => fix keyboard navigation 2016-05-22 02:16:27 -04:00
Chris Rebert 74f1d3b9b8 Merge pull request #18393 from twbs/dropdown-bitwise-less-tricksy
dropdown.js: Use more straightforward phrasing for index bound check
2015-12-24 08:16:19 -07:00
Chris Rebert 31d4139a74 Update version numbers using npm script
Errata from:
* 8ce5da3026
* 5d3144e8fb
which missed a few numbers.

[skip sauce]
[skip validator]
2015-12-08 18:16:47 -08:00
Mark Otto 5d3144e8fb manually bump versions because npm script wasn't working for me 2015-12-08 09:36:08 -08:00
Chris Rebert 75c39f9138 Fix version numbers is JS files; fixes #18435
[skip sauce]
[skip validator]
2015-12-05 02:19:46 -08:00
XhmikosR 79a4273891 Tweak ESLint rules. 2015-12-03 08:41:46 +02:00
Chris Rebert 31ca64232d dropdown.js: Use more straightforward phrasing for index lower bound check
[skip sauce]
[skip validator]
2015-11-30 23:59:39 -08:00
Johann-S 21a65f181e Add throw error for undefined method on plugins 2015-10-02 10:01:24 +02:00
Jacob Thornton 18ff57a183 js tests passing + eslint 2015-08-18 19:22:46 -07:00
Jacob Thornton 05c7a37507 fix dropdown test 2015-08-15 12:17:13 -07:00
fat f8b2569ec8 implement global dispose method 2015-05-13 12:48:34 -07:00
fat ca9c850ebb add getters for Version and Default where applicable
add modal my gawd
2015-05-10 19:45:38 -07:00
fat bbb97a8660 add dropdown 2015-05-10 13:47:11 -07:00