let parent = false
if (selector) {
- const tmpSelected = SelectorEngine.find(selector)
- parent = tmpSelected[0]
+ parent = SelectorEngine.find(selector)[0]
}
if (!parent) {
}
})
}
-
- static _handleDismiss(alertInstance) {
- return function (event) {
- if (event) {
- event.preventDefault()
- }
-
- alertInstance.close(this)
- }
- }
}
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
+ * add .alert to jQuery only if jQuery is present
*/
-$.fn[NAME] = Alert._jQueryInterface
-$.fn[NAME].Constructor = Alert
-$.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Alert._jQueryInterface
+if (typeof window.$ !== 'undefined' || typeof window.jQuery !== 'undefined') {
+ const $ = window.$ || window.jQuery
+ $.fn[NAME] = Alert._jQueryInterface
+ $.fn[NAME].Constructor = Alert
+ $.fn[NAME].noConflict = () => {
+ $.fn[NAME] = JQUERY_NO_CONFLICT
+ return Alert._jQueryInterface
+ }
}
export default Alert
return {
set(element, key, data) {
let id
- if (element.key === undefined) {
+ if (typeof element.key === 'undefined') {
element.key = {
key,
id
storeData[id] = data
},
get(element, key) {
- if (element.key === undefined || element.key !== key) {
+ if (typeof element.key === 'undefined' || element.key !== key) {
return null
}
const keyProperties = element.key
return storeData[keyProperties.id]
},
delete(element, key) {
- if (element.key === undefined || element.key !== key) {
+ if (typeof element.key === 'undefined' || element.key !== key) {
return
}
const keyProperties = element.key
window.CustomEvent = (event, params) => {
params = params || {
bubbles: false,
- cancelable: false
+ cancelable: false,
+ detail: null
}
const evt = document.createEvent('CustomEvent')
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail)
}
}
}
+ // To please ESLint
+ return null
}
}
}
// closest polyfill (see: https://mzl.la/2vXggaI)
-let fnClosest = null
if (!Element.prototype.closest) {
- fnClosest = (element, selector) => {
+ Element.prototype.closest = (element, selector) => {
let ancestor = element
if (!document.documentElement.contains(element)) {
return null
return null
}
-} else {
- fnClosest = (element, selector) => {
- return element.closest(selector)
- }
}
+const fnClosest = Element.prototype.closest
+
const SelectorEngine = {
matches(element, selector) {
return fnMatches.call(element, selector)
},
closest(element, selector) {
- return fnClosest(element, selector)
+ return fnClosest.call(element, selector)
}
}
var $alert = $(alertHTML).bootstrapAlert().appendTo($('#qunit-fixture'))
- $alert.find('.close').trigger('click')
-
+ var closeBtn = $alert.find('.close')[0]
+ EventHandler.trigger(closeBtn, 'click')
assert.strictEqual($alert.hasClass('show'), false, 'remove .show class on .close click')
})
assert.notEqual($('#qunit-fixture').find('.alert').length, 0, 'element added to dom')
- $alert
- .one('closed.bs.alert', function () {
- assert.strictEqual($('#qunit-fixture').find('.alert').length, 0, 'element removed from dom')
- done()
- })
- .find('.close')
- .trigger('click')
+ EventHandler.on($alert[0], 'closed.bs.alert', function () {
+ assert.strictEqual($('#qunit-fixture').find('.alert').length, 0, 'element removed from dom')
+ done()
+ })
+
+ var closeBtn = $alert.find('.close')[0]
+ EventHandler.trigger(closeBtn, 'click')
})
QUnit.test('should not fire closed when close is prevented', function (assert) {