Skip to content

Commit

Permalink
EventHandler: export event hydration to function
Browse files Browse the repository at this point in the history
  • Loading branch information
GeoSot committed Apr 14, 2022
1 parent 3987863 commit abbbf36
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions js/src/dom/event-handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -288,18 +288,9 @@ const EventHandler = {
defaultPrevented = jQueryEvent.isDefaultPrevented()
}

const evt = new Event(event, { bubbles, cancelable: true })

// merge custom information in our event
if (typeof args !== 'undefined') {
for (const key of Object.keys(args)) {
Object.defineProperty(evt, key, {
get() {
return args[key]
}
})
}
}
let evt = new Event(event, { bubbles, cancelable: true })
evt = hydrateObj(evt, args)


if (defaultPrevented) {
evt.preventDefault()
Expand All @@ -317,4 +308,15 @@ const EventHandler = {
}
}

function hydrateObj(obj, meta) {
for (const [key, value] of Object.entries(meta || {})) {
Object.defineProperty(obj, key, {
get() {
return value
}
})
}
return obj
}

export default EventHandler

0 comments on commit abbbf36

Please sign in to comment.