From 6e2a823a44063af96749d54560808656e007c2a8 Mon Sep 17 00:00:00 2001 From: Johann-S Date: Mon, 10 Sep 2018 11:01:14 +0200 Subject: collapse children with no data-parent --- js/src/collapse.js | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'js/src') diff --git a/js/src/collapse.js b/js/src/collapse.js index d3404630a..ad98ffa6a 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -127,7 +127,13 @@ const Collapse = (($) => { if (this._parent) { actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)) - .filter((elem) => elem.getAttribute('data-parent') === this._config.parent) + .filter((elem) => { + if (typeof this._config.parent === 'string') { + return elem.getAttribute('data-parent') === this._config.parent + } + + return elem.classList.contains(ClassName.COLLAPSE) + }) if (actives.length === 0) { actives = null @@ -282,7 +288,8 @@ const Collapse = (($) => { } _getParent() { - let parent = null + let parent + if (Util.isElement(this._config.parent)) { parent = this._config.parent @@ -309,14 +316,12 @@ const Collapse = (($) => { } _addAriaAndCollapsedClass(element, triggerArray) { - if (element) { - const isOpen = $(element).hasClass(ClassName.SHOW) + const isOpen = $(element).hasClass(ClassName.SHOW) - if (triggerArray.length) { - $(triggerArray) - .toggleClass(ClassName.COLLAPSED, !isOpen) - .attr('aria-expanded', isOpen) - } + if (triggerArray.length) { + $(triggerArray) + .toggleClass(ClassName.COLLAPSED, !isOpen) + .attr('aria-expanded', isOpen) } } -- cgit v1.2.3