diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/base-component.js | 2 | ||||
-rw-r--r-- | js/src/dom/selector-engine.js | 4 | ||||
-rw-r--r-- | js/src/tab.js | 2 | ||||
-rw-r--r-- | js/tests/unit/dom/selector-engine.spec.js | 12 |
4 files changed, 16 insertions, 4 deletions
diff --git a/js/src/base-component.js b/js/src/base-component.js index 19a09ad..85af731 100644 --- a/js/src/base-component.js +++ b/js/src/base-component.js @@ -14,7 +14,7 @@ import { executeAfterTransition, getElement } from './util/index.js' * Constants */ -const VERSION = '5.3.1' +const VERSION = '5.3.2' /** * Class definition diff --git a/js/src/dom/selector-engine.js b/js/src/dom/selector-engine.js index 3cecf6f..a47f720 100644 --- a/js/src/dom/selector-engine.js +++ b/js/src/dom/selector-engine.js @@ -26,10 +26,10 @@ const getSelector = element => { hrefAttribute = `#${hrefAttribute.split('#')[1]}` } - selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null + selector = hrefAttribute && hrefAttribute !== '#' ? parseSelector(hrefAttribute.trim()) : null } - return parseSelector(selector) + return selector } const SelectorEngine = { diff --git a/js/src/tab.js b/js/src/tab.js index 5598e15..dfaef0f 100644 --- a/js/src/tab.js +++ b/js/src/tab.js @@ -40,7 +40,7 @@ const CLASS_DROPDOWN = 'dropdown' const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle' const SELECTOR_DROPDOWN_MENU = '.dropdown-menu' -const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)' +const NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})` const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]' const SELECTOR_OUTER = '.nav-item, .list-group-item' diff --git a/js/tests/unit/dom/selector-engine.spec.js b/js/tests/unit/dom/selector-engine.spec.js index 8dd7b1f..72c0bf6 100644 --- a/js/tests/unit/dom/selector-engine.spec.js +++ b/js/tests/unit/dom/selector-engine.spec.js @@ -359,6 +359,18 @@ describe('SelectorEngine', () => { expect(SelectorEngine.getMultipleElementsFromSelector(testEl)).toEqual(Array.from(fixtureEl.querySelectorAll('.target'))) }) + it('should get elements if several ids are given', () => { + fixtureEl.innerHTML = [ + '<div id="test" data-bs-target="#target1,#target2"></div>', + '<div class="target" id="target1"></div>', + '<div class="target" id="target2"></div>' + ].join('') + + const testEl = fixtureEl.querySelector('#test') + + expect(SelectorEngine.getMultipleElementsFromSelector(testEl)).toEqual(Array.from(fixtureEl.querySelectorAll('.target'))) + }) + it('should get elements in array, from href if no data-bs-target set', () => { fixtureEl.innerHTML = [ '<a id="test" href=".target"></a>', |