0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-14 02:24:00 +01:00
Commit Graph

558 Commits

Author SHA1 Message Date
Kitten King
b66abdf3b1 Fix Typos across Bootstrap repository (#29082) 2019-07-31 11:37:39 +03:00
Patrick H. Lauke
be80d26cdb Ensure button plugin sets/removes active class correctly on page load (#28952)
* Ensure correct active class is set on button toggles/checkboxes/radios on page load

Sanity check, ensures that the UI visually matches the actual values/states of controls. Also ensures that if any autocomplete/autofill happened, this is visually accounted for
by having the correct class set.

Includes unit tests (and `autocomplete` has been removed from these as it's no longer necessary)

* Remove now unnecessary autocomplete attribute

As the attribute was there to force/ensure that the visual presentation matched the state, and this is now taken care of programmatically, there's no need to unnecessarily suppress autocomplete...let them autocomplete if they want to...
2019-07-10 11:03:54 +03:00
Patrick H. Lauke
5f44e01dab Add missing dropdown unit test for closing with ESC (#28929)
Backport of the unit test from https://github.com/twbs/bootstrap/pull/28928
2019-06-19 13:43:48 +03:00
Patrick H. Lauke
1da3aa3103 Don't open dropdown on ESC on trigger element (#28912)
* Don't open dropdown on ESC on trigger element

Closes #28751
2019-06-18 15:02:58 +03:00
Patrick H. Lauke
24abed1336 Fix keyboard handling of button-style checkbox/radio button groups (#28834)
- adds more defensive checks to make sure no unnecessary toggling happens on disabled buttons; this also fixes an up-to-now undiscovered bug where a toggle button with `.disabled` class would still have its `aria-pressed` toggled
- adds a set of explicit tests for the above case of disabled buttons and `aria-pressed`
- remove a now irrelevant (or at least very nonsensical) test for `<label>` containing both an actionable and a `hidden` `<input>`
- expand the test for disabled checkbox to also explicitly test starting conditions (used mainly in my debugging)
- ensure that `$btn[0].click()` is used to click checkboxes in tests, rather than the `click()` on the jquery object which is simply a shorthand for `trigger('click')` and does not actually trigger the browser default behavior
- remove the `preventDefault()` from the button handling, which was preventing correct keyboard functionality for checkboxes/radio buttons
- add extra logic to the button.js code to handle checkboxes correctly and avoid double-triggering as a result of mouse interactions (which saw the checkboxes being toggled twice, thus returning them to their original state)
- add logic that prevents the `checked` property from being added incorrectly for any inputs other than radio buttons and checkboxes
- added more tests (including the most basic test for a properly triggered fake checkbox button)
- work around Firefox bug #1540995 (which this code was hitting after removing the `preventDefault()`, due to Firefox's incorrect toggling of disabled checkboxes when programmatically (but not manually) activated with a `click()` event
2019-06-18 15:02:58 +03:00
Johann-S
c6dd1a7d93 Backport #28777.
Toast should allow prevent default for hide and show events
2019-05-30 11:58:34 +03:00
Johann-S
c50c1e9d23 fix unit tests for chrome mobile 2019-04-29 17:41:28 +03:00
Johann-S
8fda884ad3 Reset carousel touch delta x to prevent click transformation in swipe (#28558) 2019-03-27 20:57:28 +02:00
Johann-S
86de1d3875 fix jquery detection 2019-03-08 00:30:24 +02:00
Johann-S
7bc4d2e0bc Add sanitize template option for tooltip/popover plugins. 2019-02-13 08:32:15 +02:00
Johann-S
b54ddfda83 fix modal test to be sure we call getTransitionDurationFromElement 2019-02-06 15:01:13 +01:00
Johann-S
3c49467224 allow to override default toast options (#28186) 2019-02-06 15:19:04 +02:00
Johann-S
11880109fc
fix tabs, apply show class only when fade class is present (#28183) 2019-02-06 11:12:02 +01:00
Jason Golieb
e44d0475e0 Move dropdown offset function logic into private function. (#28138) 2019-02-05 10:31:18 +02:00
Jason Golieb
88a34aacbe Add support for tooltip offset option to be a function. 2019-02-05 10:24:49 +02:00
Shohei Yoshida
de0bb1e052 Scrollable modal (#27769) 2019-01-20 23:28:16 +02:00
Johann-S
d51ee0dcf1 Fix Carousel's touch option to not add touch listeners when set to false (#28046) 2019-01-14 18:53:54 +02:00
Johann-S
89a73f100e carousel should not cycle when there is no data-ride on init (#27968) 2019-01-04 18:15:01 +02:00
Johann-S
3bd9fb3649 getSelectorFromElement return null on bad selectors (#27912) 2018-12-23 14:30:35 +02:00
Mike Vastola
fc15c4c4ce Change button checkbox/radios to ignore hidden input fields (#27802) 2018-12-10 10:40:08 +02:00
Johann-S
fa03289d13 avoid console call in our unit tests (#27790) 2018-12-06 10:51:35 +02:00
Patrick H. Lauke
6c00dd08bc Add aria-modal to modals (#27780)
Dynamically set/remove `aria-modal="true"` when a modal is shown/hidden
2018-12-05 20:58:09 +02:00
Johann-S
b16127fc10 Allow Tooltips/Popovers to work in shadow DOM 2018-12-05 16:02:59 +01:00
Johann-S
37f74c7070 fix regression about using element for tooltip container option 2018-12-05 10:57:02 +01:00
Johann-S
32ab52ba2e Add test to make sure we enforce focus on modal (#27723) 2018-11-25 18:20:55 +02:00
Johann-S
557d5ac74d Remove the show delay for our toast plugin 2018-11-13 08:47:32 +02:00
Laussel Loïc
4cac833447 Implement data-dismiss="toast" to allow user to interact itself with the component (#27155) 2018-11-13 08:47:32 +02:00
Johann-S
16cf76ff1a Create toast JS plugin, add unit tests. 2018-11-13 08:47:32 +02:00
Johann-S
f7a4b39767 handle detached tooltip when we try to hide a modal 2018-11-02 13:39:58 +01:00
Johann-S
cebdfb9090 fix dispose modal unit test 2018-10-30 16:59:24 +01:00
Andrew Luca
bd2851938a test(Modal): check if modal is disposed 2018-10-30 16:28:32 +01:00
XhmikosR
02df7cd0d2
Fix util tests on IE 10 (#27556) 2018-10-30 15:29:04 +02:00
Martijn Cuppens
5aed968750 Prevent the background to be shown when transitioning 2018-10-30 08:57:02 +02:00
Johann-S
91f8077ed5 add unit tests for our carousel 2018-10-29 14:49:29 +01:00
Johann-S
2c2d04aba5 add unit test to test tabs can be removed without throwing error 2018-10-29 14:01:03 +01:00
Johann-S
ffc8d507c7 calculate modal transition duration based on modal-dialog element 2018-10-28 23:59:17 +02:00
Andrew Luca
1f1308ba22 test(Modal): reuse _getScrollbarWidth in tests 2018-10-21 17:45:02 +02:00
Johann-S
b1dc6b324c avoid drag img 2018-10-20 15:32:09 +03:00
patrickhlauke
8883ccb205 Set touch-action to "none"
Firefox currently seems extremely fickle - with `pan-y` if fires pointercancel as soon as a touch strays even a pixel or so vertically.
While `touch-action: pan-y` would be ideal (allowing users to scroll the page even when their finger started the scroll on the carousel), this prevents a swipe that isn't perfectly/only horizontal to be recognised by Firefox.
2018-10-20 15:32:09 +03:00
patrickhlauke
7b8f01d839 Use correct touch-action values
- my fault, my original advice of using `touch-action: pan-x` is exactly the value we *don't* want to have the browser handle...
2018-10-20 15:32:09 +03:00
Johann-S
735c374e9c use pointer events if available 2018-10-20 15:32:09 +03:00
Johann-S
c08652cfe8 swipe left/right without hammerjs 2018-10-20 15:32:09 +03:00
Johann-S
caefd70463 Add touch support in our carousel with HammerJS. 2018-10-20 15:32:09 +03:00
galczo5
6cbcd03efb Add show and hide methods to dropdown (#27370) 2018-10-20 14:27:51 +03:00
Christopher Morrissey
ea0faadde5 feature(carousel): carousel-item interval (#26667)
adds the ability to assign data-interval to an individual carousel-item
2018-09-18 15:55:48 +03:00
Johann-S
a689120fd2 throw error when folks try to use a bad selector 2018-09-13 22:13:36 +02:00
Johann-S
6e2a823a44 collapse children with no data-parent 2018-09-10 21:10:00 +02:00
Johann-S
a3e45d8ced
add information about valid selectors (#27137) 2018-08-31 21:00:29 +02:00
Johann-S
eab9da5beb fix(util): use querySelector for ids 2018-08-12 17:01:01 +02:00
Johann-S
6b92321f6a fix(util): use getElementById when it's possible 2018-08-07 18:49:02 +02:00
Johann-S
283ab30164 fix(modal): fix unit test and resetting style 2018-07-11 11:05:38 +02:00
Catalin Zalog
cb82394fc8 fix(modal): removes .navbar-toggler margin 2018-07-11 11:05:38 +02:00
Johann-S
e57a2f244b fix(tooltip): get tip on placement change 2018-06-25 16:54:14 +02:00
jakubhonisek
49e094619b feat(dropdown): add original click event 2018-06-25 15:29:34 +02:00
Johann-S
f2aab5ea99 fix(tooltip): remove useless unit test 2018-05-22 17:26:21 +03:00
Johann-S
0338b61eb6 chore(deps): update qunit and karma-qunit 2018-05-22 17:26:21 +03:00
Johann-S
ba10b63c9d fix issue related to Object.keys and Dropdown issue 2018-04-13 18:59:30 +02:00
Johann-S
0871d69ec9
v4 improve coverage (#25945)
* Improve code coverage for our Button plugin

* improve coverage for our Alert plugin

* test tooltip update method

* test update and dispose for dropdown

* increase code coverage requirements
2018-04-10 09:28:29 +02:00
XhmikosR
875ed0b975 Clean up globals.
Also, add a missing license header in build/workbox.js.
2018-04-09 22:44:22 +03:00
Johann-S
fd57d371f8 fix bundle and run test against it 2018-03-29 21:21:31 -07:00
vsn4ik
68db42c9f8 Fix skip element disabled via attribute when using keyboard navigation 2018-03-26 09:37:25 +02:00
Johann-S
bedc96e48b Use transitionEnd in QUnit since we moved away from PhantomJS 2018-03-20 15:56:51 +01:00
Johann-S
4d5c5923fa Add Sinon to do better unit test 2018-03-13 15:37:11 +01:00
Johann-S
2c41b0aea6 fix get the transition duration parent 2018-03-13 12:57:44 +01:00
Martijn Cuppens
1fadad1c33 Variable transition durations (#25662) 2018-03-13 09:59:20 +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
Johann-S
5a6be71791 Remove escaping selector and add a warning to inform folks to escape their selectors (#25390) 2018-01-21 22:02:16 +02:00
XhmikosR
80d0943b95 Comply to the new rules. 2018-01-11 18:48:46 +02:00
XhmikosR
6d336502c7 Clean up and tweak ESLint rules.
Also, refactor ESLint and stylelint config files; now everything will work from our root dir.
2018-01-11 18:48:46 +02:00
Martijn Cuppens
a1d134f8a8 Multiple accordion support (#25161) 2018-01-03 16:40:58 +02:00
Martijn Cuppens
ae71e71fe1 Allow nested structure for accordions (#25121)
This commit allows nested structures for accordions. Also a part of
the documentation about data-children is removed because this
functionality didn't work and it's not applicable anymore.

Tests with the collapse accordion are also a bit adjusted to the new
situation.
2017-12-31 14:53:33 +02:00
Troy Morehouse
8839c03865 dropdown: add boundary config option (#24976) 2017-12-12 11:28:30 +02:00
Alessandro Chitolina
80d4a51e79 tab.js: do not remove fade class if there's no initial active pane 2017-11-26 20:29:19 +01:00
Johann-S
e8ba37139f Allow us to run our unit test on differents jquery version 2017-11-23 10:41:56 +02:00
Edward Betts
ffc5965f2c Correct spelling mistakes. (#24778) 2017-11-15 04:12:38 -05:00
Vasilii Artemchuk
5a2d6c70f4 Use native pseudo-selectors instead of jQuery selectors (#24713) 2017-11-09 07:51:19 +02:00
XhmikosR
fc9967e175
Fix test failure with jQuery 1.9.1 (#24706) 2017-11-07 14:13:52 +02:00
Johann-S
79d6b574cc
Escape ID in Util.getSelectorFromElement (#24700) 2017-11-07 12:41:06 +01:00
Johann-S
26dc17bcd2 Popover - call content once if it's a function. (#24690) 2017-11-07 09:18:52 +02: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
988327032d Add unit tests for util.js 2017-10-25 12:59:40 +02: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
XhmikosR
be9e6f3638 Update modal.js 2017-10-04 15:03:06 +03:00
lucascono
47968c8126 Unit test for modal bug fix
Unit test for pull request #24240
2017-10-04 08:55:40 -03:00
XhmikosR
31c8721913 Normalize all links. (#24109)
* use a trailing slash when possible
* use https when possible
* remove a few redirected links
* consistently use `https://popper.js.org/`
* fix `iconUrl` in nuget files
* change Jekyll Windows guide to the official one
2017-09-26 15:24:14 +03:00
Johann-S
9b8356ba52 Collapse - Allow to pass jQuery object or DOM element to the parent option 2017-09-25 13:23:13 +02:00
Patrick H. Lauke
fd56ea370c Accessibility fixes to dynamic tabs (aria-selected, remove dynamic tabs with dropdowns)
* Use `aria-selected` instead of `aria-expanded`
* Change tab.js to use `aria-selected` rather than `aria-expanded`
* Add `aria-orientation=vertical` to vertical tab list
* Remove dynamic tabs with dropdowns
* Fix non-interactive code examples
* Only set `aria-selected` on the `role="tab"` trigger - this stops `aria-selected` being incorrectly added to the `role="tabpanel"` itself (probably harmless, but nonetheless incorrect)
2017-09-24 12:00:54 +02:00
Troy Morehouse
6c70c70f63 fix(scrollspy): Spying on nested navs fails to activate for .nav-link's inside nav-item's (#23967)
* fix(scrollspy): Handle nested navs when nav-link inside nav-item

* [scrolspy] Find only child .nav-link's inside .nav-item

* [scrollspyt] Add tests for nested navs with nav-link inside nav-item

* fix troy-o's in test
2017-09-17 09:30:37 +02:00
Johann-S
e04e42d08c Merge branch 'v4-dev' into fix-jumping-modal-on-resize 2017-09-03 12:56:04 +02:00
David Bailey
ce41d3fd15 Add failing test 2017-08-29 15:36:37 +01:00
David Bailey
2622a015f2 Fix unit tests in PhantomJS
Use a virtual scrollbar as this is simpler than having a real one (overflow: scroll doesn't seem to work in Phantom), and disable it for the new test.

One test has also been altered to prevent erroneous fails when other inline styles are added to the body (e.g. overflow).
2017-08-29 12:01:41 +01:00
David Bailey
487513ff03 Add failing test
When the body does not overflow (achieved by hiding the QUnit container), it should not be given a margin.
2017-08-28 16:21:04 +01:00
meeque
9612830701 Add unit test for xss in data target attribute 2017-08-25 23:20:14 +01:00
David Bailey
ba6a6f1369 Fix sticky margin when a modal is opened (#23669)
* Adjust margin for sticky elements on modal

Previously white space was visible to the right of sticky elements due to right padding being added to the body. This fixes #23661.

* Add unit tests for margin of sticky elements on modal
2017-08-25 22:01:41 +01:00
Johann-S
5a90b4aa3e Collapse - preventDefault only on <a> elements not inside the collapsible
element
2017-08-25 09:48:35 +01:00
Johann-S
4571ab0e57 Fix toggle for Tooltips/Popover which was called even if the Tooltip/Popover was disabled 2017-08-24 09:33:49 +01:00
XhmikosR
ef8c77d8dc Tweak ESLint rules. 2017-08-23 00:05:38 +03:00
Johann-S
58994a16c5 Add a unit test to check if the carousel do not cycle when its parent isn't visible 2017-08-17 17:48:14 +01:00