From 41ec69a5eaaacb5c5ea437940a6640fd52c4dc00 Mon Sep 17 00:00:00 2001 From: Jessica Lawshe <5312836+lawshe@users.noreply.github.com> Date: Mon, 6 Nov 2023 09:28:25 -0600 Subject: [PATCH] Merge pull request #15553 from overleaf/as-remove-scroll-tracking-trigger Proposal: Remove scroll trigger for event tracking GitOrigin-RevId: 8d27b5a2ad5d1f88600c2a193c0ad0dc44ca9aa2 --- .../js/features/event-tracking/index.js | 27 +++---------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/services/web/frontend/js/features/event-tracking/index.js b/services/web/frontend/js/features/event-tracking/index.js index 8df0db66b0..5915feacfd 100644 --- a/services/web/frontend/js/features/event-tracking/index.js +++ b/services/web/frontend/js/features/event-tracking/index.js @@ -1,15 +1,5 @@ -import _ from 'lodash' import * as eventTracking from '../../infrastructure/event-tracking' - -function isInViewport(element) { - const elTop = $(element).offset().top - const elBtm = elTop + $(element).outerHeight() - - const viewportTop = $(window).scrollTop() - const viewportBtm = viewportTop + $(window).height() - - return elBtm > viewportTop && elTop < viewportBtm -} +import { debugConsole } from '@/utils/debugging' function setupEventTracking(el) { const key = el.getAttribute('event-tracking') @@ -46,7 +36,6 @@ function setupEventTracking(el) { } } - let handler let timer let timeoutAmt = 500 switch (trigger) { @@ -65,17 +54,9 @@ function setupEventTracking(el) { }) el.addEventListener('mouseleave', () => clearTimeout(timer)) break - case 'scroll': - handler = _.throttle(() => { - if (isInViewport(el)) { - submit() - window.removeEventListener('scroll', handler) - window.removeEventListener('resize', handler) - } - }, 500) - window.addEventListener('scroll', handler) - window.addEventListener('resize', handler) - break + + default: + debugConsole.error(`unsupported event tracking action: ${trigger}`) } }