1
0
mirror of synced 2025-12-23 11:54:18 -05:00

Send navigate events to Hydro (#16160)

* Send navigate events to Hydro

* Use event delegation on links
This commit is contained in:
Kevin Heis
2020-10-22 15:17:18 -07:00
committed by GitHub
parent 3600e4d9ee
commit c4cf788d68

View File

@@ -170,6 +170,26 @@ export default async function initializeEvents () {
page_render_duration: render
})
// Navigate event
Array.from(
document.querySelectorAll('.sidebar-products details')
).forEach(details => details.addEventListener(
'toggle',
evt => sendEvent({
type: 'navigate',
navigate_label: `details ${evt.target.open ? 'open' : 'close'}: ${evt.target.querySelector('summary').innerText}`
})
))
document.querySelector('.sidebar-products').addEventListener('click', evt => {
const link = evt.target.closest('a')
if (!link) return
sendEvent({
type: 'navigate',
navigate_label: `link: ${link.href}`
})
})
// Exit event
pageEventId = pageEvent?.context?.event_id
window.addEventListener('scroll', trackScroll)