aboutsummaryrefslogtreecommitdiff
path: root/js/src/collapse.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/collapse.js')
-rw-r--r--js/src/collapse.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/js/src/collapse.js b/js/src/collapse.js
index ded623448..6a5fcd854 100644
--- a/js/src/collapse.js
+++ b/js/src/collapse.js
@@ -30,6 +30,11 @@ const Collapse = (($) => {
parent : null
}
+ const DefaultType = {
+ toggle : 'boolean',
+ parent : '(string|null)'
+ }
+
const Event = {
SHOW : `show${EVENT_KEY}`,
SHOWN : `shown${EVENT_KEY}`,
@@ -67,7 +72,7 @@ const Collapse = (($) => {
constructor(element, config) {
this._isTransitioning = false
this._element = element
- this._config = $.extend({}, Default, config)
+ this._config = this._getConfig(config)
this._triggerArray = $.makeArray($(
`[data-toggle="collapse"][href="#${element.id}"],` +
`[data-toggle="collapse"][data-target="#${element.id}"]`
@@ -259,6 +264,13 @@ const Collapse = (($) => {
// private
+ _getConfig(config) {
+ config = $.extend({}, Default, config)
+ config.toggle = !!config.toggle // coerce string values
+ Util.typeCheckConfig(NAME, config, DefaultType)
+ return config
+ }
+
_getDimension() {
let hasWidth = $(this._element).hasClass(Dimension.WIDTH)
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT