From e3d05584476fe94200aea0060081765f0734c187 Mon Sep 17 00:00:00 2001 From: RJ <27843274+rjchow@users.noreply.github.com> Date: Thu, 18 Aug 2022 10:10:22 +0800 Subject: [PATCH] add: store address tour tracks (#34337) Added tracks event for store address tour dismissal with schema: 'wcadmin_settings_store_address_tour_dismiss' { source: 'done-btn' | 'close-btn', fields_filled: { address_1: boolean; address_2: boolean; city: boolean; postcode: boolean; } } --- .../guided-tours/store-address-tour.tsx | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/plugins/woocommerce-admin/client/guided-tours/store-address-tour.tsx b/plugins/woocommerce-admin/client/guided-tours/store-address-tour.tsx index b2552b5edb6..cf49b05da07 100644 --- a/plugins/woocommerce-admin/client/guided-tours/store-address-tour.tsx +++ b/plugins/woocommerce-admin/client/guided-tours/store-address-tour.tsx @@ -6,6 +6,7 @@ import { TourKit, TourKitTypes } from '@woocommerce/components'; import { __ } from '@wordpress/i18n'; import { OPTIONS_STORE_NAME } from '@woocommerce/data'; import { useDispatch, useSelect } from '@wordpress/data'; +import { recordEvent } from '@woocommerce/tracks'; /** * Internal dependencies @@ -38,6 +39,11 @@ const useShowStoreLocationTour = () => { }; }; +const isFieldFilled = ( fieldSelector: string ) => { + const field = document.querySelector< HTMLInputElement >( fieldSelector ); + return !! field && field.value.length > 0; +}; + const StoreAddressTourOverlay = () => { const { isLoading, show } = useShowStoreLocationTour(); const { updateOptions } = useDispatch( OPTIONS_STORE_NAME ); @@ -77,7 +83,19 @@ const StoreAddressTourOverlay = () => { }, }, }, - closeHandler: () => { + closeHandler: ( _steps, _currentStepIndex, source ) => { + const fields_filled = { + address_1: isFieldFilled( 'input#woocommerce_store_address' ), + address_2: isFieldFilled( 'input#woocommerce_store_address_2' ), + city: isFieldFilled( 'input#woocommerce_store_city' ), + postcode: isFieldFilled( 'input#woocommerce_store_postcode' ), + }; + + recordEvent( 'settings_store_address_tour_dismiss', { + source, // 'close-btn' | 'done-btn' + fields_filled, + } ); + updateOptions( { [ REVIEWED_STORE_LOCATION_SETTINGS_OPTION ]: 'yes', } );