Skip to content

Instantly share code, notes, and snippets.

@iamandrewluca
Last active October 29, 2018 09:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iamandrewluca/ad1927178d4c0fa9f47e34da59f92334 to your computer and use it in GitHub Desktop.
Save iamandrewluca/ad1927178d4c0fa9f47e34da59f92334 to your computer and use it in GitHub Desktop.
function getModalEvents(element) {
const targets = [
{ name: 'window', element: window },
{ name: 'document', element: document },
{ name: 'element', element: element }
]
const data = $.data(element)['bs.modal']
if (data && data._dialog) {
targets.push({ name: 'dialog', element: data._dialog })
}
if (data && data._backdrop) {
targets.push({ name: 'backdrop', element: data._backdrop })
}
const eventsData = targets
.filter(({element}) => !!$._data(element, 'events'))
.map(({name, element}) => Object.values($._data(element).events)
.reduce((acc, curr) => acc.concat(curr), [])
.map(e => {
e.element = name
return e
})
)
.reduce((acc, curr) => acc.concat(curr), [])
.filter(e => e.namespace.includes('modal'))
.map(({element, type, namespace}) => ({element, type, namespace}))
console.table(eventsData)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment