diff options
| author | Mark Otto <[email protected]> | 2015-08-18 20:25:48 -0700 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2015-08-18 20:25:48 -0700 |
| commit | 1c19ded8c14cc9caca8ca2992834e2900dbbb4e5 (patch) | |
| tree | aecfad1ba54e89b6db1f72f20c991784768399e5 /js/src/util.js | |
| parent | 0df8fae72508fd9291ccce1fb915e7eac4f83a95 (diff) | |
| parent | 8cfde5ef29756a433645c61b2ba8fec63caada78 (diff) | |
| download | bootstrap-1c19ded8c14cc9caca8ca2992834e2900dbbb4e5.tar.xz bootstrap-1c19ded8c14cc9caca8ca2992834e2900dbbb4e5.zip | |
Merge branch 'v4' of https://github.com/twbs/derpstrap into v4
Diffstat (limited to 'js/src/util.js')
| -rw-r--r-- | js/src/util.js | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/js/src/util.js b/js/src/util.js index 86bea6578..f4a584125 100644 --- a/js/src/util.js +++ b/js/src/util.js @@ -29,14 +29,14 @@ const Util = (($) => { } function isElement(obj) { - return (obj[0] || obj).nodeType; + return (obj[0] || obj).nodeType } function getSpecialTransitionEndEvent() { return { bindType: transition.end, delegateType: transition.end, - handle: function (event) { + handle(event) { if ($(event.target).is(this)) { return event.handleObj.handler.apply(this, arguments) } @@ -51,7 +51,7 @@ const Util = (($) => { let el = document.createElement('bootstrap') - for (var name in TransitionEndEvent) { + for (let name in TransitionEndEvent) { if (el.style[name] !== undefined) { return { end: TransitionEndEvent[name] } } @@ -63,7 +63,7 @@ const Util = (($) => { function transitionEndEmulator(duration) { let called = false - $(this).one(Util.TRANSITION_END, function () { + $(this).one(Util.TRANSITION_END, () => { called = true }) @@ -98,8 +98,9 @@ const Util = (($) => { TRANSITION_END: 'bsTransitionEnd', getUID(prefix) { - do prefix += ~~(Math.random() * 1000000) - while (document.getElementById(prefix)) + do { + prefix += ~~(Math.random() * 1000000) + } while (document.getElementById(prefix)) return prefix }, @@ -123,28 +124,31 @@ const Util = (($) => { }, supportsTransitionEnd() { - return !!transition + return Boolean(transition) }, typeCheckConfig(componentName, config, configTypes) { - for (let property in configTypes) { - let expectedTypes = configTypes[property] - let value = config[property] - let valueType - - if (value && isElement(value)) valueType = 'element' - else valueType = toType(value) - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new Error( - `${componentName.toUpperCase()}: ` + - `Option "${property}" provided type "${valueType}" ` + - `but expected type "${expectedTypes}".`) + if (configTypes.hasOwnProperty(property)) { + let expectedTypes = configTypes[property] + let value = config[property] + let valueType + + if (value && isElement(value)) { + valueType = 'element' + } else { + valueType = toType(value) + } + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error( + `${componentName.toUpperCase()}: ` + + `Option "${property}" provided type "${valueType}" ` + + `but expected type "${expectedTypes}".`) + } } } } - } setTransitionEndSupport() |
