From 2ad0a4a9fdbc792502c6800f6ae68c41acf4b556 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Thu, 10 Jun 2021 01:08:07 +0300 Subject: streamline `_getConfig` & interface --- js/src/collapse.js | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'js/src/collapse.js') 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') { -- cgit v1.2.3