0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-01-26 18:52:18 +01:00

59 Commits

Author SHA1 Message Date
XhmikosR
a716fb03f9
Prepare v4.5.3. (#31880) 2020-10-13 18:38:30 +03:00
Laussel Loïc
24572b1577
buttons plugin : avoid multiple change event trigger (#31000)
- add unit test to count how many events are thrown when widget contains multiple tags inside label
- add a parameter to toggle, if click event is provided onto an input then don't trigger another change event already thrown by the browser
- simplify the case where toggle interface is called click provide from input itself OR it's a button without label. If label is present, then browser propagate click event from childrens through label and then cause multiple calls to toggle
- the test assumes that `.btn` class is always set onto the label if there's one, otherwise need to update this plugin and look for label around the input

Test with keyboard, mouse and js click call

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-10-02 17:40:20 +03:00
XhmikosR
b31046aab3 Cache a few variables. 2020-09-21 14:58:34 +03:00
XhmikosR
c86b74fe88 Unbreak lines and remove a TODO comment 2020-09-21 14:58:34 +03:00
XhmikosR
3be585990c Comply to the new rules 2020-09-10 12:06:30 +03:00
XhmikosR
5f2480a90a
Prepare v4.5.2. (#31444) 2020-08-06 19:22:43 +03:00
XhmikosR
89dc9750ec
Prepare v4.5.1. (#31408) 2020-08-04 19:24:33 +03:00
XhmikosR
3349eb6a41 Update links to point to v4-dev or main branches 2020-06-24 15:16:58 +03:00
Laussel Loïc
e9f039d1fe
avoid preventing input event onclick (#30992)
* instead of stopping event if onclick is triggered on input, call toggle method only if its not on checkbox inside a label

* add unit test

* add a dedicated test to ensure click event is forward to label

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-06-10 15:45:31 +03:00
XhmikosR
109ad5db90 Bump version to 4.5.0. 2020-05-12 20:44:42 +03:00
XhmikosR
f7ed579d91
Switch to string constants. (#30490)
This allows the minifier to mangle the constants. It also allows the linter to find unused strings properly.

While at it, remove a few unused properties.

File                        Before      After       Diff
--------------------------------------------------------
bootstrap.bundle.min.js     22.09 kB    21.13 kB    -0.96 kB (-4.35 %)
bootstrap.min.js            15.4 kB     14.46 kB    -0.94 kB (-3.86 %)
2020-03-31 21:27:35 +03:00
Laussel Loïc
8b6dd449d7
fix $().button('toggle') not working for checkbox inside label (#30388) 2020-03-16 14:28:33 +02:00
XhmikosR
dca1ab7d87 Release v4.4.1. 2019-11-28 14:59:49 +02:00
XhmikosR
593574d510
Release v4.4.0 (#29735) 2019-11-26 19:12:00 +02: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
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
XhmikosR
8fa0d30101
Release v4.3.1. (#28252) 2019-02-13 18:01:40 +02:00
Mark Otto
1ded0d6a4e
Release v4.3.0 (#28228)
* Prep for v4.3.0

* More updates for v4.3.0.

* rerun to build docs source map
2019-02-11 11:15:34 -08:00
Mark Otto
9e4e94747b
Bump to v4.2.1 (#27892) 2018-12-21 10:55:28 -08:00
Mark Otto
eda851ee76 Prep for v4.2.0 release
- Move 4.1 docs to 4.2
- Update versions everywhere to 4.1.3 with release script
- Manually bump the shorthand version in package.json
- Add 4.2 to the versions docs page
- Update some redirects
- Fix tests asset URLs
- Bump Nuget and more
2018-12-21 09:03:29 -08:00
Mike Vastola
fc15c4c4ce Change button checkbox/radios to ignore hidden input fields (#27802) 2018-12-10 10:40:08 +02:00
Johann-S
9201a80510 some cleaning and changes for readability 2018-11-14 10:54:50 +01: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
Johann-S
a79b8aa16a refactor(plugins): query elements without jquery 2018-06-03 11:40:08 +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
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
Mark Otto
ced70da441 Update version to 4.0.0-beta.3 2017-12-28 09:50:04 -08: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
Johann-S
9936bf5944 Create a bundled release of Bootstrap with Popper.js inside 2017-08-31 18:43:04 +02:00
Mark Otto
35f80bb12e bump to beta 2017-08-10 20:56:35 -07:00
Anna
33715a73d2 Fix Toggle buttons don't honor [disabled] or .disabled 2017-04-26 18:46:05 +02:00
Patrick H. Lauke
3f6e1faf45 Only change aria-pressed if it's not an input-based radio or checkbox group
* Only change aria-pressed if it's not an input-based radio or checkbox group

aria-pressed="true"/aria-pressed="false" is really only useful for
making on/off toggles out of, say, `<button>` elements. the attribute is
useless (and potentially confusing/conflicting) on, say, `<label>`
elements for an existing `<input type="radio">` or similar.

* Add unit test for buttons.js and radio/checkbox inputs in button groups
2017-04-10 14:43:54 +01:00
Mark Otto
045888fa38 version bump 2017-01-06 08:38:04 -08:00
Johann-S
0463b01282 Close #21090 - Fix aria-pressed attribute for buttons in container with data-toggle='buttons' 2017-01-04 11:02:16 +01:00
Mark Otto
b6b8280938 Merge pull request #18900 from vlastikcz/v4-dev-buttonChange
Button toggling - trigger change event on input. Fixes #16673, fixes #17599.
2016-11-26 01:18:21 -08:00
Bardi Harborow
c2616fb74e Make JS compliant with the new ESLint rules. 2016-11-24 11:59:55 +11: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
Patrick H. Lauke
701b12bf58 Replace jQuery with vanilla JS 2016-02-17 15:21:02 +00:00
Patrick H. Lauke
a496cb8be4 Focus (visually hidden) input radio/checkbox
This allows for keyboard navigation (e.g. arrow keys left/right to
trigger different radio buttons) following an initial mouse click
interaction
2016-02-16 14:29:59 +00:00