diff options
author | GeoSot <geo.sotis@gmail.com> | 2021-12-10 19:18:18 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-10 19:18:18 +0300 |
commit | 886b940796b3595a03b44230ca8b78197c5ee1c5 (patch) | |
tree | 6b37d0208ae9fd9816e052572ab3496095cc88b6 /js/src/collapse.js | |
parent | 68f226750db03bc26ed5ead6bb074804a4f63853 (diff) |
Extract Component config functionality to a separate class (#33872)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Diffstat (limited to 'js/src/collapse.js')
-rw-r--r-- | js/src/collapse.js | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/js/src/collapse.js b/js/src/collapse.js index 642f7e840b..56d4f51c2d 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -10,11 +10,9 @@ import { getElement, getElementFromSelector, getSelectorFromElement, - reflow, - typeCheckConfig + reflow } from './util/index' import EventHandler from './dom/event-handler' -import Manipulator from './dom/manipulator' import SelectorEngine from './dom/selector-engine' import BaseComponent from './base-component' @@ -62,10 +60,9 @@ const DefaultType = { class Collapse extends BaseComponent { constructor(element, config) { - super(element) + super(element, config) this._isTransitioning = false - this._config = this._getConfig(config) this._triggerArray = [] const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE) @@ -96,6 +93,10 @@ class Collapse extends BaseComponent { return Default } + static get DefaultType() { + return DefaultType + } + static get NAME() { return NAME } @@ -210,15 +211,9 @@ class Collapse extends BaseComponent { } // Private - _getConfig(config) { - config = { - ...Default, - ...Manipulator.getDataAttributes(this._element), - ...config - } + _configAfterMerge(config) { config.toggle = Boolean(config.toggle) // Coerce string values config.parent = getElement(config.parent) - typeCheckConfig(NAME, config, DefaultType) return config } |