From 53724b35c8d4321e466d98c74da314520f6735e3 Mon Sep 17 00:00:00 2001 From: NothingButThyme <58535623+NothingButThyme@users.noreply.github.com> Date: Thu, 26 Jan 2023 17:32:55 -0500 Subject: [PATCH] Update VendorCommunicator.ts (#19) Co-authored-by: Ian White --- src/classes/VendorCommunicator.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/classes/VendorCommunicator.ts b/src/classes/VendorCommunicator.ts index 386c825..161f460 100644 --- a/src/classes/VendorCommunicator.ts +++ b/src/classes/VendorCommunicator.ts @@ -13,6 +13,13 @@ export enum VendorEvent { TokenRefreshRequested = 'TokenRefreshRequested', UnauthorizedToken = 'UnauthorizedToken', TrackingEvent = 'TrackingEvent', + NavigationEvent = 'NavigationEvent', +} + +export enum NavigationEventType { + ProjectLoaded = 'ProjectLoaded', + NewProjectSaved = 'NewProjectSaved', + ProjectsPageLoaded = 'ProjectsPageLoaded', } interface CommonPayload { @@ -74,6 +81,11 @@ interface TrackingEventPayload { actionData: Record; } +interface NavigationEventPayload extends CommonPayload { + eventType: NavigationEventType; + projectId?: string; +} + export class VendorCommunicator extends Communicator { constructor(origin: string) { super(origin); @@ -128,4 +140,8 @@ export class VendorCommunicator extends Communicator { trackEvent(payload: TrackingEventPayload): void { this.post({type: VendorEvent.TrackingEvent, payload}); } + + navigationEvent(payload: NavigationEventPayload): void { + this.post({type: VendorEvent.NavigationEvent, payload}); + } }