* Data Api implementation
* ------------------------------------------------------------------------
*/
-EventHandler
- .on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))
+EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))
const $ = getjQuery()
_addEventListeners() {
if (this._config.keyboard) {
- EventHandler
- .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))
+ EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))
}
if (this._config.pause === 'hover') {
- EventHandler
- .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))
- EventHandler
- .on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))
+ EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))
+ EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))
}
if (this._config.touch && this._touchSupported) {
const transitionDuration = getTransitionDurationFromElement(activeElement)
- EventHandler
- .one(activeElement, TRANSITION_END, () => {
- nextElement.classList.remove(directionalClassName, orderClassName)
- nextElement.classList.add(CLASS_NAME_ACTIVE)
+ EventHandler.one(activeElement, TRANSITION_END, () => {
+ nextElement.classList.remove(directionalClassName, orderClassName)
+ nextElement.classList.add(CLASS_NAME_ACTIVE)
- activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)
+ activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)
- this._isSliding = false
+ this._isSliding = false
- setTimeout(() => {
- EventHandler.trigger(this._element, EVENT_SLID, {
- relatedTarget: nextElement,
- direction: eventDirectionName,
- from: activeElementIndex,
- to: nextElementIndex
- })
- }, 0)
- })
+ setTimeout(() => {
+ EventHandler.trigger(this._element, EVENT_SLID, {
+ relatedTarget: nextElement,
+ direction: eventDirectionName,
+ from: activeElementIndex,
+ to: nextElementIndex
+ })
+ }, 0)
+ })
emulateTransitionEnd(activeElement, transitionDuration)
} else {
* ------------------------------------------------------------------------
*/
-EventHandler
- .on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)
+EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)
EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)
function bootstrapHandler(element, fn) {
return function handler(event) {
event.delegateTarget = element
+
if (handler.oneOff) {
EventHandler.off(element, event.type, fn)
}
for (let i = domElements.length; i--;) {
if (domElements[i] === target) {
event.delegateTarget = target
+
if (handler.oneOff) {
EventHandler.off(element, event.type, fn)
}
return
}
- const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent)
- .filter(isVisible)
+ const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)
if (!items.length) {
return
event.stopPropagation()
Dropdown.dropdownInterface(this, 'toggle')
})
-EventHandler
- .on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())
+EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())
const $ = getjQuery()
const targets = SelectorEngine.find(this._selector)
- targets
- .map(element => {
- let target
- const targetSelector = getSelectorFromElement(element)
+ targets.map(element => {
+ let target
+ const targetSelector = getSelectorFromElement(element)
- if (targetSelector) {
- target = SelectorEngine.findOne(targetSelector)
- }
+ if (targetSelector) {
+ target = SelectorEngine.findOne(targetSelector)
+ }
- if (target) {
- const targetBCR = target.getBoundingClientRect()
- if (targetBCR.width || targetBCR.height) {
- return [
- Manipulator[offsetMethod](target).top + offsetBase,
- targetSelector
- ]
- }
+ if (target) {
+ const targetBCR = target.getBoundingClientRect()
+ if (targetBCR.width || targetBCR.height) {
+ return [
+ Manipulator[offsetMethod](target).top + offsetBase,
+ targetSelector
+ ]
}
+ }
- return null
- })
+ return null
+ })
.filter(item => item)
.sort((a, b) => a[0] - b[0])
.forEach(item => {
const link = SelectorEngine.findOne(queries.join(','))
if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
- SelectorEngine
- .findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))
.classList.add(CLASS_NAME_ACTIVE)
link.classList.add(CLASS_NAME_ACTIVE)
// Set triggered link as active
link.classList.add(CLASS_NAME_ACTIVE)
- SelectorEngine
- .parents(link, SELECTOR_NAV_LIST_GROUP)
+ SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)
.forEach(listGroup => {
// Set triggered links parents as active
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
}
_setListeners() {
- EventHandler.on(
- this._element,
- EVENT_CLICK_DISMISS,
- SELECTOR_DATA_DISMISS,
- () => this.hide()
- )
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())
}
_clearTimeout() {
_getConfig(config) {
const dataAttributes = Manipulator.getDataAttributes(this.element)
- Object.keys(dataAttributes)
- .forEach(dataAttr => {
- if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
- delete dataAttributes[dataAttr]
- }
- })
+ Object.keys(dataAttributes).forEach(dataAttr => {
+ if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
+ delete dataAttributes[dataAttr]
+ }
+ })
if (config && typeof config.container === 'object' && config.container.jquery) {
config.container = config.container[0]