diff --git a/javascripts/events.js b/javascripts/events.js index 27a9d9b2548f..4a05744635b5 100644 --- a/javascripts/events.js +++ b/javascripts/events.js @@ -46,7 +46,8 @@ export function sendEvent ({ survey_email, experiment_name, experiment_variation, - experiment_success + experiment_success, + clipboard_operation }) { const body = { _csrf: getCsrf(), @@ -107,7 +108,10 @@ export function sendEvent ({ // Experiment event experiment_name, experiment_variation, - experiment_success + experiment_success, + + // Clipboard event + clipboard_operation } const blob = new Blob([JSON.stringify(body)], { type: 'application/json' }) navigator.sendBeacon('/events', blob) @@ -170,6 +174,13 @@ export default function initializeEvents () { page_render_duration: render }) + // Clipboard event + ;['copy', 'cut', 'paste'].forEach(verb => { + document.documentElement.addEventListener(verb, () => { + sendEvent({ type: 'clipboard', clipboard_operation: verb }) + }) + }) + // Link event document.documentElement.addEventListener('click', evt => { const link = evt.target.closest('a[href^="http"]')