Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js/src
diff options
context:
space:
mode:
authorJulien Déramond <julien.deramond@orange.com>2022-05-06 05:26:15 +0300
committerGitHub <noreply@github.com>2022-05-06 05:26:15 +0300
commit5d9500bdfdd02b3b1d91df2be86b1723f517fc52 (patch)
tree74a29c6a0b05e22bb3efbc5520f19a3faa6ac6aa /js/src
parentcca801683dfbc54dc7ae7a6ef6ce4361b071bc36 (diff)
Handle disabled focused tabs with tab JavaScript plugin (#36169)
* Handle disabled tabs * Fix after feedback * Update js/src/tab.js Co-authored-by: GeoSot <geo.sotis@gmail.com> * Update js/src/tab.js Co-authored-by: GeoSot <geo.sotis@gmail.com> * Commit suggestions via GitHub broke the thing * Add some unit tests * Remove temp doc modification * Add tests for left arrow * Add disabled tabs in JavaScript Behavior section * Compact 4 tests to 2 tests * Compact 4 tests to 2 tests * Add 'disabled' attribute for all buttons * Change the disabled pane position only for the vertical version * Change ids for the confusing first example in JavaScript behavior * Use disabled attribute instead of the class for buttons in tabs Co-authored-by: GeoSot <geo.sotis@gmail.com>
Diffstat (limited to 'js/src')
-rw-r--r--js/src/tab.js7
1 files changed, 5 insertions, 2 deletions
diff --git a/js/src/tab.js b/js/src/tab.js
index 135e929dda..3fa5e4c9e9 100644
--- a/js/src/tab.js
+++ b/js/src/tab.js
@@ -168,8 +168,11 @@ class Tab extends BaseComponent {
event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page
event.preventDefault()
const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)
- const nextActiveElement = getNextActiveElement(this._getChildren(), event.target, isNext, true)
- Tab.getOrCreateInstance(nextActiveElement).show()
+ const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true)
+
+ if (nextActiveElement) {
+ Tab.getOrCreateInstance(nextActiveElement).show()
+ }
}
_getChildren() { // collection of inner elements