{ "version": 3, "sources": ["src/app/config/ga-info.constant.ts", "src/app/core/service/google-analytics.service.ts", "src/app/main/service/activity.service.ts"], "sourcesContent": ["export class GaInfo {\r\n public static readonly dimension = {\r\n gaClientId: 'dimension6',\r\n paymentOptionId: 'dimension3',\r\n paymentTerm: 'dimension4',\r\n resurgentId: 'dimension2',\r\n sessionKey: 'dimension5',\r\n userId: 'dimension1'\r\n };\r\n public static readonly event = {\r\n category: {\r\n info: 'info',\r\n payments: 'Payments',\r\n paymentEdit: 'Edit Payment',\r\n user: 'user',\r\n paymentOffers: 'Payments - Offers',\r\n paymentGuest: 'Payments - Guest',\r\n outboundLinks: 'Outbound Links',\r\n accLinking: 'Account Linking',\r\n menu: 'Menu',\r\n footer: 'Footer',\r\n chat: 'Chat',\r\n guestDocuments: 'Guest Documents',\r\n guestCalendar: 'Calendar - Email',\r\n bundledPlans: 'Bundled Plans',\r\n guestBundledPlans: 'Guest Bundled Plans',\r\n contactUs: 'Contact Us',\r\n contactCco: 'Contact CCO',\r\n accountDisclosures: 'Account Disclosures',\r\n profile: 'profile',\r\n announcements: 'announcements',\r\n rewards: 'rewards',\r\n documents: 'document center',\r\n multiFactorAuthentication: 'Multi-Factor Authentication',\r\n }\r\n };\r\n public static readonly hitType = {\r\n event: 'event',\r\n exception: 'exception',\r\n item: 'item',\r\n screenview: 'screenview',\r\n social: 'social',\r\n timing: 'timing',\r\n transaction: 'transaction'\r\n };\r\n public static readonly metric = {\r\n accountsLinked: 'metric1',\r\n paymentAmount: 'metric2'\r\n };\r\n}\r\n", " /// \r\nimport { GaFieldsObject } from '../model';\r\n\r\nexport class GoogleAnalyticsService {\r\n protected gaTimeout = 60 * 60 * 24 * 75;\r\n protected window: any;\r\n protected tracker: UniversalAnalytics.Tracker;\r\n public gaLinkerParam: string;\r\n\r\n constructor() {\r\n this.window = window;\r\n this.window.rcs = this.window.rcs || {};\r\n this.window.rcs.dataLayer = this.window.rcs.dataLayer || [];\r\n this.window.rcs.gtag = this.window.rcs.gtag || function() { (window).rcs.dataLayer.push(arguments); }\r\n }\r\n\r\n getGaLinkerParam(): string {\r\n // todo: see if we can get a param for ga4\r\n return '';\r\n }\r\n\r\n protected sendGaEvent(jsonFieldObject: GaFieldsObject) {\r\n if (jsonFieldObject.gaEvent) {\r\n (this.window.gtag || this.window.rcs.gtag)('event', jsonFieldObject.gaEvent, { event_category: jsonFieldObject.eventCategory, event_label: jsonFieldObject.eventLabel });\r\n }\r\n }\r\n\r\n protected sendGaPageView(route: string, jsonFieldObject?: object) {\r\n (this.window.gtag || this.window.rcs.gtag)('event', jsonFieldObject['gaEvent'] || 'page_view', {\r\n page_title: document.title,\r\n page_location: location.href,\r\n page_path: route,\r\n page_referrer: document.referrer\r\n });\r\n }\r\n\r\n protected setGaField(key: string, value: string) {\r\n (this.window.gtag || this.window.rcs.gtag)('set', key, value);\r\n }\r\n\r\n private sanitize(obj: object) {\r\n for (const property of ['email', 'emailAddress', 'acctNum']) {\r\n if (obj[property]) {\r\n delete obj[property];\r\n }\r\n }\r\n\r\n return obj;\r\n }\r\n}\r\n", "import { Inject, Injectable } from '@angular/core';\r\nimport { Router, ActivationEnd, NavigationEnd } from '@angular/router';\r\n\r\nimport { SpinnerSettings } from 'src/app/config/spinner-settings.constant';\r\nimport { environment } from 'src/environments/environment';\r\nimport { GoogleAnalyticsService } from 'src/app/core/service/google-analytics.service';\r\nimport { GaFieldsObject } from 'src/app/core/model';\r\nimport { GaInfo } from 'src/app/config/ga-info.constant';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { format } from 'date-fns';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { CacheService } from './cache.service';\r\nimport { SubmitPaymentPlanDetails, Payment, Installment, AccountDetail, PaymentPlan, InstallmentPlan } from '../model';\r\nimport { AppConstants } from 'src/app/config/app.constant';\r\nimport { utils } from '../utils/utils.constant';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActivityService extends GoogleAnalyticsService {\r\n sessionData = new Map();\r\n offerCode: string;\r\n offerCodeCookie: string;\r\n hotjarUserId: string;\r\n #firstActivity = true;\r\n #gaPage: string;\r\n #gaSection: string;\r\n #eventQueue = [];\r\n private offerCodeParam: string;\r\n private previousUrl: string;\r\n private currentUrl: string;\r\n\r\n constructor(private router: Router, private httpClient: HttpClient, private cache: CacheService, private cookieService: CookieService) {\r\n super();\r\n\r\n const cookies = this.cookieService.getAll();\r\n this.offerCodeCookie = cookies['!OfferCode'] || cookies['%21OfferCode'];\r\n\r\n this.router.events\r\n .subscribe(event => {\r\n if (event instanceof ActivationEnd) {\r\n this.#gaPage = event.snapshot.firstChild?.data?.gaPage || this.getGaPageName(null, this.router.url, true);\r\n this.#gaSection = event.snapshot.firstChild?.data?.gaSection || event.snapshot.firstChild?.data?.gaPage || this.getGaPageName(null, this.router.url);\r\n }\r\n\r\n if (event instanceof ActivationEnd && !this.offerCodeParam) {\r\n this.offerCodeParam = event.snapshot.paramMap.get('offerCode');\r\n }\r\n\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.urlAfterRedirects;\r\n\r\n if (event.urlAfterRedirects.includes('#main-content')) {\r\n this.sendEvent({\r\n gaEvent: null,\r\n eventCategory: 'Navigation',\r\n eventAction: 'Skip To Main Content'\r\n });\r\n } else {\r\n const acctKey = (this.cache.get(this.cache.items.guestAccount) as AccountDetail)?.acctKey;\r\n const fields = new Map([\r\n ['previousUrl', this.previousUrl],\r\n ['attemptedUrl', event.url],\r\n ['acctKey', acctKey]\r\n ]);\r\n this.sendPageView(this.#gaPage, event.urlAfterRedirects, fields);\r\n if (this.#gaSection) {\r\n this.sendQueuedEvents();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n sendCategoryEvent(category: string, action: string, label: string, data?: Map, callback?: Function) {\r\n const fieldObject: GaFieldsObject = {\r\n gaEvent: null,\r\n eventCategory: category,\r\n eventAction: action,\r\n eventLabel: label,\r\n hitCallback: callback\r\n };\r\n\r\n this.sendEvent(fieldObject, data);\r\n }\r\n\r\n sendNamedCategoryEvent(gaEvent: string, category: string, action: string, label: string, data?: Map, callback?: Function) {\r\n const fieldObject: GaFieldsObject = {\r\n gaEvent: gaEvent,\r\n eventCategory: category,\r\n eventAction: action,\r\n eventLabel: label,\r\n hitCallback: callback\r\n };\r\n\r\n this.sendEvent(fieldObject, data);\r\n }\r\n\r\n sendEvent(gafo: GaFieldsObject, gaData?: Map) {\r\n if (!this.#gaSection) {\r\n this.#eventQueue.push({gafo, gaData});\r\n return;\r\n }\r\n\r\n const fieldObject = {\r\n hitType: gafo.hitType || GaInfo.hitType.event,\r\n hitCallback: gafo.hitCallback !== undefined ? gafo.hitCallback : null,\r\n gaEvent: this.getGaEventName(gafo),\r\n eventCategory: gafo.eventCategory,\r\n eventAction: gafo.eventAction,\r\n eventLabel: gafo.eventLabel !== undefined ? gafo.eventLabel : null\r\n };\r\n\r\n this.addGaFields(fieldObject, gaData, this.router.url);\r\n this.log(this.router.url, fieldObject);\r\n if (!fieldObject.eventAction.includes('Browser Message')) {\r\n this.sendGaEvent(fieldObject);\r\n }\r\n }\r\n\r\n sendPageView(gaEvent: string, route: string, gaData?: Map) {\r\n const fieldObject = new GaFieldsObject();\r\n this.addGaFields(fieldObject, gaData, route);\r\n fieldObject.gaEvent = 'pageview_' + gaEvent;\r\n this.log(route, fieldObject, 'pageview');\r\n this.sendGaPageView(route, fieldObject);\r\n }\r\n\r\n setCampaign(name: string, source: string, medium: string, keyword: string, content: string, offerCode: string) {\r\n this.sessionData['offerCode'] = offerCode || null;\r\n\r\n this.sessionData['campaignName'] = name;\r\n this.sessionData['campaignSource'] = source;\r\n this.sessionData['campaignMedium'] = medium;\r\n\r\n if (keyword) {\r\n this.sessionData['campaignKeyword'] = keyword;\r\n }\r\n\r\n if (content) {\r\n this.sessionData['campaignContent'] = content;\r\n }\r\n }\r\n\r\n setField(field: string, value: any) {\r\n this.setGaField(field, value);\r\n this.sessionData[field] = value;\r\n }\r\n\r\n formatPayment(payment: SubmitPaymentPlanDetails | Payment): any {\r\n if (!payment || (!payment.paymentAmount && !payment.paymentOptionId)) {\r\n return null;\r\n }\r\n\r\n let installments = payment instanceof Payment ? (payment.paymentPlan ? payment.paymentPlan.installments : null) : payment.installments;\r\n if (!installments || installments.length === 0) {\r\n if (payment.paymentAmount) {\r\n installments = [{ amount: payment.paymentAmount }];\r\n } else {\r\n installments = [];\r\n }\r\n }\r\n\r\n return {\r\n acctId: payment instanceof Payment ? payment.accountId : null,\r\n acctKey: payment instanceof Payment ? payment.acctKey : payment.account?.acctKey,\r\n paymentOptionId: payment.paymentOptionId,\r\n paymentOption: payment.paymentOptionId ? AppConstants.paymentOptionNames[payment.paymentOptionId] : null,\r\n currBalance: payment.balanceAtSetup,\r\n totalPlanAmount: payment.paymentAmount,\r\n totalPlanDiscount : payment.paymentOptionId === AppConstants.paymentOptions.other ? null : utils.toMoney(payment.balanceAtSetup - payment.paymentAmount),\r\n startDate: payment.paymentDate,\r\n paymentMethodType: payment.paymentMethodType || (payment instanceof Payment && payment.funding ? payment.funding.type : ''),\r\n paymentMethodMaskedAccountNumber: payment.paymentMethodMaskedAccountNumber || (payment instanceof Payment && payment.funding ? payment.funding.maskedAccountNumber : ''),\r\n paymentMethodNetwork: payment.paymentMethodNetwork || (payment instanceof Payment && payment.funding ? payment.funding.network : ''),\r\n term: installments.length || 1,\r\n frequency: installments.length > 1 ? payment.frequency : 'OneTime',\r\n installments: installments,\r\n settlementOfferId: payment.settlementOfferId || null,\r\n promoCodeId: payment.promoCode?.promoCodeId || null,\r\n promoCode: payment.promoCode?.promoCodeName || null,\r\n promoCodeSaving: payment.promoCodeSavings || null\r\n };\r\n }\r\n\r\n formatPaymentPlan(plan: PaymentPlan) {\r\n if (!plan) {\r\n return null;\r\n }\r\n\r\n const payment = new Payment();\r\n payment.paymentOptionId = plan.paymentOptionId;\r\n payment.paymentAmount = plan.totalPlanAmount;\r\n payment.settlementOfferId = plan.settlementOfferId;\r\n payment.paymentPlan = new InstallmentPlan();\r\n payment.paymentPlan.installments = plan.installments.map(x => { amount: x });\r\n\r\n return this.formatPayment(payment);\r\n }\r\n\r\n private addGaFields(fieldObject: GaFieldsObject, gaData: Map, route?: string): void {\r\n gaData = gaData || new Map();\r\n const path = `/${route}`.replaceAll('//', '/').trim();\r\n const isUserPayment = path.startsWith('/payment/') && !path.startsWith('payment/history') && !path.startsWith('payment/scheduled');\r\n const isGuestPayment = path.startsWith('/payment/guest') || path.startsWith('/offer');\r\n const isAccountDetails = path.startsWith('/account/details');\r\n if ((isUserPayment || isAccountDetails) && !gaData.has('acctId')) {\r\n const account = this.cache.get(this.cache.items.accountContext);\r\n if (account && account.acctId) {\r\n gaData.set('acctId', account.acctId.toString());\r\n }\r\n }\r\n\r\n if (isGuestPayment && !gaData.has('acctKey')) {\r\n const account = this.cache.get(this.cache.items.guestAccount);\r\n if (account && account.acctKey) {\r\n gaData.set('acctKey', account.acctKey);\r\n }\r\n }\r\n\r\n gaData.forEach((value, key) => {\r\n fieldObject[key] = value;\r\n if (key === 'acctId' && value) {\r\n fieldObject[GaInfo.dimension.resurgentId] = value;\r\n }\r\n });\r\n\r\n const offerCode = this.offerCode || this.offerCodeParam || this.offerCodeCookie;\r\n if (offerCode) {\r\n fieldObject['offerCode'] = offerCode;\r\n }\r\n\r\n if (!fieldObject['payment']) {\r\n if (isUserPayment) {\r\n const pmt = this.cache.get(this.cache.items.paymentContext);\r\n fieldObject['payment'] = this.formatPayment(pmt);\r\n } else if (isGuestPayment) {\r\n const pmt = this.cache.get(this.cache.items.guestPayment);\r\n fieldObject['payment'] = this.formatPayment(pmt);\r\n }\r\n }\r\n\r\n if (!fieldObject[GaInfo.dimension.paymentTerm] && fieldObject['payment']) {\r\n fieldObject[GaInfo.dimension.paymentTerm] = fieldObject['payment'].term;\r\n }\r\n\r\n if (!fieldObject[GaInfo.dimension.paymentOptionId] && fieldObject['payment']) {\r\n fieldObject[GaInfo.dimension.paymentOptionId] = fieldObject['payment'].paymentOptionId;\r\n }\r\n\r\n if (!this.hotjarUserId) {\r\n try {\r\n if ((window).hj && (window).hj.globals) {\r\n const id = (window).hj.globals.get('userId');\r\n if (id) {\r\n this.hotjarUserId = id;\r\n document.cookie = `hotjarUserId=${id}; expires= Fri, 1 Jan 9999 20:00:00 UTC; path=/`;\r\n }\r\n }\r\n } catch (ex) {\r\n // ignore\r\n }\r\n }\r\n\r\n fieldObject['hotjarUserId'] = this.hotjarUserId;\r\n }\r\n\r\n private log(route: string, fieldObject?: GaFieldsObject, eventName?: string) {\r\n const obj = {\r\n domain: location.host,\r\n url: route,\r\n gaEvent: fieldObject ? fieldObject.gaEvent : null,\r\n eventCategory: fieldObject ? fieldObject.eventCategory : null,\r\n eventAction: eventName || (fieldObject ? fieldObject.eventAction : null),\r\n eventLabel: fieldObject ? fieldObject.eventLabel : null,\r\n acctId: (fieldObject ? +fieldObject['acctId'] : null),\r\n acctKey: (fieldObject ? fieldObject['acctKey'] : null),\r\n payment: (fieldObject ? fieldObject['payment'] : null),\r\n offerCode: this.sessionData['offerCode'] || (fieldObject ? fieldObject['offerCode'] : null),\r\n sessionKey: this.sessionData[GaInfo.dimension.sessionKey],\r\n gaClientId: (window).rcs.gaClientId,\r\n hotjarUserId: (fieldObject ? fieldObject['hotjarUserId'] : null),\r\n hitType: fieldObject ? fieldObject.hitType : null,\r\n timezone: format(new Date(), 'xxx'),\r\n browserTime: new Date().toString(),\r\n stateData: JSON.stringify({ ...this.sessionData, ...fieldObject })\r\n };\r\n\r\n if (this.#firstActivity) {\r\n this.#firstActivity = false;\r\n obj['init'] = true;\r\n }\r\n\r\n environment.logEvent(obj);\r\n\r\n this.httpClient\r\n .post(\r\n `${environment.apiEndpoint}api/activity`,\r\n obj,\r\n SpinnerSettings.hideSpinner()\r\n )\r\n .subscribe();\r\n }\r\n\r\n private getGaPageName(gaEvent: string, route: string, isPageView?: boolean) {\r\n let name = gaEvent;\r\n if (!gaEvent) {\r\n name = route.split('?')[0];\r\n name = name.split('account').join('acct');\r\n name = name.split('tandc').join('tandC');\r\n name = name.split('changedateall').join('changeAll');\r\n name = name.split('changedate').join('changeDate');\r\n name = utils.toCamelCase(name, '/', '-');\r\n if (isPageView && route.startsWith('/faq') || route.startsWith('/terms-conditions-disclosures')) {\r\n return utils.toCamelCase(name, '#');\r\n } if (route === '/') {\r\n return 'home';\r\n } else {\r\n return name.split('#')[0];\r\n }\r\n }\r\n\r\n return name;\r\n }\r\n\r\n private getGaEventName(fieldObject: GaFieldsObject) {\r\n function standardize(str: string) {\r\n str = str.split('Account').join('Acct');\r\n str = str.split('SIF').join('Sif');\r\n str = str.split('PIF').join('Pif');\r\n return str;\r\n }\r\n\r\n let name = fieldObject.gaEvent || '_';\r\n\r\n if (name.startsWith('_')) {\r\n name = this.#gaSection + name;\r\n }\r\n\r\n if (name.endsWith('_')) {\r\n name = name + utils.toCamelCase(standardize(fieldObject.eventAction), ' ');\r\n name = standardize(name);\r\n ['\\'', '(', ')', '&', '–', '-', ':'].forEach(x => name = name.replace(x, ''));\r\n\r\n if (fieldObject.eventLabel) {\r\n const label = utils.toCamelCase(fieldObject.eventLabel, ' ');\r\n if (['start', 'success', 'fail', 'notFound'].includes(label)) {\r\n return `${name}_${label}`;\r\n }\r\n }\r\n }\r\n\r\n return name;\r\n }\r\n\r\n private sendQueuedEvents() {\r\n while(this.#eventQueue.length > 0) {\r\n const evt = this.#eventQueue.shift();\r\n this.sendEvent(evt.gafo, evt.gaData);\r\n }\r\n }\r\n}\r\n"], "mappings": "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", "names": ["GaInfo", "_GaInfo", "dimension", "gaClientId", "paymentOptionId", "paymentTerm", "resurgentId", "sessionKey", "userId", "event", "category", "info", "payments", "paymentEdit", "user", "paymentOffers", "paymentGuest", "outboundLinks", "accLinking", "menu", "footer", "chat", "guestDocuments", "guestCalendar", "bundledPlans", "guestBundledPlans", "contactUs", "contactCco", "accountDisclosures", "profile", "announcements", "rewards", "documents", "multiFactorAuthentication", "hitType", "exception", "item", "screenview", "social", "timing", "transaction", "metric", "accountsLinked", "paymentAmount", "GoogleAnalyticsService", "constructor", "gaTimeout", "window", "rcs", "dataLayer", "gtag", "push", "arguments", "getGaLinkerParam", "sendGaEvent", "jsonFieldObject", "gaEvent", "event_category", "eventCategory", "event_label", "eventLabel", "sendGaPageView", "route", "page_title", "document", "title", "page_location", "location", "href", "page_path", "page_referrer", "referrer", "setGaField", "key", "value", "sanitize", "obj", "property", "ActivityService", "_firstActivity", "_gaPage", "_gaSection", "_eventQueue", "GoogleAnalyticsService", "constructor", "router", "httpClient", "cache", "cookieService", "__privateAdd", "sessionData", "Map", "__privateSet", "cookies", "getAll", "offerCodeCookie", "events", "subscribe", "event", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "ActivationEnd", "snapshot", "firstChild", "data", "gaPage", "getGaPageName", "url", "gaSection", "offerCodeParam", "paramMap", "get", "NavigationEnd", "previousUrl", "currentUrl", "urlAfterRedirects", "includes", "sendEvent", "gaEvent", "eventCategory", "eventAction", "acctKey", "items", "guestAccount", "fields", "sendPageView", "__privateGet", "sendQueuedEvents", "sendCategoryEvent", "category", "action", "label", "callback", "fieldObject", "eventLabel", "hitCallback", "sendNamedCategoryEvent", "gafo", "gaData", "push", "hitType", "GaInfo", "undefined", "getGaEventName", "addGaFields", "log", "sendGaEvent", "route", "GaFieldsObject", "sendGaPageView", "setCampaign", "name", "source", "medium", "keyword", "content", "offerCode", "setField", "field", "value", "setGaField", "formatPayment", "payment", "paymentAmount", "paymentOptionId", "installments", "Payment", "paymentPlan", "length", "amount", "acctId", "accountId", "account", "paymentOption", "AppConstants", "paymentOptionNames", "currBalance", "balanceAtSetup", "totalPlanAmount", "totalPlanDiscount", "paymentOptions", "other", "utils", "toMoney", "startDate", "paymentDate", "paymentMethodType", "funding", "type", "paymentMethodMaskedAccountNumber", "maskedAccountNumber", "paymentMethodNetwork", "network", "term", "frequency", "settlementOfferId", "promoCodeId", "promoCode", "promoCodeName", "promoCodeSaving", "promoCodeSavings", "formatPaymentPlan", "plan", "InstallmentPlan", "map", "x", "path", "replaceAll", "trim", "isUserPayment", "startsWith", "isGuestPayment", "isAccountDetails", "has", "accountContext", "set", "toString", "forEach", "key", "dimension", "resurgentId", "pmt", "paymentContext", "guestPayment", "paymentTerm", "hotjarUserId", "window", "hj", "globals", "id", "document", "cookie", "eventName", "obj", "domain", "location", "host", "sessionKey", "gaClientId", "rcs", "timezone", "format", "Date", "browserTime", "stateData", "JSON", "stringify", "__spreadValues", "environment", "logEvent", "post", "apiEndpoint", "SpinnerSettings", "hideSpinner", "isPageView", "split", "join", "toCamelCase", "standardize", "str", "endsWith", "replace", "evt", "shift", "\u0275\u0275inject", "Router", "HttpClient", "CacheService", "CookieService", "factory", "\u0275fac", "providedIn", "_ActivityService"] }