From: GeoSot Date: Wed, 9 Jun 2021 22:08:07 +0000 (+0300) Subject: streamline `_getConfig` & interface X-Git-Tag: v5.1.0~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ad0a4a9fdbc792502c6800f6ae68c41acf4b556;p=thirdparty%2Fbootstrap.git streamline `_getConfig` & interface --- diff --git a/js/src/collapse.js b/js/src/collapse.js index 22bd31f9b3..a8651fc0a9 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -259,6 +259,7 @@ class Collapse extends BaseComponent { _getConfig(config) { config = { ...Default, + ...Manipulator.getDataAttributes(this._element), ...config } config.toggle = Boolean(config.toggle) // Coerce string values @@ -311,20 +312,12 @@ class Collapse extends BaseComponent { // Static static collapseInterface(element, config) { - let data = Collapse.getInstance(element) - const _config = { - ...Default, - ...Manipulator.getDataAttributes(element), - ...(typeof config === 'object' && config ? config : {}) - } - - if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) { + const _config = {} + if (typeof config === 'string' && /show|hide/.test(config)) { _config.toggle = false } - if (!data) { - data = new Collapse(element, _config) - } + const data = Collapse.getOrCreateInstance(element, _config) if (typeof config === 'string') { if (typeof data[config] === 'undefined') {