GeoSot
d105439235
Dropdown: merge instance identification in dataApiKeydownHandler
...
As we use the `dataApiKeydownHandler` only for events that are triggered on `[data-bs-toggle="dropdown"]` or on `.dropdown-menu`, we can ensure that their `parentNode` will ALWAYS be the `.dropdown` wrapper
2022-02-01 08:58:46 +02:00
XhmikosR
89f88762c5
Fix visual tests ( #35585 )
...
* Fix visual tests
They broke in #34509
* load bundle.js in visual tests
Co-authored-by: GeoSot <geo.sotis@gmail.com>
2022-01-30 16:12:24 +02:00
GeoSot
dcbe7b6f31
Modal.js: remove unnecessary checks from test
2022-01-30 15:39:34 +02:00
GeoSot
28c9002573
Modal: handle click event from backdrop callback
2022-01-30 15:39:34 +02:00
GeoSot
aa650f0f1e
tests: replace 'done' callback with 'Promise' to fix deprecation errors ( #35659 )
...
Reference:
https://jasmine.github.io/tutorials/async
'DEPRECATION: An asynchronous function called its 'done' callback more than once. This is a bug in the spec, beforeAll, beforeEach, afterAll, or afterEach function in question. This will be treated as an error in a future version. See<https://jasmine.github.io/tutorials/upgrading_to_Jasmine_4.0#deprecations-due-to-calling-done-multiple-times > for more information.
2022-01-30 14:30:04 +02:00
GeoSot
fa93995123
Event handler: replace deprecated initEvent
2022-01-30 14:15:17 +02:00
XhmikosR
62d86c07f8
Rename variables
2022-01-29 13:25:30 +02:00
Ryan Berliner
14c7dc1e88
Fix: isVisible
function behavior in case of a <details>
element, on chrome 97 ( #35682 )
2022-01-13 10:55:05 +02:00
Patrick H. Lauke
0d054bb0f1
Remove explicit use of aria-hidden for offcanvas when closed ( #35589 )
...
Remove explicit use of aria-hidden & visibility for offcanvas when closed, handling it with css
Co-authored-by: GeoSot <geo.sotis@gmail.com>
Co-authored-by: Gaël Poupard <ffoodd@users.noreply.github.com>
2022-01-05 19:20:15 +02:00
GeoSot
0d4213bde3
Carousel: move repeated code to a method
2021-12-21 17:37:24 +02:00
GeoSot
d40fae456e
Popover.js: Accept empty content through data-bs-content
( #35514 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-12-15 10:41:31 +02:00
GeoSot
886b940796
Extract Component config functionality to a separate class ( #33872 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-12-10 18:18:18 +02:00
XhmikosR
94d4fa3b10
Fix tests fixture type ( #35501 )
...
Previously we were adding an Array instead of a String
2021-12-09 16:01:29 +02:00
GeoSot
c376cb0763
Dropdown: fix toggle focus after dropdown is hidden using the ESC
button ( #35500 )
2021-12-09 15:34:17 +02:00
GeoSot
4fd5539c75
ScrollBar.js. Minor refactoring and add test ( #35492 )
2021-12-09 15:05:50 +02:00
GeoSot
328f723008
Tooltip: remove title attribute before show & add tests ( #35456 )
2021-12-07 15:51:56 +02:00
Louis-Maxime Piton
d8999dd566
Tests: Minor fixes ( #35455 )
2021-12-02 12:01:11 +02:00
GeoSot
385fea49e8
Tooltip/Popover: add underscore prefix to protected functions
2021-12-01 18:00:36 +02:00
GeoSot
c69ccba08c
Tooltip: Change _enter
& _leave
to work without arguments
2021-12-01 18:00:36 +02:00
GeoSot
fb5921dec4
Dropdown: Merge display='static'
& isNavbar
functionality activating static popper with no styles attached
2021-12-01 17:10:39 +02:00
GeoSot
8b308b76f0
Dropdown tests: Use a function to improve readability ( #35448 )
2021-12-01 16:49:02 +02:00
GeoSot
cab62af2e6
Fix popover arrow & tooltip template after the setContent
addition ( #35441 )
2021-12-01 15:10:10 +02:00
GeoSot
44a6cd724c
Tooltip: remove leftover method ( #35440 )
...
Remove a leftover after #32692
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-12-01 14:53:56 +02:00
XhmikosR
e5d8256e42
tests/unit/util/scrollbar.spec.js: rename function
...
`parseInt` is a global one.
2021-12-01 14:30:49 +02:00
XhmikosR
11ce6c2dcd
tests: fix a few typos
2021-12-01 14:30:49 +02:00
XhmikosR
f8f9dc3b5c
tests: remove extra spaces, unneeded arrays and add missing newlines
2021-12-01 14:30:49 +02:00
XhmikosR
eb54e1a1ce
tests: tweak Jasmine's matchers usage
...
Use:
* toBeNull
* toEqual
* toBeTrue
* toBeFalse
* toHaveSize
* toHaveClass
2021-12-01 14:30:49 +02:00
XhmikosR
5739bf7637
tests/browsers.js: remove unneeded export
2021-12-01 14:30:49 +02:00
GeoSot
1692fc6b4b
Alert: add a couple more tests ( #35419 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-11-29 14:32:11 +02:00
GeoSot
3129ff075b
BaseComponent: add a couple more tests ( #35410 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-11-29 14:27:03 +02:00
GeoSot
6f077ff7bc
Clean tooltip component unneeded functionality ( #32692 )
2021-11-25 20:08:11 +02:00
GeoSot
569bca54d2
Add test for modal-content
2021-11-25 19:23:49 +02:00
GeoSot
94a596fbcb
Add a template factory helper to handle all template cases ( #34519 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-11-25 19:14:02 +02:00
GeoSot
b991a6b851
tests: try to fix a few random failures ( #35184 )
...
* Change `Swipe` dispose spy on EventHandler
* Modal hide spy on backdrop hide
2021-10-13 17:45:39 +03:00
GeoSot
db44392bda
Swipe: add test to ensure that it ignores pinch
events ( #35161 )
2021-10-12 15:48:19 +03:00
GeoSot
8ec6c94522
Extract Carousel's swipe functionality to a separate Class ( #32999 )
2021-10-11 17:04:43 +03:00
XhmikosR
a260967a55
tests: minor cleanup ( #35138 )
...
* tests: minor cleanup
* tests: use the util noop function
2021-10-08 12:32:11 +03:00
XhmikosR
64e13162fa
Sanitizer: fix logic and add a test. ( #35133 )
...
This was broken in 2596c97
inadvertently.
Added a test so that we don't hit this in the future.
2021-10-07 17:48:36 +03:00
GeoSot
598b4c59a6
Use for...of
in visual tests too
2021-10-05 19:52:11 +03:00
XhmikosR
666fe596bf
Enable unicorn/no-array-for-each
rule
2021-10-05 19:52:11 +03:00
XhmikosR
9f1579aa04
Enable unicorn/prefer-prototype-methods
rule
2021-10-05 19:52:11 +03:00
XhmikosR
c81c645394
rollup: specify generatedCode: 'es2015'
( #35070 )
...
This will make use of `const` and modern features (which we are already using in our code) in the generated rollup code.
2021-10-04 19:46:07 +03:00
GeoSot
bdfb4cc54d
Fix Collapse regression of handling toggling between sibling chilldren ( #34951 )
2021-09-15 15:33:19 +03:00
XhmikosR
c5d03d93fc
Rename e
to event
( #34979 )
2021-09-15 14:27:46 +03:00
GeoSot
c9af4565fd
tests: fix lint warning ( #34950 )
2021-09-13 10:57:17 +03:00
XhmikosR
23b3d636e1
Typo fixes ( #34914 )
2021-09-07 09:45:27 +03:00
XhmikosR
68a86d3477
BrowserStack: add Firefox 60 and Chrome 60 ( #34912 )
...
These are the minimum supported versions, so this patch makes sure everything works there too.
2021-09-06 21:54:08 +03:00
XhmikosR
ef21000cbe
tests: add Offcanvas too in jquery.spec.js ( #34841 )
2021-08-30 18:57:00 +03:00
XhmikosR
a7e64b5a4f
Add GitHub SHA in BrowserStack build ID. ( #34077 )
2021-08-30 16:30:51 +03:00
XhmikosR
c02805bb8c
Move a few ESLint rules where they are needed.
2021-08-30 15:51:44 +03:00
GeoSot
c1fc1dbbee
Collapse on toggle, should not hide descendant tabpanels ( #34835 )
2021-08-30 15:29:02 +03:00
XhmikosR
40042ee503
visual tests: minor fixes ( #34802 )
2021-08-23 18:33:55 +03:00
GeoSot
1e5e655670
Fix modal when is triggered by bs-toggle
, to hide other open instances ( #34701 )
2021-08-10 17:55:34 +03:00
GeoSot
a6a2d1e2df
Regression on tooltip template creation process. ( #34628 )
...
* Regression on tooltip template creation process.
* check if template content does not exist, or given argument is empty
* call `setContent()` once.
2021-08-03 11:59:33 +03:00
XhmikosR
6d707f4801
Enable a few eslint-config-xo rules ( #34620 )
...
* unicorn/prefer-dom-node-append
* unicorn/prefer-dom-node-remove
2021-07-30 00:23:00 +02:00
GeoSot
6f17e634ce
keep parent only as element
2021-07-29 16:30:02 +03:00
GeoSot
4bfd8a2cbc
Use a streamlined way to trigger component dismiss ( #34170 )
...
* use a streamlined way to trigger component dismiss
* add documentation
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-07-28 17:39:32 +03:00
alpadev
047145e808
Fix Manipulator.offset()
( #33603 )
...
* test: add more test cases for Manipulator.offset()
* fix: Manipulator.offset() is using obsolete properties to get scroll position
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: GeoSot <geo.sotis@gmail.com>
2021-07-28 17:23:32 +03:00
Ryan Berliner
7646f6bd33
Add shift-tab keyboard support for dialogs (modal & Offcanvas components) ( #33865 )
...
* consolidate dialog focus trap logic
* add shift-tab support to focustrap
* remove redundant null check of trap element
Co-authored-by: GeoSot <geo.sotis@gmail.com>
* remove area support forom focusableChildren
* fix no expectations warning in focustrap tests
Co-authored-by: GeoSot <geo.sotis@gmail.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-07-27 08:01:04 +03:00
GeoSot
b1dad0943f
handle click event in one place, remove undocumented click listener on element in case of not having the proper markup
2021-07-22 17:54:48 +03:00
GeoSot
5541179b38
Fix Util.reflow
function and add documentation ( #34543 )
...
* add documentation to reflow function
* refactor to void as it should be
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-07-20 17:20:43 +03:00
GeoSot
dfafb9a60c
modal: change data-dismiss
so that it can be outside of a modal using bs-target
( #33403 )
...
* change data-dismiss, so can be outside modal, using a bs-target
* Update site/content/docs/5.0/components/modal.md
Co-authored-by: Gaël Poupard <ffoodd@users.noreply.github.com>
2021-07-19 16:56:05 +03:00
Mark Otto
359ed099e5
Add horizontal collapse support
2021-07-05 17:22:29 -10:00
Jeremy Jackson
d314466a4d
Accept argument of different types in the getInstance
method ( #34333 )
2021-06-29 17:45:45 +03:00
GeoSot
70dd7f6ff5
Changes to Alert component to match the others ( #33402 )
...
Alert.js: Refactor code to match the other components
* Use this._element
* Remove handleDismiss method and keep its functionality on event
* Change JqueryInterface to be more generic
* Correct docs to be aligned with code, and add undocumented functionality
* Update alerts.md
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-06-28 16:34:47 +03:00
Mark Otto
45d26de728
Variablize backdrop for modal and offcanvas
2021-06-25 13:41:15 -07:00
GeoSot
f94f497ad5
ScrollSpy: Make Proper use of the SelectorEngine
...
* avoid extra work, creating ids
* simplify selectors and constrain search inside `config.target`
2021-06-22 19:50:21 -07:00
alpadev
4927388197
Register only one DOMContentLoaded
event listener in onDOMContentLoaded
( #34158 )
...
* refactor: reuse one DOMContentLoaded event listener in onDOMContentLoaded function
Instead of adding an event listener everytime the utility function is called, cache the callbacks and execute them all at once.
* refactor: drop iife for onDOMContentLoaded
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-06-22 20:19:55 +03:00
alpadev
290b9ee2cd
fix(carousel): arrow keys break animation if carousel sliding ( #34307 )
2021-06-22 13:11:03 +03:00
alpadev
d62ba935ef
Fix carousel buttons ( #34266 )
...
* test(carousel): add test to check if next/prev button work as intended
* fix(carousel): merge passed config with instance config in carouselInterface
2021-06-16 07:48:23 +03:00
GeoSot
cb47b8c964
Refactor scrollbar.js to be used as a Class ( #33947 )
2021-06-06 09:26:36 +03:00
GeoSot
c98657b830
Add getOrCreateInstance
method in base-component ( #33276 )
...
Co-authored-by: Rohit Sharma <rohit2sharma95@gmail.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-06-03 18:53:27 +03:00
alpadev
4a5029ea29
Fix handling of transitionend events dispatched by nested elements( #33845 )
...
Fix handling of transitionend events dispatched by nested elements
Properly handle events from nested elements
Change `emulateTransitionEnd` to `executeAfterTransition` &&
2021-06-03 14:44:16 +03:00
Ryan Weaver
0cb70e214f
Changing Backdrop rootElement to default to a string ( #34092 )
...
The current config can cause the "body" to become stale. Specifically,
if the entire body element is swapped out for a new body element, then
the backdrop will continue to append itself to the original body element,
since it's stored in memory as a reference on this object.
This also no longer allows an explicit null to be passed to Backdrop's rootElement
This still accomplishes the laziness of "not finding the rootElement
until the Backdrop is created" to avoid problems of the JavaScript
being included inside <head> (so, before body is available).
2021-05-31 12:35:59 +03:00
alpadev
b513a19003
Fix prevented show event disables modals with fade class from being displayed again ( #34085 )
...
Fix modal, in case is faded, a prevented show event can cause show method to not be executed again.
2021-05-24 18:52:36 +03:00
alpadev
b39b665072
Automatically select an item in the dropdown when using arrow keys ( #34052 )
2021-05-22 10:58:52 +03:00
GeoSot
e06e6dfe53
fix test of #34014 ( #34070 )
...
Fixes regression of a2b5901efc
breaking the test runner because it would wipe document.body.
2021-05-22 02:54:32 +02:00
Ryan Weaver
a2b5901efc
Fix bug where backdrop calls method on null if it is already removed from the body ( #34014 )
...
Co-authored-by: Rohit Sharma <rohit2sharma95@gmail.com>
2021-05-22 01:16:05 +03:00
Ryan Berliner
4ac711b5b4
Refactor isVisible
helper, fixing false positives from deep nesting or alternate means ( #33960 )
2021-05-20 16:50:53 +03:00
GeoSot
79c3bf47bc
Add Tests on scrollbar.js & better handling if a style property doesn't exists ( #33948 )
...
* scrollbar.js:
add some tests
transfer test from modal.spec. to scrollbar.spec
proper handling if style property doesn't exist
2021-05-20 16:29:04 +03:00
GeoSot
9e4f87ae8f
Allow use of dispose/hide
methods on Tooltip & Popover from jQueryInterface, when component does not exists. ( #33371 )
2021-05-20 16:16:55 +03:00
GeoSot
df72a21fa8
Add getNextActiveElement
helper function to utils, replacing custom implementation through components ( #33608 )
2021-05-19 01:23:52 +03:00
GeoSot
2757fbe28e
Reset inside a Dialog does not work if data-dismiss="modal"
is set ( #33928 )
2021-05-18 09:26:22 +03:00
Rohit Sharma
153cf3a235
Don't add empty content holder when there is no content available ( #33982 )
...
* Remove content holder when there is no content
* Add tests to check the removal of header/content
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-05-18 09:02:39 +03:00
GeoSot
6e1c9096f0
Move get element functionality to a helper ( #33327 )
...
Looking around on js components I found out many checks, different expressed but with same purpose.
Some of them are trying to parse string to element, others, jQuery element to js simple nodeElement etc
With this Pr, I am trying to give a standard way to parse an element
So this pr:
* Creates `getElement` helper that tries to parse an argument to element or null
* Changes `isElement` to make explicit checks and return Boolean
* fixes tests deficiencies
2021-05-13 18:17:20 +03:00
GeoSot
9a9e22475c
Popover/Tooltip: streamline config property to start with underscore ( #33381 )
2021-05-12 12:15:59 +03:00
GeoSot
d794e8970b
Fix test warning for dropdown, without expectations ( #33938 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-05-11 12:54:51 +03:00
GeoSot
8d1b0fb779
Fix offcanvas test to expect the initial body overflow
value ( #33927 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-05-11 11:06:32 +03:00
GeoSot
9fe36edf68
Extract static DATA_KEY
& EVENT_KEY
to base-component ( #33635 )
...
* Force each plugin that extends base-components to implement a static method `NAME()`
* Remove redundant `NAME` argument from 'Utils.defineJQueryPlugin' & fix test
2021-05-11 10:49:30 +03:00
alpadev
7647b8fe5b
Fix: Click on input outside of dropdown-menu prevents dropdown from closing ( #33920 )
...
* test: add test if user clicks on input not contained within dropdown-menu
* fix: click on inputs that are not contained within dropdown-menu prevent dropdown from closing
2021-05-11 09:09:00 +03:00
Ben Lertlumprasertkul
052def4568
Remove potential false positive assertions ( #33288 )
...
* Remove potential false positive assertions
querySelector() returns null but
expect(document.querySelector('...')).toBeDefined()
tests that the value is not undefined
* Migrated assertions from .toBeDefined() to .not.toBeNull() for .getInstance() calls in tests
* Migrate offcanvas assertions from .toBeDefined() to .not.toBeNull() for .getInstance() call
* convert more cases to not.toBeNull assertions
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-05-11 08:45:57 +03:00
Ryan Berliner
9c3ab6557e
Prevent toast autohiding if focusing or hovering ( #33221 )
2021-05-11 08:37:57 +03:00
Nagarjun Bodduna
741fa589d0
Fix backdrop rootElement
not initialized in Modal ( #33853 )
...
* Initialize default value of rootElement before using
* Remove redundant test | put rootElement tests together
Co-authored-by: GeoSot <geo.sotis@gmail.com>
2021-05-10 21:17:53 +03:00
GeoSot
d381820d16
Scrollbar: respect the initial body overflow value ( #33706 )
...
* add method to handle overflow on body element & tests
* replace duplicated code on modal/offcanvas tests
2021-04-25 06:50:16 +03:00
alpadev
e2294ff090
Add missing test for clicking select option in a dropdown ( #33734 )
2021-04-25 06:45:08 +03:00
Carson Sievert
2cbb0a941c
Dropdown: support .dropdown-item
wrapped in <li>
tags ( #33634 )
...
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-04-21 08:30:19 +03:00
GeoSot
079f2cd90c
Offcanvas.js: If scroll is allowed, should allow focus on other elements ( #33677 )
2021-04-20 08:32:52 +03:00
GeoSot
0bbe45cd97
Tab.js: Fixes on click handling ( #33586 )
...
* use prevent default only if triggered by anchor
* disable auto-initialization if trigger is disabled
2021-04-20 08:26:58 +03:00
Rohit Sharma
b59b75bc55
Dropdown — Add option to make the dropdown menu clickable ( #33389 )
2021-04-20 08:19:57 +03:00
alpadev
d67121db28
Fix regression for handling mouseenter
/mouseleave
events introduced by #33310 ( #33679 )
...
* test: update spec for sibling adjacent mouseenter/mouseleave events
there is a regression introduced by #33310 - this would have catched that
* fix: fixup regression for mouseenter/mouseleave events introduced by #33310
the old logic only worked for parent-child movement since it checked for the relatedTarget to contain the delegateTarget - this should be fixed with this
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-04-19 08:30:33 +03:00