]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
ref(tab): remove show from panels dependent-less they have `.fade` class or not ...
authorGeoSot <geo.sotis@gmail.com>
Mon, 27 Jun 2022 09:43:11 +0000 (12:43 +0300)
committerGitHub <noreply@github.com>
Mon, 27 Jun 2022 09:43:11 +0000 (12:43 +0300)
js/src/tab.js
js/tests/unit/tab.spec.js

index 74bfc41484238689791a2811aa835b3909b1c828..9fad63e920c350230670157c174a3326af19a3b9 100644 (file)
@@ -109,13 +109,9 @@ class Tab extends BaseComponent {
 
     this._activate(getElementFromSelector(element)) // Search and activate/show the proper section
 
-    const isAnimated = element.classList.contains(CLASS_NAME_FADE)
     const complete = () => {
-      if (isAnimated) { // todo: maybe is redundant
-        element.classList.add(CLASS_NAME_SHOW)
-      }
-
       if (element.getAttribute('role') !== 'tab') {
+        element.classList.add(CLASS_NAME_SHOW)
         return
       }
 
@@ -128,7 +124,7 @@ class Tab extends BaseComponent {
       })
     }
 
-    this._queueCallback(complete, element, isAnimated)
+    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))
   }
 
   _deactivate(element, relatedElem) {
@@ -141,13 +137,9 @@ class Tab extends BaseComponent {
 
     this._deactivate(getElementFromSelector(element)) // Search and deactivate the shown section too
 
-    const isAnimated = element.classList.contains(CLASS_NAME_FADE)
     const complete = () => {
-      if (isAnimated) { // todo maybe is redundant
-        element.classList.remove(CLASS_NAME_SHOW)
-      }
-
       if (element.getAttribute('role') !== 'tab') {
+        element.classList.remove(CLASS_NAME_SHOW)
         return
       }
 
@@ -157,7 +149,7 @@ class Tab extends BaseComponent {
       EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })
     }
 
-    this._queueCallback(complete, element, isAnimated)
+    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))
   }
 
   _keydown(event) {
index 110c79838390bd341a9cfd347199e28775a79308..f1c1d695c31528d8f78319cb5a4f2132c5e5abc2 100644 (file)
@@ -904,7 +904,7 @@ describe('Tab', () => {
       })
     })
 
-    it('should not add `show` class to tab panes if there is no `.fade` class', () => {
+    it('should add `show` class to tab panes if there is no `.fade` class', () => {
       return new Promise(resolve => {
         fixtureEl.innerHTML = [
           '<ul class="nav nav-tabs" role="tablist">',
@@ -924,7 +924,7 @@ describe('Tab', () => {
         const secondNavEl = fixtureEl.querySelector('#secondNav')
 
         secondNavEl.addEventListener('shown.bs.tab', () => {
-          expect(fixtureEl.querySelectorAll('.show')).toHaveSize(0)
+          expect(fixtureEl.querySelectorAll('.tab-content .show')).toHaveSize(1)
           resolve()
         })