From 09cb922a3a4e94bf104ddf3bf01281248da5c7e6 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Fri, 23 Oct 2020 09:53:36 -0700 Subject: [PATCH] Record copy event (#16177) * Record copy event * Update events.js * Update javascripts/events.js Co-authored-by: James M. Greene * Update events.js Co-authored-by: James M. Greene --- javascripts/events.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) 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"]')