aboutsummaryrefslogtreecommitdiff
path: root/js/src/collapse.js
diff options
context:
space:
mode:
authorfat <[email protected]>2015-05-13 14:46:50 -0700
committerfat <[email protected]>2015-05-13 14:46:50 -0700
commiteaab1def7af7d7e1ab32ff69d043b46e2815ca22 (patch)
tree495965eef95b6c7e1ca485c04311e6e451695b29 /js/src/collapse.js
parentc2ced2292a6467b9c8a9fec3151982fd7ac8a239 (diff)
downloadbootstrap-eaab1def7af7d7e1ab32ff69d043b46e2815ca22.tar.xz
bootstrap-eaab1def7af7d7e1ab32ff69d043b46e2815ca22.zip
add simple type checker implementation
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