From edb6c10a42b183b0f136a715ab4dfe0efe9bbc77 Mon Sep 17 00:00:00 2001 From: iso9000t <119494473+iso9000t@users.noreply.github.com> Date: Sat, 1 Feb 2025 00:45:38 +0400 Subject: [PATCH] feat: add ga4 events --- .../events/ga4Events/dashboardsPageEvents.js | 13 ++++++++ .../dashboardTable/dashboardTableColumns.jsx | 31 ++++++++++++++++--- .../modals/addEditModal/addEditModal.jsx | 2 +- 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/app/src/components/main/analytics/events/ga4Events/dashboardsPageEvents.js b/app/src/components/main/analytics/events/ga4Events/dashboardsPageEvents.js index 1623136df2..89c6d73e50 100644 --- a/app/src/components/main/analytics/events/ga4Events/dashboardsPageEvents.js +++ b/app/src/components/main/analytics/events/ga4Events/dashboardsPageEvents.js @@ -107,6 +107,19 @@ export const DASHBOARD_EVENTS = { number: dashboardId, }), + clickOnDropdownOption: (option) => ({ + ...getBasicClickEventParameters(DASHBOARDS), + element_name: option, + }), + + clickOnBtnInModalDuplicateDashboard: (dashboardId, isDescriptionEdited) => ({ + ...getBasicClickEventParameters(DASHBOARDS), + element_name: 'duplicate', + modal: 'duplicate_dashboard', + link_name: isDescriptionEdited, + number: dashboardId, + }), + clickOnButtonUpdateInModalEditDashboard: (dashboardId, linkName) => ({ ...getBasicClickEventParameters(DASHBOARDS), element_name: 'update', diff --git a/app/src/pages/inside/dashboardPage/dashboardList/dashboardTable/dashboardTableColumns.jsx b/app/src/pages/inside/dashboardPage/dashboardList/dashboardTable/dashboardTableColumns.jsx index 4e1cd3daa6..9d5bca8c68 100644 --- a/app/src/pages/inside/dashboardPage/dashboardList/dashboardTable/dashboardTableColumns.jsx +++ b/app/src/pages/inside/dashboardPage/dashboardList/dashboardTable/dashboardTableColumns.jsx @@ -84,6 +84,7 @@ OwnerColumn.defaultProps = { export const DuplicateColumn = track()( injectIntl(({ value, customProps, className, tracking: { trackEvent }, intl }) => { const [opened, setOpened] = useState(false); + const { id } = value; useEffect(() => { const handleOutsideClick = (e) => { @@ -96,22 +97,30 @@ export const DuplicateColumn = track()( return () => document.removeEventListener('click', handleOutsideClick); }, [opened]); - const handleDuplicate = () => { - const { id } = value; + const handleClick = (e) => { + e.stopPropagation(); trackEvent(DASHBOARD_EVENTS.clickOnIconDashboard('duplicate', id)); + setOpened(!opened); + }; + + const handleDuplicate = (e) => { + e.stopPropagation(); + trackEvent(DASHBOARD_EVENTS.clickOnDropdownOption('duplicate')); customProps.onDuplicate(value); setOpened(false); }; - const handleCopyConfig = () => { - // TODO: Copy configuration functionality will be added later + const handleCopyConfig = (e) => { + e.stopPropagation(); + trackEvent(DASHBOARD_EVENTS.clickOnDropdownOption('copy_dashboard')); + // TODO: Implement copy configuration functionality setOpened(false); }; return (