{"version":3,"file":"angulartics2-adobeanalytics.js","sources":["ng://angulartics2/adobeanalytics/adobeanalytics.ts","ng://angulartics2/adobeanalytics/angulartics2-adobeanalytics.ts"],"sourcesContent":["import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from 'angulartics2';\n\ndeclare const s: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2AdobeAnalytics {\n\n constructor(\n private angulartics2: Angulartics2,\n private location: Location,\n ) {\n this.angulartics2.setUserProperties\n .subscribe((x) => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n if (typeof s !== 'undefined' && s) {\n s.clearVars();\n s.t({pageName: path});\n }\n }\n\n /**\n * Track Event in Adobe Analytics\n *\n * @param action associated with the event\n * @param properties action detials\n *\n * @link https://marketing.adobe.com/resources/help/en_US/sc/implement/js_implementation.html\n */\n eventTrack(action: string, properties: any) {\n // TODO: make interface\n // @property {string} properties.category\n // @property {string} properties.label\n // @property {number} properties.value\n // @property {boolean} properties.noninteraction\n if (!properties) {\n properties = properties || {};\n }\n\n if (typeof s !== 'undefined' && s) {\n if (typeof properties === 'object') {\n this.setUserProperties(properties);\n }\n if (action) {\n // if linkName property is passed, use that; otherwise, the action is the linkName\n const linkName = (properties['linkName']) ? properties['linkName'] : action;\n // note that 'this' should refer the link element, but we can't get that in this function. example:\n // \n // if disableDelay property is passed, use that to turn off/on the 500ms delay; otherwise, it uses this\n const disableDelay = !!properties['disableDelay'] ? true : this;\n // if action property is passed, use that; otherwise, the action remains unchanged\n if (properties['action']) {\n action = properties['action'];\n }\n this.setPageName();\n\n if (action.toUpperCase() === 'DOWNLOAD') {\n s.tl(disableDelay, 'd', linkName);\n } else if (action.toUpperCase() === 'EXIT') {\n s.tl(disableDelay, 'e', linkName);\n } else {\n s.tl(disableDelay, 'o', linkName);\n }\n }\n }\n }\n\n private setPageName() {\n const path = this.location.path(true);\n const hashNdx = path.indexOf('#');\n if (hashNdx > 0 && hashNdx < path.length) {\n s.pageName = path.substring(hashNdx + 1);\n } else {\n s.pageName = path;\n }\n }\n\n setUserProperties(properties: any) {\n if (typeof s !== 'undefined' && s) {\n if (typeof properties === 'object') {\n for (const key in properties) {\n if (properties.hasOwnProperty(key)) {\n s[key] = properties[key];\n }\n }\n }\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adobeanalytics';\n"],"names":[],"mappings":"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"}