angulartics2 10.1.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +7 -8
- package/angular-router.d.ts +3 -0
- package/angulartics2-core.d.ts +3 -0
- package/angulartics2.d.ts +1 -0
- package/angulartics2.module.d.ts +5 -0
- package/angulartics2On.d.ts +6 -0
- package/esm2020/angular-router.mjs +33 -0
- package/esm2020/angulartics2-config.mjs +19 -0
- package/esm2020/angulartics2-core.mjs +93 -0
- package/esm2020/angulartics2-interfaces.mjs +2 -0
- package/esm2020/angulartics2-token.mjs +3 -0
- package/esm2020/angulartics2.mjs +5 -0
- package/{esm2015/angulartics2.module.js → esm2020/angulartics2.module.mjs} +12 -7
- package/esm2020/angulartics2On.mjs +66 -0
- package/esm2020/providers/adobeanalytics/adobeanalytics.mjs +98 -0
- package/esm2020/providers/amplitude/amplitude.mjs +68 -0
- package/esm2020/providers/appinsights/appinsights.mjs +118 -0
- package/esm2020/providers/baidu/baidu.mjs +81 -0
- package/{clicky/esm2015/clicky.interfaces.js → esm2020/providers/clicky/clicky.interfaces.mjs} +1 -0
- package/esm2020/providers/clicky/clicky.mjs +64 -0
- package/esm2020/providers/facebook/facebook.mjs +45 -0
- package/esm2020/providers/ga/ga.mjs +219 -0
- package/{ga-enhanced-ecom/esm2015/ga-enhanced-ecom-options.js → esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom-options.mjs} +1 -0
- package/esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom.mjs +32 -0
- package/esm2020/providers/gosquared/gosquared.mjs +55 -0
- package/{gst/esm2015/gst-interfaces.js → esm2020/providers/gst/gst-interfaces.mjs} +1 -0
- package/esm2020/providers/gst/gst.mjs +197 -0
- package/esm2020/providers/gtm/gtm.mjs +114 -0
- package/esm2020/providers/hubspot/hubspot.mjs +40 -0
- package/esm2020/providers/ibm-digital-analytics/ibm-digital-analytics.mjs +125 -0
- package/esm2020/providers/intercom/intercom.mjs +60 -0
- package/esm2020/providers/kissmetrics/kissmetrics.mjs +40 -0
- package/esm2020/providers/launch/launch.mjs +59 -0
- package/esm2020/providers/matomo/matomo.mjs +303 -0
- package/esm2020/providers/mixpanel/mixpanel.mjs +109 -0
- package/esm2020/providers/pyze/pyze.mjs +65 -0
- package/esm2020/providers/segment/segment.mjs +100 -0
- package/esm2020/providers/splunk/splunk.mjs +46 -0
- package/esm2020/providers/woopra/woopra.mjs +61 -0
- package/esm2020/public_api.mjs +32 -0
- package/esm2020/routerless.mjs +10 -0
- package/esm2020/routerless.module.mjs +28 -0
- package/fesm2015/angulartics2.mjs +2248 -0
- package/fesm2015/angulartics2.mjs.map +1 -0
- package/fesm2020/angulartics2.mjs +2294 -0
- package/fesm2020/angulartics2.mjs.map +1 -0
- package/package.json +26 -13
- package/{adobeanalytics → providers/adobeanalytics}/README.md +1 -1
- package/{adobeanalytics → providers/adobeanalytics}/adobeanalytics.d.ts +4 -1
- package/{amplitude → providers/amplitude}/README.md +1 -1
- package/{amplitude → providers/amplitude}/amplitude.d.ts +4 -1
- package/{appinsights → providers/appinsights}/README.md +1 -1
- package/{appinsights → providers/appinsights}/appinsights.d.ts +5 -1
- package/{baidu → providers/baidu}/README.md +1 -1
- package/{baidu → providers/baidu}/baidu.d.ts +4 -1
- package/{clicky → providers/clicky}/README.md +1 -1
- package/{clicky → providers/clicky}/clicky.d.ts +4 -1
- package/{clicky → providers/clicky}/clicky.interfaces.d.ts +0 -0
- package/{facebook → providers/facebook}/README.md +1 -1
- package/{facebook → providers/facebook}/facebook.d.ts +4 -1
- package/{ga → providers/ga}/README.md +1 -1
- package/{ga → providers/ga}/ga.d.ts +6 -1
- package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/README.md +1 -1
- package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/ga-enhanced-ecom-options.d.ts +0 -0
- package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/ga-enhanced-ecom.d.ts +3 -0
- package/{gosquared → providers/gosquared}/README.md +1 -1
- package/{gosquared → providers/gosquared}/gosquared.d.ts +4 -1
- package/{gst → providers/gst}/README.md +2 -2
- package/{gst → providers/gst}/gst-interfaces.d.ts +0 -0
- package/{gst → providers/gst}/gst.d.ts +5 -1
- package/{gtm → providers/gtm}/README.md +2 -2
- package/{gtm → providers/gtm}/gtm.d.ts +5 -1
- package/{hubspot → providers/hubspot}/README.md +1 -1
- package/{hubspot → providers/hubspot}/hubspot.d.ts +4 -1
- package/{ibm-digital-analytics → providers/ibm-digital-analytics}/README.md +2 -2
- package/{ibm-digital-analytics → providers/ibm-digital-analytics}/ibm-digital-analytics.d.ts +4 -1
- package/{intercom → providers/intercom}/README.md +1 -1
- package/{intercom → providers/intercom}/intercom.d.ts +4 -1
- package/{kissmetrics → providers/kissmetrics}/README.md +1 -1
- package/{kissmetrics → providers/kissmetrics}/kissmetrics.d.ts +4 -1
- package/{launch → providers/launch}/README.md +3 -3
- package/{launch → providers/launch}/launch.d.ts +4 -1
- package/{matomo → providers/matomo}/README.md +3 -3
- package/{matomo → providers/matomo}/matomo.d.ts +9 -6
- package/{mixpanel → providers/mixpanel}/README.md +2 -2
- package/{mixpanel → providers/mixpanel}/mixpanel.d.ts +4 -1
- package/{pyze → providers/pyze}/README.md +1 -1
- package/providers/pyze/pyze.d.ts +13 -0
- package/{segment → providers/segment}/README.md +3 -3
- package/{segment → providers/segment}/segment.d.ts +4 -1
- package/{splunk → providers/splunk}/README.md +2 -2
- package/providers/splunk/splunk.d.ts +11 -0
- package/{woopra → providers/woopra}/README.md +1 -1
- package/{woopra → providers/woopra}/woopra.d.ts +4 -1
- package/public_api.d.ts +23 -0
- package/routerless.module.d.ts +10 -0
- package/adobeanalytics/angulartics2-adobeanalytics.d.ts +0 -4
- package/adobeanalytics/angulartics2-adobeanalytics.metadata.json +0 -1
- package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.js +0 -116
- package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.js.map +0 -1
- package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.min.js +0 -2
- package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.min.js.map +0 -1
- package/adobeanalytics/esm2015/adobeanalytics.js +0 -103
- package/adobeanalytics/esm2015/angulartics2-adobeanalytics.js +0 -5
- package/adobeanalytics/fesm2015/angulartics2-adobeanalytics.js +0 -107
- package/adobeanalytics/fesm2015/angulartics2-adobeanalytics.js.map +0 -1
- package/adobeanalytics/package.json +0 -20
- package/amplitude/angulartics2-amplitude.d.ts +0 -4
- package/amplitude/angulartics2-amplitude.metadata.json +0 -1
- package/amplitude/bundles/angulartics2-amplitude.umd.js +0 -88
- package/amplitude/bundles/angulartics2-amplitude.umd.js.map +0 -1
- package/amplitude/bundles/angulartics2-amplitude.umd.min.js +0 -2
- package/amplitude/bundles/angulartics2-amplitude.umd.min.js.map +0 -1
- package/amplitude/esm2015/amplitude.js +0 -73
- package/amplitude/esm2015/angulartics2-amplitude.js +0 -5
- package/amplitude/fesm2015/angulartics2-amplitude.js +0 -78
- package/amplitude/fesm2015/angulartics2-amplitude.js.map +0 -1
- package/amplitude/package.json +0 -20
- package/angulartics2.metadata.json +0 -1
- package/appinsights/angulartics2-appinsights.d.ts +0 -4
- package/appinsights/angulartics2-appinsights.metadata.json +0 -1
- package/appinsights/bundles/angulartics2-appinsights.umd.js +0 -134
- package/appinsights/bundles/angulartics2-appinsights.umd.js.map +0 -1
- package/appinsights/bundles/angulartics2-appinsights.umd.min.js +0 -2
- package/appinsights/bundles/angulartics2-appinsights.umd.min.js.map +0 -1
- package/appinsights/esm2015/angulartics2-appinsights.js +0 -5
- package/appinsights/esm2015/appinsights.js +0 -122
- package/appinsights/fesm2015/angulartics2-appinsights.js +0 -125
- package/appinsights/fesm2015/angulartics2-appinsights.js.map +0 -1
- package/appinsights/package.json +0 -20
- package/baidu/angulartics2-baidu.d.ts +0 -4
- package/baidu/angulartics2-baidu.metadata.json +0 -1
- package/baidu/bundles/angulartics2-baidu.umd.js +0 -98
- package/baidu/bundles/angulartics2-baidu.umd.js.map +0 -1
- package/baidu/bundles/angulartics2-baidu.umd.min.js +0 -2
- package/baidu/bundles/angulartics2-baidu.umd.min.js.map +0 -1
- package/baidu/esm2015/angulartics2-baidu.js +0 -5
- package/baidu/esm2015/baidu.js +0 -83
- package/baidu/fesm2015/angulartics2-baidu.js +0 -88
- package/baidu/fesm2015/angulartics2-baidu.js.map +0 -1
- package/baidu/package.json +0 -20
- package/bundles/angulartics2.umd.js +0 -564
- package/bundles/angulartics2.umd.js.map +0 -1
- package/bundles/angulartics2.umd.min.js +0 -16
- package/bundles/angulartics2.umd.min.js.map +0 -1
- package/clicky/angulartics2-clicky.d.ts +0 -4
- package/clicky/angulartics2-clicky.metadata.json +0 -1
- package/clicky/bundles/angulartics2-clicky.umd.js +0 -80
- package/clicky/bundles/angulartics2-clicky.umd.js.map +0 -1
- package/clicky/bundles/angulartics2-clicky.umd.min.js +0 -2
- package/clicky/bundles/angulartics2-clicky.umd.min.js.map +0 -1
- package/clicky/esm2015/angulartics2-clicky.js +0 -5
- package/clicky/esm2015/clicky.js +0 -68
- package/clicky/fesm2015/angulartics2-clicky.js +0 -72
- package/clicky/fesm2015/angulartics2-clicky.js.map +0 -1
- package/clicky/package.json +0 -20
- package/esm2015/angular-router.js +0 -36
- package/esm2015/angulartics2-config.js +0 -19
- package/esm2015/angulartics2-core.js +0 -89
- package/esm2015/angulartics2-interfaces.js +0 -1
- package/esm2015/angulartics2-token.js +0 -3
- package/esm2015/angulartics2.js +0 -5
- package/esm2015/angulartics2On.js +0 -55
- package/esm2015/public_api.js +0 -9
- package/esm2015/routerless.js +0 -10
- package/facebook/angulartics2-facebook.d.ts +0 -4
- package/facebook/angulartics2-facebook.metadata.json +0 -1
- package/facebook/bundles/angulartics2-facebook.umd.js +0 -62
- package/facebook/bundles/angulartics2-facebook.umd.js.map +0 -1
- package/facebook/bundles/angulartics2-facebook.umd.min.js +0 -2
- package/facebook/bundles/angulartics2-facebook.umd.min.js.map +0 -1
- package/facebook/esm2015/angulartics2-facebook.js +0 -5
- package/facebook/esm2015/facebook.js +0 -47
- package/facebook/fesm2015/angulartics2-facebook.js +0 -52
- package/facebook/fesm2015/angulartics2-facebook.js.map +0 -1
- package/facebook/package.json +0 -20
- package/fesm2015/angulartics2.js +0 -223
- package/fesm2015/angulartics2.js.map +0 -1
- package/ga/angulartics2-ga.d.ts +0 -4
- package/ga/angulartics2-ga.metadata.json +0 -1
- package/ga/bundles/angulartics2-ga.umd.js +0 -600
- package/ga/bundles/angulartics2-ga.umd.js.map +0 -1
- package/ga/bundles/angulartics2-ga.umd.min.js +0 -16
- package/ga/bundles/angulartics2-ga.umd.min.js.map +0 -1
- package/ga/esm2015/angulartics2-ga.js +0 -5
- package/ga/esm2015/ga.js +0 -207
- package/ga/fesm2015/angulartics2-ga.js +0 -212
- package/ga/fesm2015/angulartics2-ga.js.map +0 -1
- package/ga/package.json +0 -20
- package/ga-enhanced-ecom/angulartics2-ga-enhanced-ecom.d.ts +0 -4
- package/ga-enhanced-ecom/angulartics2-ga-enhanced-ecom.metadata.json +0 -1
- package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.js +0 -47
- package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.js.map +0 -1
- package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.min.js +0 -2
- package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.min.js.map +0 -1
- package/ga-enhanced-ecom/esm2015/angulartics2-ga-enhanced-ecom.js +0 -5
- package/ga-enhanced-ecom/esm2015/ga-enhanced-ecom.js +0 -30
- package/ga-enhanced-ecom/fesm2015/angulartics2-ga-enhanced-ecom.js +0 -36
- package/ga-enhanced-ecom/fesm2015/angulartics2-ga-enhanced-ecom.js.map +0 -1
- package/ga-enhanced-ecom/package.json +0 -20
- package/gosquared/angulartics2-gosquared.d.ts +0 -4
- package/gosquared/angulartics2-gosquared.metadata.json +0 -1
- package/gosquared/bundles/angulartics2-gosquared.umd.js +0 -72
- package/gosquared/bundles/angulartics2-gosquared.umd.js.map +0 -1
- package/gosquared/bundles/angulartics2-gosquared.umd.min.js +0 -2
- package/gosquared/bundles/angulartics2-gosquared.umd.min.js.map +0 -1
- package/gosquared/esm2015/angulartics2-gosquared.js +0 -5
- package/gosquared/esm2015/gosquared.js +0 -57
- package/gosquared/fesm2015/angulartics2-gosquared.js +0 -62
- package/gosquared/fesm2015/angulartics2-gosquared.js.map +0 -1
- package/gosquared/package.json +0 -20
- package/gst/angulartics2-gst.d.ts +0 -4
- package/gst/angulartics2-gst.metadata.json +0 -1
- package/gst/bundles/angulartics2-gst.umd.js +0 -514
- package/gst/bundles/angulartics2-gst.umd.js.map +0 -1
- package/gst/bundles/angulartics2-gst.umd.min.js +0 -16
- package/gst/bundles/angulartics2-gst.umd.min.js.map +0 -1
- package/gst/esm2015/angulartics2-gst.js +0 -5
- package/gst/esm2015/gst.js +0 -182
- package/gst/fesm2015/angulartics2-gst.js +0 -187
- package/gst/fesm2015/angulartics2-gst.js.map +0 -1
- package/gst/package.json +0 -20
- package/gtm/angulartics2-gtm.d.ts +0 -4
- package/gtm/angulartics2-gtm.metadata.json +0 -1
- package/gtm/bundles/angulartics2-gtm.umd.js +0 -125
- package/gtm/bundles/angulartics2-gtm.umd.js.map +0 -1
- package/gtm/bundles/angulartics2-gtm.umd.min.js +0 -2
- package/gtm/bundles/angulartics2-gtm.umd.min.js.map +0 -1
- package/gtm/esm2015/angulartics2-gtm.js +0 -5
- package/gtm/esm2015/gtm.js +0 -108
- package/gtm/fesm2015/angulartics2-gtm.js +0 -113
- package/gtm/fesm2015/angulartics2-gtm.js.map +0 -1
- package/gtm/package.json +0 -20
- package/hubspot/angulartics2-hubspot.d.ts +0 -4
- package/hubspot/angulartics2-hubspot.metadata.json +0 -1
- package/hubspot/bundles/angulartics2-hubspot.umd.js +0 -58
- package/hubspot/bundles/angulartics2-hubspot.umd.js.map +0 -1
- package/hubspot/bundles/angulartics2-hubspot.umd.min.js +0 -2
- package/hubspot/bundles/angulartics2-hubspot.umd.min.js.map +0 -1
- package/hubspot/esm2015/angulartics2-hubspot.js +0 -5
- package/hubspot/esm2015/hubspot.js +0 -43
- package/hubspot/fesm2015/angulartics2-hubspot.js +0 -48
- package/hubspot/fesm2015/angulartics2-hubspot.js.map +0 -1
- package/hubspot/package.json +0 -20
- package/ibm-digital-analytics/angulartics2-ibm-digital-analytics.d.ts +0 -4
- package/ibm-digital-analytics/angulartics2-ibm-digital-analytics.metadata.json +0 -1
- package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.js +0 -142
- package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.js.map +0 -1
- package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.min.js +0 -2
- package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.min.js.map +0 -1
- package/ibm-digital-analytics/esm2015/angulartics2-ibm-digital-analytics.js +0 -5
- package/ibm-digital-analytics/esm2015/ibm-digital-analytics.js +0 -127
- package/ibm-digital-analytics/fesm2015/angulartics2-ibm-digital-analytics.js +0 -132
- package/ibm-digital-analytics/fesm2015/angulartics2-ibm-digital-analytics.js.map +0 -1
- package/ibm-digital-analytics/package.json +0 -20
- package/intercom/angulartics2-intercom.d.ts +0 -4
- package/intercom/angulartics2-intercom.metadata.json +0 -1
- package/intercom/bundles/angulartics2-intercom.umd.js +0 -79
- package/intercom/bundles/angulartics2-intercom.umd.js.map +0 -1
- package/intercom/bundles/angulartics2-intercom.umd.min.js +0 -2
- package/intercom/bundles/angulartics2-intercom.umd.min.js.map +0 -1
- package/intercom/esm2015/angulartics2-intercom.js +0 -5
- package/intercom/esm2015/intercom.js +0 -64
- package/intercom/fesm2015/angulartics2-intercom.js +0 -69
- package/intercom/fesm2015/angulartics2-intercom.js.map +0 -1
- package/intercom/package.json +0 -20
- package/kissmetrics/angulartics2-kissmetrics.d.ts +0 -4
- package/kissmetrics/angulartics2-kissmetrics.metadata.json +0 -1
- package/kissmetrics/bundles/angulartics2-kissmetrics.umd.js +0 -59
- package/kissmetrics/bundles/angulartics2-kissmetrics.umd.js.map +0 -1
- package/kissmetrics/bundles/angulartics2-kissmetrics.umd.min.js +0 -2
- package/kissmetrics/bundles/angulartics2-kissmetrics.umd.min.js.map +0 -1
- package/kissmetrics/esm2015/angulartics2-kissmetrics.js +0 -5
- package/kissmetrics/esm2015/kissmetrics.js +0 -44
- package/kissmetrics/fesm2015/angulartics2-kissmetrics.js +0 -49
- package/kissmetrics/fesm2015/angulartics2-kissmetrics.js.map +0 -1
- package/kissmetrics/package.json +0 -23
- package/launch/angulartics2-launch.d.ts +0 -4
- package/launch/angulartics2-launch.metadata.json +0 -1
- package/launch/bundles/angulartics2-launch.umd.js +0 -78
- package/launch/bundles/angulartics2-launch.umd.js.map +0 -1
- package/launch/bundles/angulartics2-launch.umd.min.js +0 -2
- package/launch/bundles/angulartics2-launch.umd.min.js.map +0 -1
- package/launch/esm2015/angulartics2-launch.js +0 -5
- package/launch/esm2015/launch.js +0 -63
- package/launch/fesm2015/angulartics2-launch.js +0 -68
- package/launch/fesm2015/angulartics2-launch.js.map +0 -1
- package/launch/package.json +0 -20
- package/matomo/angulartics2-matomo.d.ts +0 -4
- package/matomo/angulartics2-matomo.metadata.json +0 -1
- package/matomo/bundles/angulartics2-matomo.umd.js +0 -309
- package/matomo/bundles/angulartics2-matomo.umd.js.map +0 -1
- package/matomo/bundles/angulartics2-matomo.umd.min.js +0 -2
- package/matomo/bundles/angulartics2-matomo.umd.min.js.map +0 -1
- package/matomo/esm2015/angulartics2-matomo.js +0 -5
- package/matomo/esm2015/matomo.js +0 -294
- package/matomo/fesm2015/angulartics2-matomo.js +0 -299
- package/matomo/fesm2015/angulartics2-matomo.js.map +0 -1
- package/matomo/package.json +0 -20
- package/mixpanel/angulartics2-mixpanel.d.ts +0 -4
- package/mixpanel/angulartics2-mixpanel.metadata.json +0 -1
- package/mixpanel/bundles/angulartics2-mixpanel.umd.js +0 -132
- package/mixpanel/bundles/angulartics2-mixpanel.umd.js.map +0 -1
- package/mixpanel/bundles/angulartics2-mixpanel.umd.min.js +0 -2
- package/mixpanel/bundles/angulartics2-mixpanel.umd.min.js.map +0 -1
- package/mixpanel/esm2015/angulartics2-mixpanel.js +0 -5
- package/mixpanel/esm2015/mixpanel.js +0 -117
- package/mixpanel/fesm2015/angulartics2-mixpanel.js +0 -122
- package/mixpanel/fesm2015/angulartics2-mixpanel.js.map +0 -1
- package/mixpanel/package.json +0 -20
- package/pyze/angulartics2-pyze.d.ts +0 -4
- package/pyze/angulartics2-pyze.metadata.json +0 -1
- package/pyze/bundles/angulartics2-pyze.umd.js +0 -82
- package/pyze/bundles/angulartics2-pyze.umd.js.map +0 -1
- package/pyze/bundles/angulartics2-pyze.umd.min.js +0 -2
- package/pyze/bundles/angulartics2-pyze.umd.min.js.map +0 -1
- package/pyze/esm2015/angulartics2-pyze.js +0 -5
- package/pyze/esm2015/pyze.js +0 -67
- package/pyze/fesm2015/angulartics2-pyze.js +0 -72
- package/pyze/fesm2015/angulartics2-pyze.js.map +0 -1
- package/pyze/package.json +0 -20
- package/pyze/pyze.d.ts +0 -10
- package/routerlessmodule/angulartics2-routerlessmodule.d.ts +0 -4
- package/routerlessmodule/angulartics2-routerlessmodule.metadata.json +0 -1
- package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.js +0 -38
- package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.js.map +0 -1
- package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.min.js +0 -2
- package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.min.js.map +0 -1
- package/routerlessmodule/esm2015/angulartics2-routerlessmodule.js +0 -5
- package/routerlessmodule/esm2015/routerless.module.js +0 -20
- package/routerlessmodule/fesm2015/angulartics2-routerlessmodule.js +0 -27
- package/routerlessmodule/fesm2015/angulartics2-routerlessmodule.js.map +0 -1
- package/routerlessmodule/package.json +0 -20
- package/routerlessmodule/routerless.module.d.ts +0 -5
- package/segment/angulartics2-segment.d.ts +0 -4
- package/segment/angulartics2-segment.metadata.json +0 -1
- package/segment/bundles/angulartics2-segment.umd.js +0 -120
- package/segment/bundles/angulartics2-segment.umd.js.map +0 -1
- package/segment/bundles/angulartics2-segment.umd.min.js +0 -2
- package/segment/bundles/angulartics2-segment.umd.min.js.map +0 -1
- package/segment/esm2015/angulartics2-segment.js +0 -5
- package/segment/esm2015/segment.js +0 -105
- package/segment/fesm2015/angulartics2-segment.js +0 -110
- package/segment/fesm2015/angulartics2-segment.js.map +0 -1
- package/segment/package.json +0 -20
- package/splunk/angulartics2-splunk.d.ts +0 -4
- package/splunk/angulartics2-splunk.metadata.json +0 -1
- package/splunk/bundles/angulartics2-splunk.umd.js +0 -62
- package/splunk/bundles/angulartics2-splunk.umd.js.map +0 -1
- package/splunk/bundles/angulartics2-splunk.umd.min.js +0 -2
- package/splunk/bundles/angulartics2-splunk.umd.min.js.map +0 -1
- package/splunk/esm2015/angulartics2-splunk.js +0 -5
- package/splunk/esm2015/splunk.js +0 -48
- package/splunk/fesm2015/angulartics2-splunk.js +0 -53
- package/splunk/fesm2015/angulartics2-splunk.js.map +0 -1
- package/splunk/package.json +0 -20
- package/splunk/splunk.d.ts +0 -8
- package/uiroutermodule/angulartics2-uiroutermodule.d.ts +0 -4
- package/uiroutermodule/angulartics2-uiroutermodule.metadata.json +0 -1
- package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.js +0 -76
- package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.js.map +0 -1
- package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.min.js +0 -2
- package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.min.js.map +0 -1
- package/uiroutermodule/esm2015/angulartics2-uiroutermodule.js +0 -5
- package/uiroutermodule/esm2015/public_api.js +0 -3
- package/uiroutermodule/esm2015/uirouter.js +0 -40
- package/uiroutermodule/esm2015/uirouter.module.js +0 -21
- package/uiroutermodule/fesm2015/angulartics2-uiroutermodule.js +0 -64
- package/uiroutermodule/fesm2015/angulartics2-uiroutermodule.js.map +0 -1
- package/uiroutermodule/package.json +0 -20
- package/uiroutermodule/public_api.d.ts +0 -2
- package/uiroutermodule/uirouter.d.ts +0 -17
- package/uiroutermodule/uirouter.module.d.ts +0 -5
- package/woopra/angulartics2-woopra.d.ts +0 -4
- package/woopra/angulartics2-woopra.metadata.json +0 -1
- package/woopra/bundles/angulartics2-woopra.umd.js +0 -79
- package/woopra/bundles/angulartics2-woopra.umd.js.map +0 -1
- package/woopra/bundles/angulartics2-woopra.umd.min.js +0 -2
- package/woopra/bundles/angulartics2-woopra.umd.min.js.map +0 -1
- package/woopra/esm2015/angulartics2-woopra.js +0 -5
- package/woopra/esm2015/woopra.js +0 -64
- package/woopra/fesm2015/angulartics2-woopra.js +0 -69
- package/woopra/fesm2015/angulartics2-woopra.js.map +0 -1
- package/woopra/package.json +0 -20
package/LICENSE
CHANGED
package/README.md
CHANGED
@@ -32,12 +32,11 @@ Latest version available for each version of Angular
|
|
32
32
|
|
33
33
|
| Angulartics2 | Angular |
|
34
34
|
| ------------ | --------- |
|
35
|
-
| 5.4.0 | 4.x |
|
36
|
-
| 6.3.1 | 5.x |
|
37
|
-
| 7.5.2 | 6.x - 7.x |
|
38
35
|
| 8.3.0 | 8.x |
|
39
36
|
| 9.1.0 | 9.x |
|
40
|
-
|
|
37
|
+
| 10.1.0 | 10.x |
|
38
|
+
| 11.0.0 | 12.x |
|
39
|
+
| latest | 13.x |
|
41
40
|
|
42
41
|
## Installation
|
43
42
|
|
@@ -54,7 +53,7 @@ import { BrowserModule } from '@angular/platform-browser';
|
|
54
53
|
import { RouterModule, Routes } from '@angular/router';
|
55
54
|
|
56
55
|
import { Angulartics2Module } from 'angulartics2';
|
57
|
-
import { Angulartics2GoogleAnalytics } from 'angulartics2
|
56
|
+
import { Angulartics2GoogleAnalytics } from 'angulartics2';
|
58
57
|
|
59
58
|
const ROUTES: Routes = [
|
60
59
|
{ path: '', component: HomeComponent },
|
@@ -78,7 +77,7 @@ const ROUTES: Routes = [
|
|
78
77
|
2. __Required__: Import your providers in the root component. Call `startTracking()` to start the tracking of route changes.
|
79
78
|
```ts
|
80
79
|
// component
|
81
|
-
import { Angulartics2GoogleAnalytics } from 'angulartics2
|
80
|
+
import { Angulartics2GoogleAnalytics } from 'angulartics2';
|
82
81
|
|
83
82
|
@Component({ ... })
|
84
83
|
export class AppComponent {
|
@@ -231,7 +230,7 @@ Angulartics2Module.forRoot({
|
|
231
230
|
__Warning:__ this support is still experiemental
|
232
231
|
`@angular/router` must still be installed! However, it will not be used.
|
233
232
|
````ts
|
234
|
-
import { Angulartics2RouterlessModule } from 'angulartics2
|
233
|
+
import { Angulartics2RouterlessModule } from 'angulartics2';
|
235
234
|
@NgModule({
|
236
235
|
// ...
|
237
236
|
imports: [
|
@@ -246,7 +245,7 @@ import { Angulartics2RouterlessModule } from 'angulartics2/routerlessmodule';
|
|
246
245
|
__Warning:__ this support is still experiemental
|
247
246
|
`@angular/router` must still be installed! However, it will not be used.
|
248
247
|
````ts
|
249
|
-
import { Angulartics2UirouterModule } from 'angulartics2
|
248
|
+
import { Angulartics2UirouterModule } from 'angulartics2';
|
250
249
|
@NgModule({
|
251
250
|
// ...
|
252
251
|
imports: [
|
package/angular-router.d.ts
CHANGED
@@ -2,6 +2,7 @@ import { Location } from '@angular/common';
|
|
2
2
|
import { Router } from '@angular/router';
|
3
3
|
import { Observable } from 'rxjs';
|
4
4
|
import { RouterlessTracking, TrackNavigationEnd } from './routerless';
|
5
|
+
import * as i0 from "@angular/core";
|
5
6
|
/**
|
6
7
|
* Track Route changes for applications using Angular's
|
7
8
|
* default router
|
@@ -14,4 +15,6 @@ export declare class AngularRouterTracking implements RouterlessTracking {
|
|
14
15
|
constructor(router: Router, location: Location);
|
15
16
|
trackLocation(settings: any): Observable<TrackNavigationEnd>;
|
16
17
|
prepareExternalUrl(url: string): string;
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AngularRouterTracking, never>;
|
19
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AngularRouterTracking>;
|
17
20
|
}
|
package/angulartics2-core.d.ts
CHANGED
@@ -3,6 +3,7 @@ import { Angulartics2Settings } from './angulartics2-config';
|
|
3
3
|
import { EventTrack, PageTrack, UserTimings } from './angulartics2-interfaces';
|
4
4
|
import { Angulartics2Token } from './angulartics2-token';
|
5
5
|
import { RouterlessTracking } from './routerless';
|
6
|
+
import * as i0 from "@angular/core";
|
6
7
|
export declare class Angulartics2 {
|
7
8
|
private tracker;
|
8
9
|
settings: Angulartics2Settings;
|
@@ -36,4 +37,6 @@ export declare class Angulartics2 {
|
|
36
37
|
* @param url current page path
|
37
38
|
*/
|
38
39
|
protected clearUrl(url: string): string;
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Angulartics2, never>;
|
41
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<Angulartics2>;
|
39
42
|
}
|
package/angulartics2.d.ts
CHANGED
package/angulartics2.module.d.ts
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
2
2
|
import { Angulartics2Settings } from './angulartics2-config';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "./angulartics2On";
|
3
5
|
export declare class Angulartics2Module {
|
4
6
|
static forRoot(settings?: Partial<Angulartics2Settings>): ModuleWithProviders<Angulartics2Module>;
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Angulartics2Module, never>;
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<Angulartics2Module, never, [typeof i1.Angulartics2OnModule], [typeof i1.Angulartics2On]>;
|
9
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<Angulartics2Module>;
|
5
10
|
}
|
package/angulartics2On.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { AfterContentInit, ElementRef, Renderer2 } from '@angular/core';
|
2
2
|
import { Angulartics2 } from './angulartics2-core';
|
3
|
+
import * as i0 from "@angular/core";
|
3
4
|
export declare class Angulartics2On implements AfterContentInit {
|
4
5
|
private elRef;
|
5
6
|
private angulartics2;
|
@@ -13,6 +14,11 @@ export declare class Angulartics2On implements AfterContentInit {
|
|
13
14
|
constructor(elRef: ElementRef, angulartics2: Angulartics2, renderer: Renderer2);
|
14
15
|
ngAfterContentInit(): void;
|
15
16
|
eventTrack(event: Event): void;
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Angulartics2On, never>;
|
18
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<Angulartics2On, "[angulartics2On]", never, { "angulartics2On": "angulartics2On"; "angularticsAction": "angularticsAction"; "angularticsCategory": "angularticsCategory"; "angularticsLabel": "angularticsLabel"; "angularticsValue": "angularticsValue"; "angularticsProperties": "angularticsProperties"; }, {}, never>;
|
16
19
|
}
|
17
20
|
export declare class Angulartics2OnModule {
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Angulartics2OnModule, never>;
|
22
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<Angulartics2OnModule, [typeof Angulartics2On], never, [typeof Angulartics2On]>;
|
23
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<Angulartics2OnModule>;
|
18
24
|
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { NavigationEnd } from '@angular/router';
|
3
|
+
import { delay, filter, map } from 'rxjs/operators';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@angular/router";
|
6
|
+
import * as i2 from "@angular/common";
|
7
|
+
/**
|
8
|
+
* Track Route changes for applications using Angular's
|
9
|
+
* default router
|
10
|
+
*
|
11
|
+
* @link https://angular.io/api/router/Router
|
12
|
+
*/
|
13
|
+
export class AngularRouterTracking {
|
14
|
+
constructor(router, location) {
|
15
|
+
this.router = router;
|
16
|
+
this.location = location;
|
17
|
+
}
|
18
|
+
trackLocation(settings) {
|
19
|
+
return this.router.events.pipe(filter(e => e instanceof NavigationEnd), filter(() => !settings.developerMode), map((e) => {
|
20
|
+
return { url: e.urlAfterRedirects };
|
21
|
+
}), delay(0));
|
22
|
+
}
|
23
|
+
prepareExternalUrl(url) {
|
24
|
+
return this.location.prepareExternalUrl(url);
|
25
|
+
}
|
26
|
+
}
|
27
|
+
AngularRouterTracking.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularRouterTracking, deps: [{ token: i1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
|
28
|
+
AngularRouterTracking.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularRouterTracking, providedIn: 'root' });
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularRouterTracking, decorators: [{
|
30
|
+
type: Injectable,
|
31
|
+
args: [{ providedIn: 'root' }]
|
32
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Location }]; } });
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2FuZ3VsYXItcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3BEOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFvQixNQUFjLEVBQVUsUUFBa0I7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRWxFLGFBQWEsQ0FBQyxRQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM1QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksYUFBYSxDQUFDLEVBQ3ZDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDckMsR0FBRyxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7a0hBaEJVLHFCQUFxQjtzSEFBckIscUJBQXFCLGNBRFIsTUFBTTsyRkFDbkIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUm91dGVybGVzc1RyYWNraW5nLCBUcmFja05hdmlnYXRpb25FbmQgfSBmcm9tICcuL3JvdXRlcmxlc3MnO1xuXG4vKipcbiAqIFRyYWNrIFJvdXRlIGNoYW5nZXMgZm9yIGFwcGxpY2F0aW9ucyB1c2luZyBBbmd1bGFyJ3NcbiAqIGRlZmF1bHQgcm91dGVyXG4gKlxuICogQGxpbmsgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9yb3V0ZXIvUm91dGVyXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQW5ndWxhclJvdXRlclRyYWNraW5nIGltcGxlbWVudHMgUm91dGVybGVzc1RyYWNraW5nIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24pIHt9XG5cbiAgdHJhY2tMb2NhdGlvbihzZXR0aW5ncyk6IE9ic2VydmFibGU8VHJhY2tOYXZpZ2F0aW9uRW5kPiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgZmlsdGVyKCgpID0+ICFzZXR0aW5ncy5kZXZlbG9wZXJNb2RlKSxcbiAgICAgIG1hcCgoZTogTmF2aWdhdGlvbkVuZCkgPT4ge1xuICAgICAgICByZXR1cm4geyB1cmw6IGUudXJsQWZ0ZXJSZWRpcmVjdHMgfTtcbiAgICAgIH0pLFxuICAgICAgZGVsYXkoMCksXG4gICAgKTtcbiAgfVxuXG4gIHByZXBhcmVFeHRlcm5hbFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb24ucHJlcGFyZUV4dGVybmFsVXJsKHVybCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,19 @@
|
|
1
|
+
export class DefaultConfig {
|
2
|
+
constructor() {
|
3
|
+
this.pageTracking = {
|
4
|
+
autoTrackVirtualPages: true,
|
5
|
+
basePath: '',
|
6
|
+
excludedRoutes: [],
|
7
|
+
clearIds: false,
|
8
|
+
clearHash: false,
|
9
|
+
clearQueryParams: false,
|
10
|
+
idsRegExp: /^\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
|
11
|
+
};
|
12
|
+
this.developerMode = false;
|
13
|
+
this.ga = {};
|
14
|
+
this.appInsights = {};
|
15
|
+
this.gtm = {};
|
16
|
+
this.gst = {};
|
17
|
+
}
|
18
|
+
}
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYW5ndWxhcnRpY3MyLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnREEsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUFDRSxpQkFBWSxHQUFHO1lBQ2IscUJBQXFCLEVBQUUsSUFBSTtZQUMzQixRQUFRLEVBQUUsRUFBRTtZQUNaLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsU0FBUyxFQUFFLEtBQUs7WUFDaEIsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixTQUFTLEVBQ1AscUZBQXFGO1NBQ3hGLENBQUM7UUFDRixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULFFBQUcsR0FBRyxFQUFFLENBQUM7SUFDWCxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEdvb2dsZUFuYWx5dGljc1NldHRpbmdzIHtcbiAgLyoqIGFycmF5IG9mIGFkZGl0aW9uYWwgYWNjb3VudCBuYW1lcyAob25seSB3b3JrcyBmb3IgYW5hbHl0aWNzanMpICovXG4gIGFkZGl0aW9uYWxBY2NvdW50TmFtZXM6IHN0cmluZ1tdO1xuICB1c2VySWQ6IGFueTtcbiAgLyoqIHNlZSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9hbmFseXRpY3MvZGV2Z3VpZGVzL2NvbGxlY3Rpb24vYW5hbHl0aWNzanMvZmllbGQtcmVmZXJlbmNlI3RyYW5zcG9ydCAqL1xuICB0cmFuc3BvcnQ6IHN0cmluZztcbiAgYW5vbnltaXplSXA6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwSW5zaWdodHNTZXR0aW5ncyB7XG4gIHVzZXJJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdvb2dsZVRhZ01hbmFnZXJTZXR0aW5ncyB7XG4gIHVzZXJJZDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdvb2dsZUdsb2JhbFNpdGVUYWdTZXR0aW5ncyB7XG4gIHRyYWNraW5nSWRzOiBhbnk7XG4gIHVzZXJJZD86IGFueTtcbiAgYW5vbnltaXplSXA/OiBib29sZWFuO1xuICBjdXN0b21NYXA/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VUcmFja2luZ1NldHRpbmdzIHtcbiAgYXV0b1RyYWNrVmlydHVhbFBhZ2VzOiBib29sZWFuO1xuICBiYXNlUGF0aDogc3RyaW5nO1xuICBleGNsdWRlZFJvdXRlczogKHN0cmluZyB8IFJlZ0V4cClbXTtcbiAgLyoqIGRyb3AgaWRzIGZyb20gdXJsIGAvc2VjdGlvbnMvMTIzL3BhZ2VzLzQ1NmAgLT4gYC9zZWN0aW9ucy9wYWdlc2AgKi9cbiAgY2xlYXJJZHM6IGJvb2xlYW47XG4gIC8qKiBkcm9wIGNvbnRlbnRzIG9mIHVybCBhZnRlciBoYXNoIG1hcmtlciBgL2NhbGxiYWNrI2F1dGhjb2RlPTEyMzRgIC0+IGAvY2FsbGJhY2tgICovXG4gIGNsZWFySGFzaDogYm9vbGVhbjtcbiAgLyoqIGRyb3AgcXVlcnkgcGFyYW1zIGZyb20gdXJsIGAvc2VjdGlvbnMvMTIzL3BhZ2VzP3BhcmFtPTQ1NiZwYXJhbTI9Nzg5YCAtPiBgL3NlY3Rpb25zLzEyMy9wYWdlc2AgKi9cbiAgY2xlYXJRdWVyeVBhcmFtczogYm9vbGVhbjtcbiAgLyoqIHVzZWQgd2l0aCBjbGVhcklkcywgZGVmaW5lIHRoZSBtYXRjaGVyIHRvIGNsZWFyIHVybCBwYXJ0cyAqL1xuICBpZHNSZWdFeHA6IFJlZ0V4cDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmd1bGFydGljczJTZXR0aW5ncyB7XG4gIHBhZ2VUcmFja2luZzogUGFydGlhbDxQYWdlVHJhY2tpbmdTZXR0aW5ncz47XG4gIC8qKiBEaXNhYmxlIHBhZ2UgdHJhY2tpbmcgKi9cbiAgZGV2ZWxvcGVyTW9kZTogYm9vbGVhbjtcbiAgZ2E6IFBhcnRpYWw8R29vZ2xlQW5hbHl0aWNzU2V0dGluZ3M+O1xuICBhcHBJbnNpZ2h0czogUGFydGlhbDxBcHBJbnNpZ2h0c1NldHRpbmdzPjtcbiAgZ3RtOiBQYXJ0aWFsPEdvb2dsZVRhZ01hbmFnZXJTZXR0aW5ncz47XG4gIGdzdDogUGFydGlhbDxHb29nbGVHbG9iYWxTaXRlVGFnU2V0dGluZ3M+O1xufVxuXG5leHBvcnQgY2xhc3MgRGVmYXVsdENvbmZpZyBpbXBsZW1lbnRzIEFuZ3VsYXJ0aWNzMlNldHRpbmdzIHtcbiAgcGFnZVRyYWNraW5nID0ge1xuICAgIGF1dG9UcmFja1ZpcnR1YWxQYWdlczogdHJ1ZSxcbiAgICBiYXNlUGF0aDogJycsXG4gICAgZXhjbHVkZWRSb3V0ZXM6IFtdLFxuICAgIGNsZWFySWRzOiBmYWxzZSxcbiAgICBjbGVhckhhc2g6IGZhbHNlLFxuICAgIGNsZWFyUXVlcnlQYXJhbXM6IGZhbHNlLFxuICAgIGlkc1JlZ0V4cDpcbiAgICAgIC9eXFxkKyR8XlswLTlhLWZBLUZdezh9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezEyfSQvLFxuICB9O1xuICBkZXZlbG9wZXJNb2RlID0gZmFsc2U7XG4gIGdhID0ge307XG4gIGFwcEluc2lnaHRzID0ge307XG4gIGd0bSA9IHt9O1xuICBnc3QgPSB7fTtcbn1cbiJdfQ==
|
@@ -0,0 +1,93 @@
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
2
|
+
import { ReplaySubject } from 'rxjs';
|
3
|
+
import { filter } from 'rxjs/operators';
|
4
|
+
import { DefaultConfig } from './angulartics2-config';
|
5
|
+
import { ANGULARTICS2_TOKEN } from './angulartics2-token';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "./routerless";
|
8
|
+
export class Angulartics2 {
|
9
|
+
constructor(tracker, setup) {
|
10
|
+
this.tracker = tracker;
|
11
|
+
this.pageTrack = new ReplaySubject(10);
|
12
|
+
this.eventTrack = new ReplaySubject(10);
|
13
|
+
this.exceptionTrack = new ReplaySubject(10);
|
14
|
+
this.setAlias = new ReplaySubject(10);
|
15
|
+
this.setUsername = new ReplaySubject(10);
|
16
|
+
this.setUserProperties = new ReplaySubject(10);
|
17
|
+
this.setUserPropertiesOnce = new ReplaySubject(10);
|
18
|
+
this.setSuperProperties = new ReplaySubject(10);
|
19
|
+
this.setSuperPropertiesOnce = new ReplaySubject(10);
|
20
|
+
this.userTimings = new ReplaySubject(10);
|
21
|
+
const defaultConfig = new DefaultConfig();
|
22
|
+
this.settings = { ...defaultConfig, ...setup.settings };
|
23
|
+
this.settings.pageTracking = {
|
24
|
+
...defaultConfig.pageTracking,
|
25
|
+
...setup.settings.pageTracking,
|
26
|
+
};
|
27
|
+
this.tracker
|
28
|
+
.trackLocation(this.settings)
|
29
|
+
.subscribe((event) => this.trackUrlChange(event.url));
|
30
|
+
}
|
31
|
+
/** filters all events when developer mode is true */
|
32
|
+
filterDeveloperMode() {
|
33
|
+
return filter((value, index) => !this.settings.developerMode);
|
34
|
+
}
|
35
|
+
trackUrlChange(url) {
|
36
|
+
if (this.settings.pageTracking.autoTrackVirtualPages && !this.matchesExcludedRoute(url)) {
|
37
|
+
const clearedUrl = this.clearUrl(url);
|
38
|
+
let path;
|
39
|
+
if (this.settings.pageTracking.basePath.length) {
|
40
|
+
path = this.settings.pageTracking.basePath + clearedUrl;
|
41
|
+
}
|
42
|
+
else {
|
43
|
+
path = this.tracker.prepareExternalUrl(clearedUrl);
|
44
|
+
}
|
45
|
+
this.pageTrack.next({ path });
|
46
|
+
}
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* Use string literals or regular expressions to exclude routes
|
50
|
+
* from automatic pageview tracking.
|
51
|
+
*
|
52
|
+
* @param url location
|
53
|
+
*/
|
54
|
+
matchesExcludedRoute(url) {
|
55
|
+
for (const excludedRoute of this.settings.pageTracking.excludedRoutes) {
|
56
|
+
const matchesRegex = excludedRoute instanceof RegExp && excludedRoute.test(url);
|
57
|
+
if (matchesRegex || url.indexOf(excludedRoute) !== -1) {
|
58
|
+
return true;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
return false;
|
62
|
+
}
|
63
|
+
/**
|
64
|
+
* Removes id's from tracked route.
|
65
|
+
* EX: `/project/12981/feature` becomes `/project/feature`
|
66
|
+
*
|
67
|
+
* @param url current page path
|
68
|
+
*/
|
69
|
+
clearUrl(url) {
|
70
|
+
if (this.settings.pageTracking.clearIds ||
|
71
|
+
this.settings.pageTracking.clearQueryParams ||
|
72
|
+
this.settings.pageTracking.clearHash) {
|
73
|
+
return url
|
74
|
+
.split('/')
|
75
|
+
.map(part => (this.settings.pageTracking.clearQueryParams ? part.split('?')[0] : part))
|
76
|
+
.map(part => (this.settings.pageTracking.clearHash ? part.split('#')[0] : part))
|
77
|
+
.filter(part => !this.settings.pageTracking.clearIds ||
|
78
|
+
!part.match(this.settings.pageTracking.idsRegExp))
|
79
|
+
.join('/');
|
80
|
+
}
|
81
|
+
return url;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
Angulartics2.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2, deps: [{ token: i1.RouterlessTracking }, { token: ANGULARTICS2_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
85
|
+
Angulartics2.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2, providedIn: 'root' });
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2, decorators: [{
|
87
|
+
type: Injectable,
|
88
|
+
args: [{ providedIn: 'root' }]
|
89
|
+
}], ctorParameters: function () { return [{ type: i1.RouterlessTracking }, { type: undefined, decorators: [{
|
90
|
+
type: Inject,
|
91
|
+
args: [ANGULARTICS2_TOKEN]
|
92
|
+
}] }]; } });
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2FuZ3VsYXJ0aWNzMi1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBNEIsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQXdCLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE9BQU8sRUFBcUIsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSTdFLE1BQU0sT0FBTyxZQUFZO0lBY3ZCLFlBQ1UsT0FBMkIsRUFDUCxLQUF3QjtRQUQ1QyxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQVpyQyxjQUFTLEdBQUcsSUFBSSxhQUFhLENBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGVBQVUsR0FBRyxJQUFJLGFBQWEsQ0FBc0IsRUFBRSxDQUFDLENBQUM7UUFDeEQsbUJBQWMsR0FBRyxJQUFJLGFBQWEsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUM1QyxhQUFRLEdBQUcsSUFBSSxhQUFhLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBdUMsRUFBRSxDQUFDLENBQUM7UUFDMUUsc0JBQWlCLEdBQUcsSUFBSSxhQUFhLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDL0MsMEJBQXFCLEdBQUcsSUFBSSxhQUFhLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDbkQsdUJBQWtCLEdBQUcsSUFBSSxhQUFhLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDaEQsMkJBQXNCLEdBQUcsSUFBSSxhQUFhLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDcEQsZ0JBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBYyxFQUFFLENB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QUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDL0UsTUFBTSxDQUNMLElBQUksQ0FBQyxFQUFFLENBQ0wsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRO2dCQUNwQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQ3BEO2lCQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNkO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzt5R0F2RlUsWUFBWSxvREFnQmIsa0JBQWtCOzZHQWhCakIsWUFBWSxjQURDLE1BQU07MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFpQjdCLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBbmd1bGFydGljczJTZXR0aW5ncywgRGVmYXVsdENvbmZpZyB9IGZyb20gJy4vYW5ndWxhcnRpY3MyLWNvbmZpZyc7XG5pbXBvcnQgeyBFdmVudFRyYWNrLCBQYWdlVHJhY2ssIFVzZXJUaW1pbmdzIH0gZnJvbSAnLi9hbmd1bGFydGljczItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBbmd1bGFydGljczJUb2tlbiwgQU5HVUxBUlRJQ1MyX1RPS0VOIH0gZnJvbSAnLi9hbmd1bGFydGljczItdG9rZW4nO1xuaW1wb3J0IHsgUm91dGVybGVzc1RyYWNraW5nLCBUcmFja05hdmlnYXRpb25FbmQgfSBmcm9tICcuL3JvdXRlcmxlc3MnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJ0aWNzMiB7XG4gIHNldHRpbmdzOiBBbmd1bGFydGljczJTZXR0aW5ncztcblxuICBwYWdlVHJhY2sgPSBuZXcgUmVwbGF5U3ViamVjdDxQYXJ0aWFsPFBhZ2VUcmFjaz4+KDEwKTtcbiAgZXZlbnRUcmFjayA9IG5ldyBSZXBsYXlTdWJqZWN0PFBhcnRpYWw8RXZlbnRUcmFjaz4+KDEwKTtcbiAgZXhjZXB0aW9uVHJhY2sgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEwKTtcbiAgc2V0QWxpYXMgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEwKTtcbiAgc2V0VXNlcm5hbWUgPSBuZXcgUmVwbGF5U3ViamVjdDx7IHVzZXJJZDogc3RyaW5nIHwgbnVtYmVyIH0gfCBzdHJpbmc+KDEwKTtcbiAgc2V0VXNlclByb3BlcnRpZXMgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEwKTtcbiAgc2V0VXNlclByb3BlcnRpZXNPbmNlID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigxMCk7XG4gIHNldFN1cGVyUHJvcGVydGllcyA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMTApO1xuICBzZXRTdXBlclByb3BlcnRpZXNPbmNlID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigxMCk7XG4gIHVzZXJUaW1pbmdzID0gbmV3IFJlcGxheVN1YmplY3Q8VXNlclRpbWluZ3M+KDEwKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYWNrZXI6IFJvdXRlcmxlc3NUcmFja2luZyxcbiAgICBASW5qZWN0KEFOR1VMQVJUSUNTMl9UT0tFTikgc2V0dXA6IEFuZ3VsYXJ0aWNzMlRva2VuLFxuICApIHtcbiAgICBjb25zdCBkZWZhdWx0Q29uZmlnID0gbmV3IERlZmF1bHRDb25maWcoKTtcbiAgICB0aGlzLnNldHRpbmdzID0geyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5zZXR1cC5zZXR0aW5ncyB9O1xuICAgIHRoaXMuc2V0dGluZ3MucGFnZVRyYWNraW5nID0ge1xuICAgICAgLi4uZGVmYXVsdENvbmZpZy5wYWdlVHJhY2tpbmcsXG4gICAgICAuLi5zZXR1cC5zZXR0aW5ncy5wYWdlVHJhY2tpbmcsXG4gICAgfTtcbiAgICB0aGlzLnRyYWNrZXJcbiAgICAgIC50cmFja0xvY2F0aW9uKHRoaXMuc2V0dGluZ3MpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogVHJhY2tOYXZpZ2F0aW9uRW5kKSA9PiB0aGlzLnRyYWNrVXJsQ2hhbmdlKGV2ZW50LnVybCkpO1xuICB9XG5cbiAgLyoqIGZpbHRlcnMgYWxsIGV2ZW50cyB3aGVuIGRldmVsb3BlciBtb2RlIGlzIHRydWUgKi9cbiAgZmlsdGVyRGV2ZWxvcGVyTW9kZTxUPigpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgIHJldHVybiBmaWx0ZXIoKHZhbHVlLCBpbmRleCkgPT4gIXRoaXMuc2V0dGluZ3MuZGV2ZWxvcGVyTW9kZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHJhY2tVcmxDaGFuZ2UodXJsOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5wYWdlVHJhY2tpbmcuYXV0b1RyYWNrVmlydHVhbFBhZ2VzICYmICF0aGlzLm1hdGNoZXNFeGNsdWRlZFJvdXRlKHVybCkpIHtcbiAgICAgIGNvbnN0IGNsZWFyZWRVcmwgPSB0aGlzLmNsZWFyVXJsKHVybCk7XG4gICAgICBsZXQgcGF0aDogc3RyaW5nO1xuICAgICAgaWYgKHRoaXMuc2V0dGluZ3MucGFnZVRyYWNraW5nLmJhc2VQYXRoLmxlbmd0aCkge1xuICAgICAgICBwYXRoID0gdGhpcy5zZXR0aW5ncy5wYWdlVHJhY2tpbmcuYmFzZVBhdGggKyBjbGVhcmVkVXJsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF0aCA9IHRoaXMudHJhY2tlci5wcmVwYXJlRXh0ZXJuYWxVcmwoY2xlYXJlZFVybCk7XG4gICAgICB9XG4gICAgICB0aGlzLnBhZ2VUcmFjay5uZXh0KHsgcGF0aCB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlIHN0cmluZyBsaXRlcmFscyBvciByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGV4Y2x1ZGUgcm91dGVzXG4gICAqIGZyb20gYXV0b21hdGljIHBhZ2V2aWV3IHRyYWNraW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdXJsIGxvY2F0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgbWF0Y2hlc0V4Y2x1ZGVkUm91dGUodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGV4Y2x1ZGVkUm91dGUgb2YgdGhpcy5zZXR0aW5ncy5wYWdlVHJhY2tpbmcuZXhjbHVkZWRSb3V0ZXMpIHtcbiAgICAgIGNvbnN0IG1hdGNoZXNSZWdleCA9IGV4Y2x1ZGVkUm91dGUgaW5zdGFuY2VvZiBSZWdFeHAgJiYgZXhjbHVkZWRSb3V0ZS50ZXN0KHVybCk7XG4gICAgICBpZiAobWF0Y2hlc1JlZ2V4IHx8IHVybC5pbmRleE9mKGV4Y2x1ZGVkUm91dGUgYXMgc3RyaW5nKSAhPT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGlkJ3MgZnJvbSB0cmFja2VkIHJvdXRlLlxuICAgKiAgRVg6IGAvcHJvamVjdC8xMjk4MS9mZWF0dXJlYCBiZWNvbWVzIGAvcHJvamVjdC9mZWF0dXJlYFxuICAgKlxuICAgKiBAcGFyYW0gdXJsIGN1cnJlbnQgcGFnZSBwYXRoXG4gICAqL1xuICBwcm90ZWN0ZWQgY2xlYXJVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2V0dGluZ3MucGFnZVRyYWNraW5nLmNsZWFySWRzIHx8XG4gICAgICB0aGlzLnNldHRpbmdzLnBhZ2VUcmFja2luZy5jbGVhclF1ZXJ5UGFyYW1zIHx8XG4gICAgICB0aGlzLnNldHRpbmdzLnBhZ2VUcmFja2luZy5jbGVhckhhc2hcbiAgICApIHtcbiAgICAgIHJldHVybiB1cmxcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLm1hcChwYXJ0ID0+ICh0aGlzLnNldHRpbmdzLnBhZ2VUcmFja2luZy5jbGVhclF1ZXJ5UGFyYW1zID8gcGFydC5zcGxpdCgnPycpWzBdIDogcGFydCkpXG4gICAgICAgIC5tYXAocGFydCA9PiAodGhpcy5zZXR0aW5ncy5wYWdlVHJhY2tpbmcuY2xlYXJIYXNoID8gcGFydC5zcGxpdCgnIycpWzBdIDogcGFydCkpXG4gICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgcGFydCA9PlxuICAgICAgICAgICAgIXRoaXMuc2V0dGluZ3MucGFnZVRyYWNraW5nLmNsZWFySWRzIHx8XG4gICAgICAgICAgICAhcGFydC5tYXRjaCh0aGlzLnNldHRpbmdzLnBhZ2VUcmFja2luZy5pZHNSZWdFeHApLFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcvJyk7XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyLWludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2FuZ3VsYXJ0aWNzMi1pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEV2ZW50VHJhY2sge1xuICBhY3Rpb246IHN0cmluZztcbiAgcHJvcGVydGllczogYW55O1xufVxuZXhwb3J0IGludGVyZmFjZSBQYWdlVHJhY2sge1xuICBwYXRoOiBzdHJpbmc7XG59XG5cbi8qKiBAbGluayBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9hbmFseXRpY3MvZGV2Z3VpZGVzL2NvbGxlY3Rpb24vYW5hbHl0aWNzanMvdXNlci10aW1pbmdzICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJUaW1pbmdzIHtcbiAgLyoqIEEgc3RyaW5nIGZvciBjYXRlZ29yaXppbmcgYWxsIHVzZXIgdGltaW5nIHZhcmlhYmxlcyBpbnRvIGxvZ2ljYWwgZ3JvdXBzIChlLmcuICdKUyBEZXBlbmRlbmNpZXMnKS4gKi9cbiAgdGltaW5nQ2F0ZWdvcnk6IHN0cmluZztcbiAgLyoqIEEgc3RyaW5nIHRvIGlkZW50aWZ5IHRoZSB2YXJpYWJsZSBiZWluZyByZWNvcmRlZCAoZS5nLiAnbG9hZCcpLiAqL1xuICB0aW1pbmdWYXI6IHN0cmluZztcbiAgLyoqIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGluIGVsYXBzZWQgdGltZSB0byByZXBvcnQgdG8gR29vZ2xlIEFuYWx5dGljcyAoZS5nLiAyMCkuICovXG4gIHRpbWluZ1ZhbHVlOiBudW1iZXI7XG4gIC8qKiBBIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFkZCBmbGV4aWJpbGl0eSBpbiB2aXN1YWxpemluZyB1c2VyIHRpbWluZ3MgaW4gdGhlIHJlcG9ydHMgKGUuZy4gJ0dvb2dsZSBDRE4nKS4gKi9cbiAgdGltaW5nTGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const ANGULARTICS2_TOKEN = new InjectionToken('ANGULARTICS2');
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hbmd1bGFydGljczItdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FDbEQsY0FBYyxDQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBbmd1bGFydGljczJTZXR0aW5ncyB9IGZyb20gJy4vYW5ndWxhcnRpY3MyLWNvbmZpZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhcnRpY3MyVG9rZW4ge1xuICBzZXR0aW5nczogUGFydGlhbDxBbmd1bGFydGljczJTZXR0aW5ncz47XG59XG5cbmV4cG9ydCBjb25zdCBBTkdVTEFSVElDUzJfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QW5ndWxhcnRpY3MyVG9rZW4+KFxuICAnQU5HVUxBUlRJQ1MyJ1xuKTtcbiJdfQ==
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './public_api';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hbmd1bGFydGljczIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
@@ -4,6 +4,7 @@ import { Angulartics2 } from './angulartics2-core';
|
|
4
4
|
import { ANGULARTICS2_TOKEN } from './angulartics2-token';
|
5
5
|
import { Angulartics2On, Angulartics2OnModule } from './angulartics2On';
|
6
6
|
import { RouterlessTracking } from './routerless';
|
7
|
+
import * as i0 from "@angular/core";
|
7
8
|
export class Angulartics2Module {
|
8
9
|
static forRoot(settings = {}) {
|
9
10
|
return {
|
@@ -16,10 +17,14 @@ export class Angulartics2Module {
|
|
16
17
|
};
|
17
18
|
}
|
18
19
|
}
|
19
|
-
Angulartics2Module
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
20
|
+
Angulartics2Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
21
|
+
Angulartics2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Module, imports: [Angulartics2OnModule], exports: [Angulartics2On] });
|
22
|
+
Angulartics2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Module, imports: [[Angulartics2OnModule]] });
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Module, decorators: [{
|
24
|
+
type: NgModule,
|
25
|
+
args: [{
|
26
|
+
imports: [Angulartics2OnModule],
|
27
|
+
exports: [Angulartics2On],
|
28
|
+
}]
|
29
|
+
}] });
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYW5ndWxhcnRpY3MyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFNbEQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUNaLFdBQTBDLEVBQUU7UUFFNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUN2RCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUU7Z0JBQ2hFLFlBQVk7YUFDYjtTQUNGLENBQUM7SUFDSixDQUFDOzsrR0FaVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQixZQUhuQixvQkFBb0IsYUFDcEIsY0FBYztnSEFFYixrQkFBa0IsWUFIcEIsQ0FBQyxvQkFBb0IsQ0FBQzsyRkFHcEIsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQW5ndWxhclJvdXRlclRyYWNraW5nIH0gZnJvbSAnLi9hbmd1bGFyLXJvdXRlcic7XG5pbXBvcnQgeyBBbmd1bGFydGljczJTZXR0aW5ncyB9IGZyb20gJy4vYW5ndWxhcnRpY3MyLWNvbmZpZyc7XG5pbXBvcnQgeyBBbmd1bGFydGljczIgfSBmcm9tICcuL2FuZ3VsYXJ0aWNzMi1jb3JlJztcbmltcG9ydCB7IEFOR1VMQVJUSUNTMl9UT0tFTiB9IGZyb20gJy4vYW5ndWxhcnRpY3MyLXRva2VuJztcbmltcG9ydCB7IEFuZ3VsYXJ0aWNzMk9uLCBBbmd1bGFydGljczJPbk1vZHVsZSB9IGZyb20gJy4vYW5ndWxhcnRpY3MyT24nO1xuaW1wb3J0IHsgUm91dGVybGVzc1RyYWNraW5nIH0gZnJvbSAnLi9yb3V0ZXJsZXNzJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0FuZ3VsYXJ0aWNzMk9uTW9kdWxlXSxcbiAgZXhwb3J0czogW0FuZ3VsYXJ0aWNzMk9uXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhcnRpY3MyTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoXG4gICAgc2V0dGluZ3M6IFBhcnRpYWw8QW5ndWxhcnRpY3MyU2V0dGluZ3M+ID0ge30sXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhcnRpY3MyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFydGljczJNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBTkdVTEFSVElDUzJfVE9LRU4sIHVzZVZhbHVlOiB7IHNldHRpbmdzIH0gfSxcbiAgICAgICAgeyBwcm92aWRlOiBSb3V0ZXJsZXNzVHJhY2tpbmcsIHVzZUNsYXNzOiBBbmd1bGFyUm91dGVyVHJhY2tpbmcgfSxcbiAgICAgICAgQW5ndWxhcnRpY3MyLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import { Directive, Input, NgModule } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "./angulartics2-core";
|
4
|
+
export class Angulartics2On {
|
5
|
+
constructor(elRef, angulartics2, renderer) {
|
6
|
+
this.elRef = elRef;
|
7
|
+
this.angulartics2 = angulartics2;
|
8
|
+
this.renderer = renderer;
|
9
|
+
this.angularticsProperties = {};
|
10
|
+
}
|
11
|
+
ngAfterContentInit() {
|
12
|
+
this.renderer.listen(this.elRef.nativeElement, this.angulartics2On || 'click', (event) => this.eventTrack(event));
|
13
|
+
}
|
14
|
+
eventTrack(event) {
|
15
|
+
const action = this.angularticsAction; // || this.inferEventName();
|
16
|
+
const properties = {
|
17
|
+
...this.angularticsProperties,
|
18
|
+
eventType: event.type,
|
19
|
+
};
|
20
|
+
if (this.angularticsCategory) {
|
21
|
+
properties.category = this.angularticsCategory;
|
22
|
+
}
|
23
|
+
if (this.angularticsLabel) {
|
24
|
+
properties.label = this.angularticsLabel;
|
25
|
+
}
|
26
|
+
if (this.angularticsValue) {
|
27
|
+
properties.value = this.angularticsValue;
|
28
|
+
}
|
29
|
+
this.angulartics2.eventTrack.next({
|
30
|
+
action,
|
31
|
+
properties,
|
32
|
+
});
|
33
|
+
}
|
34
|
+
}
|
35
|
+
Angulartics2On.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2On, deps: [{ token: i0.ElementRef }, { token: i1.Angulartics2 }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
36
|
+
Angulartics2On.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: Angulartics2On, selector: "[angulartics2On]", inputs: { angulartics2On: "angulartics2On", angularticsAction: "angularticsAction", angularticsCategory: "angularticsCategory", angularticsLabel: "angularticsLabel", angularticsValue: "angularticsValue", angularticsProperties: "angularticsProperties" }, ngImport: i0 });
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2On, decorators: [{
|
38
|
+
type: Directive,
|
39
|
+
args: [{ selector: '[angulartics2On]' }]
|
40
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Angulartics2 }, { type: i0.Renderer2 }]; }, propDecorators: { angulartics2On: [{
|
41
|
+
type: Input,
|
42
|
+
args: ['angulartics2On']
|
43
|
+
}], angularticsAction: [{
|
44
|
+
type: Input
|
45
|
+
}], angularticsCategory: [{
|
46
|
+
type: Input
|
47
|
+
}], angularticsLabel: [{
|
48
|
+
type: Input
|
49
|
+
}], angularticsValue: [{
|
50
|
+
type: Input
|
51
|
+
}], angularticsProperties: [{
|
52
|
+
type: Input
|
53
|
+
}] } });
|
54
|
+
export class Angulartics2OnModule {
|
55
|
+
}
|
56
|
+
Angulartics2OnModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2OnModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
57
|
+
Angulartics2OnModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2OnModule, declarations: [Angulartics2On], exports: [Angulartics2On] });
|
58
|
+
Angulartics2OnModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2OnModule });
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2OnModule, decorators: [{
|
60
|
+
type: NgModule,
|
61
|
+
args: [{
|
62
|
+
declarations: [Angulartics2On],
|
63
|
+
exports: [Angulartics2On],
|
64
|
+
}]
|
65
|
+
}] });
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyT24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2FuZ3VsYXJ0aWNzMk9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLEtBQUssRUFBRSxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7OztBQUlwRyxNQUFNLE9BQU8sY0FBYztJQVN6QixZQUNVLEtBQWlCLEVBQ2pCLFlBQTBCLEVBQzFCLFFBQW1CO1FBRm5CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUxwQiwwQkFBcUIsR0FBUSxFQUFFLENBQUM7SUFNdEMsQ0FBQztJQUVKLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYyxJQUFJLE9BQU8sRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFLENBQzlGLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVk7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsNEJBQTRCO1FBQ25FLE1BQU0sVUFBVSxHQUFRO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQjtZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDdEIsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVCLFVBQVUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDMUM7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUMxQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNoQyxNQUFNO1lBQ04sVUFBVTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7OzJHQTFDVSxjQUFjOytGQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtvSkFHaEIsY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ2QsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSzs7QUFvRFIsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGlCQTNEcEIsY0FBYyxhQUFkLGNBQWM7a0hBMkRkLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUpoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE5nTW9kdWxlLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuZ3VsYXJ0aWNzMiB9IGZyb20gJy4vYW5ndWxhcnRpY3MyLWNvcmUnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYW5ndWxhcnRpY3MyT25dJyB9KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJ0aWNzMk9uIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnYW5ndWxhcnRpY3MyT24nKSBhbmd1bGFydGljczJPbjogc3RyaW5nO1xuICBASW5wdXQoKSBhbmd1bGFydGljc0FjdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBhbmd1bGFydGljc0NhdGVnb3J5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFuZ3VsYXJ0aWNzTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgYW5ndWxhcnRpY3NWYWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKSBhbmd1bGFydGljc1Byb3BlcnRpZXM6IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBhbmd1bGFydGljczI6IEFuZ3VsYXJ0aWNzMixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmFuZ3VsYXJ0aWNzMk9uIHx8ICdjbGljaycsIChldmVudDogRXZlbnQpID0+XG4gICAgICB0aGlzLmV2ZW50VHJhY2soZXZlbnQpLFxuICAgICk7XG4gIH1cblxuICBldmVudFRyYWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuYW5ndWxhcnRpY3NBY3Rpb247IC8vIHx8IHRoaXMuaW5mZXJFdmVudE5hbWUoKTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBhbnkgPSB7XG4gICAgICAuLi50aGlzLmFuZ3VsYXJ0aWNzUHJvcGVydGllcyxcbiAgICAgIGV2ZW50VHlwZTogZXZlbnQudHlwZSxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuYW5ndWxhcnRpY3NDYXRlZ29yeSkge1xuICAgICAgcHJvcGVydGllcy5jYXRlZ29yeSA9IHRoaXMuYW5ndWxhcnRpY3NDYXRlZ29yeTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYW5ndWxhcnRpY3NMYWJlbCkge1xuICAgICAgcHJvcGVydGllcy5sYWJlbCA9IHRoaXMuYW5ndWxhcnRpY3NMYWJlbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuYW5ndWxhcnRpY3NWYWx1ZSkge1xuICAgICAgcHJvcGVydGllcy52YWx1ZSA9IHRoaXMuYW5ndWxhcnRpY3NWYWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5ldmVudFRyYWNrLm5leHQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgcHJvcGVydGllcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qcHJpdmF0ZSBpc0NvbW1hbmQoKSB7XG4gICAgcmV0dXJuIFsnYTonLCAnYnV0dG9uOicsICdidXR0b246YnV0dG9uJywgJ2J1dHRvbjpzdWJtaXQnLCAnaW5wdXQ6YnV0dG9uJywgJ2lucHV0OnN1Ym1pdCddLmluZGV4T2YoXG4gICAgICBnZXRET00oKS50YWdOYW1lKHRoaXMuZWwpLnRvTG93ZXJDYXNlKCkgKyAnOicgKyAoZ2V0RE9NKCkudHlwZSh0aGlzLmVsKSB8fCAnJykpID49IDA7XG4gIH1cblxuICBwcml2YXRlIGluZmVyRXZlbnROYW1lKCkge1xuICAgIGlmICh0aGlzLmlzQ29tbWFuZCgpKSByZXR1cm4gZ2V0RE9NKCkuZ2V0VGV4dCh0aGlzLmVsKSB8fCBnZXRET00oKS5nZXRWYWx1ZSh0aGlzLmVsKTtcbiAgICByZXR1cm4gZ2V0RE9NKCkuZ2V0UHJvcGVydHkodGhpcy5lbCwgJ2lkJykgfHwgZ2V0RE9NKCkuZ2V0UHJvcGVydHkodGhpcy5lbCwgJ25hbWUnKSB8fCBnZXRET00oKS50YWdOYW1lKHRoaXMuZWwpO1xuICB9Ki9cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQW5ndWxhcnRpY3MyT25dLFxuICBleHBvcnRzOiBbQW5ndWxhcnRpY3MyT25dLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFydGljczJPbk1vZHVsZSB7fVxuIl19
|
@@ -0,0 +1,98 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "../../angulartics2-core";
|
4
|
+
import * as i2 from "@angular/common";
|
5
|
+
export class Angulartics2AdobeAnalytics {
|
6
|
+
constructor(angulartics2, location) {
|
7
|
+
this.angulartics2 = angulartics2;
|
8
|
+
this.location = location;
|
9
|
+
this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
|
10
|
+
}
|
11
|
+
startTracking() {
|
12
|
+
this.angulartics2.pageTrack
|
13
|
+
.pipe(this.angulartics2.filterDeveloperMode())
|
14
|
+
.subscribe(x => this.pageTrack(x.path));
|
15
|
+
this.angulartics2.eventTrack
|
16
|
+
.pipe(this.angulartics2.filterDeveloperMode())
|
17
|
+
.subscribe(x => this.eventTrack(x.action, x.properties));
|
18
|
+
}
|
19
|
+
pageTrack(path) {
|
20
|
+
if (typeof s !== 'undefined' && s) {
|
21
|
+
s.clearVars();
|
22
|
+
s.t({ pageName: path });
|
23
|
+
}
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* Track Event in Adobe Analytics
|
27
|
+
*
|
28
|
+
* @param action associated with the event
|
29
|
+
* @param properties action detials
|
30
|
+
*
|
31
|
+
* @link https://marketing.adobe.com/resources/help/en_US/sc/implement/js_implementation.html
|
32
|
+
*/
|
33
|
+
eventTrack(action, properties) {
|
34
|
+
// TODO: make interface
|
35
|
+
// @property {string} properties.category
|
36
|
+
// @property {string} properties.label
|
37
|
+
// @property {number} properties.value
|
38
|
+
// @property {boolean} properties.noninteraction
|
39
|
+
if (!properties) {
|
40
|
+
properties = properties || {};
|
41
|
+
}
|
42
|
+
if (typeof s !== 'undefined' && s) {
|
43
|
+
if (typeof properties === 'object') {
|
44
|
+
this.setUserProperties(properties);
|
45
|
+
}
|
46
|
+
if (action) {
|
47
|
+
// if linkName property is passed, use that; otherwise, the action is the linkName
|
48
|
+
const linkName = properties['linkName'] ? properties['linkName'] : action;
|
49
|
+
// note that 'this' should refer the link element, but we can't get that in this function. example:
|
50
|
+
// <a href="http://anothersite.com" onclick="s.tl(this,'e','AnotherSite',null)">
|
51
|
+
// if disableDelay property is passed, use that to turn off/on the 500ms delay; otherwise, it uses this
|
52
|
+
const disableDelay = !!properties['disableDelay'] ? true : this;
|
53
|
+
// if action property is passed, use that; otherwise, the action remains unchanged
|
54
|
+
if (properties['action']) {
|
55
|
+
action = properties['action'];
|
56
|
+
}
|
57
|
+
this.setPageName();
|
58
|
+
if (action.toUpperCase() === 'DOWNLOAD') {
|
59
|
+
s.tl(disableDelay, 'd', linkName);
|
60
|
+
}
|
61
|
+
else if (action.toUpperCase() === 'EXIT') {
|
62
|
+
s.tl(disableDelay, 'e', linkName);
|
63
|
+
}
|
64
|
+
else {
|
65
|
+
s.tl(disableDelay, 'o', linkName);
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
69
|
+
}
|
70
|
+
setPageName() {
|
71
|
+
const path = this.location.path(true);
|
72
|
+
const hashNdx = path.indexOf('#');
|
73
|
+
if (hashNdx > 0 && hashNdx < path.length) {
|
74
|
+
s.pageName = path.substring(hashNdx + 1);
|
75
|
+
}
|
76
|
+
else {
|
77
|
+
s.pageName = path;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
setUserProperties(properties) {
|
81
|
+
if (typeof s !== 'undefined' && s) {
|
82
|
+
if (typeof properties === 'object') {
|
83
|
+
for (const key in properties) {
|
84
|
+
if (properties.hasOwnProperty(key)) {
|
85
|
+
s[key] = properties[key];
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
Angulartics2AdobeAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2AdobeAnalytics, deps: [{ token: i1.Angulartics2 }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
|
93
|
+
Angulartics2AdobeAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2AdobeAnalytics, providedIn: 'root' });
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2AdobeAnalytics, decorators: [{
|
95
|
+
type: Injectable,
|
96
|
+
args: [{ providedIn: 'root' }]
|
97
|
+
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }, { type: i2.Location }]; } });
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRvYmVhbmFseXRpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3Byb3ZpZGVycy9hZG9iZWFuYWx5dGljcy9hZG9iZWFuYWx5dGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTzNDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBb0IsWUFBMEIsRUFBVSxRQUFrQjtRQUF0RCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUzthQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzdDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVO2FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDN0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixJQUFJLE9BQU8sQ0FBQyxLQUFLLFdBQVcsSUFBSSxDQUFDLEVBQUU7WUFDakMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFD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LEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBbmd1bGFydGljczIgfSBmcm9tICcuLi8uLi9hbmd1bGFydGljczItY29yZSc7XG5cbmRlY2xhcmUgY29uc3QgczogYW55O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJ0aWNzMkFkb2JlQW5hbHl0aWNzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbmd1bGFydGljczI6IEFuZ3VsYXJ0aWNzMiwgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24pIHtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXRVc2VyUHJvcGVydGllcy5zdWJzY3JpYmUoeCA9PiB0aGlzLnNldFVzZXJQcm9wZXJ0aWVzKHgpKTtcbiAgfVxuXG4gIHN0YXJ0VHJhY2tpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5hbmd1bGFydGljczIucGFnZVRyYWNrXG4gICAgICAucGlwZSh0aGlzLmFuZ3VsYXJ0aWNzMi5maWx0ZXJEZXZlbG9wZXJNb2RlKCkpXG4gICAgICAuc3Vic2NyaWJlKHggPT4gdGhpcy5wYWdlVHJhY2soeC5wYXRoKSk7XG4gICAgdGhpcy5hbmd1bGFydGljczIuZXZlbnRUcmFja1xuICAgICAgLnBpcGUodGhpcy5hbmd1bGFydGljczIuZmlsdGVyRGV2ZWxvcGVyTW9kZSgpKVxuICAgICAgLnN1YnNjcmliZSh4ID0+IHRoaXMuZXZlbnRUcmFjayh4LmFjdGlvbiwgeC5wcm9wZXJ0aWVzKSk7XG4gIH1cblxuICBwYWdlVHJhY2socGF0aDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBzICE9PSAndW5kZWZpbmVkJyAmJiBzKSB7XG4gICAgICBzLmNsZWFyVmFycygpO1xuICAgICAgcy50KHsgcGFnZU5hbWU6IHBhdGggfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYWNrIEV2ZW50IGluIEFkb2JlIEFuYWx5dGljc1xuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgZXZlbnRcbiAgICogQHBhcmFtIHByb3BlcnRpZXMgYWN0aW9uIGRldGlhbHNcbiAgICpcbiAgICogQGxpbmsgaHR0cHM6Ly9tYXJrZXRpbmcuYWRvYmUuY29tL3Jlc291cmNlcy9oZWxwL2VuX1VTL3NjL2ltcGxlbWVudC9qc19pbXBsZW1lbnRhdGlvbi5odG1sXG4gICAqL1xuICBldmVudFRyYWNrKGFjdGlvbjogc3RyaW5nLCBwcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICAvLyBUT0RPOiBtYWtlIGludGVyZmFjZVxuICAgIC8vIEBwcm9wZXJ0eSB7c3RyaW5nfSBwcm9wZXJ0aWVzLmNhdGVnb3J5XG4gICAgLy8gQHByb3BlcnR5IHtzdHJpbmd9IHByb3BlcnRpZXMubGFiZWxcbiAgICAvLyBAcHJvcGVydHkge251bWJlcn0gcHJvcGVydGllcy52YWx1ZVxuICAgIC8vIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gcHJvcGVydGllcy5ub25pbnRlcmFjdGlvblxuICAgIGlmICghcHJvcGVydGllcykge1xuICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXMgfHwge307XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBzICE9PSAndW5kZWZpbmVkJyAmJiBzKSB7XG4gICAgICBpZiAodHlwZW9mIHByb3BlcnRpZXMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHRoaXMuc2V0VXNlclByb3BlcnRpZXMocHJvcGVydGllcyk7XG4gICAgICB9XG4gICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgIC8vIGlmIGxpbmtOYW1lIHByb3BlcnR5IGlzIHBhc3NlZCwgdXNlIHRoYXQ7IG90aGVyd2lzZSwgdGhlIGFjdGlvbiBpcyB0aGUgbGlua05hbWVcbiAgICAgICAgY29uc3QgbGlua05hbWUgPSBwcm9wZXJ0aWVzWydsaW5rTmFtZSddID8gcHJvcGVydGllc1snbGlua05hbWUnXSA6IGFjdGlvbjtcbiAgICAgICAgLy8gbm90ZSB0aGF0ICd0aGlzJyBzaG91bGQgcmVmZXIgdGhlIGxpbmsgZWxlbWVudCwgYnV0IHdlIGNhbid0IGdldCB0aGF0IGluIHRoaXMgZnVuY3Rpb24uIGV4YW1wbGU6XG4gICAgICAgIC8vIDxhIGhyZWY9XCJodHRwOi8vYW5vdGhlcnNpdGUuY29tXCIgb25jbGljaz1cInMudGwodGhpcywnZScsJ0Fub3RoZXJTaXRlJyxudWxsKVwiPlxuICAgICAgICAvLyBpZiBkaXNhYmxlRGVsYXkgcHJvcGVydHkgaXMgcGFzc2VkLCB1c2UgdGhhdCB0byB0dXJuIG9mZi9vbiB0aGUgNTAwbXMgZGVsYXk7IG90aGVyd2lzZSwgaXQgdXNlcyB0aGlzXG4gICAgICAgIGNvbnN0IGRpc2FibGVEZWxheSA9ICEhcHJvcGVydGllc1snZGlzYWJsZURlbGF5J10gPyB0cnVlIDogdGhpcztcbiAgICAgICAgLy8gaWYgYWN0aW9uIHByb3BlcnR5IGlzIHBhc3NlZCwgdXNlIHRoYXQ7IG90aGVyd2lzZSwgdGhlIGFjdGlvbiByZW1haW5zIHVuY2hhbmdlZFxuICAgICAgICBpZiAocHJvcGVydGllc1snYWN0aW9uJ10pIHtcbiAgICAgICAgICBhY3Rpb24gPSBwcm9wZXJ0aWVzWydhY3Rpb24nXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFBhZ2VOYW1lKCk7XG5cbiAgICAgICAgaWYgKGFjdGlvbi50b1VwcGVyQ2FzZSgpID09PSAnRE9XTkxPQUQnKSB7XG4gICAgICAgICAgcy50bChkaXNhYmxlRGVsYXksICdkJywgbGlua05hbWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbi50b1VwcGVyQ2FzZSgpID09PSAnRVhJVCcpIHtcbiAgICAgICAgICBzLnRsKGRpc2FibGVEZWxheSwgJ2UnLCBsaW5rTmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcy50bChkaXNhYmxlRGVsYXksICdvJywgbGlua05hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRQYWdlTmFtZSgpIHtcbiAgICBjb25zdCBwYXRoID0gdGhpcy5sb2NhdGlvbi5wYXRoKHRydWUpO1xuICAgIGNvbnN0IGhhc2hOZHggPSBwYXRoLmluZGV4T2YoJyMnKTtcbiAgICBpZiAoaGFzaE5keCA+IDAgJiYgaGFzaE5keCA8IHBhdGgubGVuZ3RoKSB7XG4gICAgICBzLnBhZ2VOYW1lID0gcGF0aC5zdWJzdHJpbmcoaGFzaE5keCArIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzLnBhZ2VOYW1lID0gcGF0aDtcbiAgICB9XG4gIH1cblxuICBzZXRVc2VyUHJvcGVydGllcyhwcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHMgIT09ICd1bmRlZmluZWQnICYmIHMpIHtcbiAgICAgIGlmICh0eXBlb2YgcHJvcGVydGllcyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcHJvcGVydGllcykge1xuICAgICAgICAgIGlmIChwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIHNba2V5XSA9IHByb3BlcnRpZXNba2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "../../angulartics2-core";
|
4
|
+
export class Angulartics2Amplitude {
|
5
|
+
constructor(angulartics2) {
|
6
|
+
this.angulartics2 = angulartics2;
|
7
|
+
this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
|
8
|
+
this.angulartics2.setUserProperties.subscribe((x) => this.setUserProperties(x));
|
9
|
+
this.angulartics2.setUserPropertiesOnce.subscribe((x) => this.setUserProperties(x));
|
10
|
+
}
|
11
|
+
startTracking() {
|
12
|
+
this.angulartics2.pageTrack
|
13
|
+
.pipe(this.angulartics2.filterDeveloperMode())
|
14
|
+
.subscribe((x) => this.pageTrack(x.path));
|
15
|
+
this.angulartics2.eventTrack
|
16
|
+
.pipe(this.angulartics2.filterDeveloperMode())
|
17
|
+
.subscribe((x) => this.eventTrack(x.action, x.properties));
|
18
|
+
}
|
19
|
+
pageTrack(path) {
|
20
|
+
try {
|
21
|
+
this.eventTrack('Pageview', {
|
22
|
+
url: path,
|
23
|
+
});
|
24
|
+
}
|
25
|
+
catch (e) {
|
26
|
+
if (!(e instanceof ReferenceError)) {
|
27
|
+
throw e;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
eventTrack(action, properties) {
|
32
|
+
try {
|
33
|
+
amplitude.getInstance().logEvent(action, properties);
|
34
|
+
}
|
35
|
+
catch (e) {
|
36
|
+
if (!(e instanceof ReferenceError)) {
|
37
|
+
throw e;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
setUsername(userId) {
|
42
|
+
try {
|
43
|
+
amplitude.getInstance().setUserId(userId);
|
44
|
+
}
|
45
|
+
catch (e) {
|
46
|
+
if (!(e instanceof ReferenceError)) {
|
47
|
+
throw e;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
setUserProperties(properties) {
|
52
|
+
try {
|
53
|
+
amplitude.getInstance().setUserProperties(properties);
|
54
|
+
}
|
55
|
+
catch (e) {
|
56
|
+
if (!(e instanceof ReferenceError)) {
|
57
|
+
throw e;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
Angulartics2Amplitude.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Amplitude, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
63
|
+
Angulartics2Amplitude.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Amplitude, providedIn: 'root' });
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Amplitude, decorators: [{
|
65
|
+
type: Injectable,
|
66
|
+
args: [{ providedIn: 'root' }]
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9wcm92aWRlcnMvYW1wbGl0dWRlL2FtcGxpdHVkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFhM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTO2FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDN0MsU0FBUyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTthQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzdDLFNBQVMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixJQUFJO1lBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7Z0JBQzFCLEdBQUcsRUFBRSxJQUFJO2FBQ1YsQ0FBQyxDQUFDO1NBQ0o7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxjQUFjLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxDQUFDLENBQUM7YUFDVDtTQUNGO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFjLEVBQUUsVUFBZTtRQUN4QyxJQUFJO1lBQ0YsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDdEQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxjQUFjLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxDQUFDLENBQUM7YUFDVDtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLElBQUk7WUFDRixTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksY0FBYyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sQ0FBQyxDQUFDO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxVQUFlO1FBQy9CLElBQUk7WUFDRixTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdkQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxjQUFjLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxDQUFDLENBQUM7YUFDVDtTQUNGO0lBQ0gsQ0FBQzs7a0hBeERVLHFCQUFxQjtzSEFBckIscUJBQXFCLGNBRFIsTUFBTTsyRkFDbkIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQW5ndWxhcnRpY3MyIH0gZnJvbSAnLi4vLi4vYW5ndWxhcnRpY3MyLWNvcmUnO1xuXG5kZWNsYXJlIHZhciBhbXBsaXR1ZGU6IHtcbiAgZ2V0SW5zdGFuY2U6ICgpID0+IHtcbiAgICBsb2dFdmVudChhY3Rpb246IHN0cmluZywgcHJvcGVydGllczogYW55KTtcbiAgICBzZXRVc2VySWQodXNlcklkOiBzdHJpbmcpO1xuICAgIHNldFVzZXJQcm9wZXJ0aWVzKHByb3BlcnRpZXM6IGFueSk7XG4gIH07XG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJ0aWNzMkFtcGxpdHVkZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhcnRpY3MyOiBBbmd1bGFydGljczIpIHtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXRVc2VybmFtZS5zdWJzY3JpYmUoKHg6IGFueSkgPT4gdGhpcy5zZXRVc2VybmFtZSh4KSk7XG4gICAgdGhpcy5hbmd1bGFydGljczIuc2V0VXNlclByb3BlcnRpZXMuc3Vic2NyaWJlKCh4OiBhbnkpID0+IHRoaXMuc2V0VXNlclByb3BlcnRpZXMoeCkpO1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnNldFVzZXJQcm9wZXJ0aWVzT25jZS5zdWJzY3JpYmUoKHg6IGFueSkgPT4gdGhpcy5zZXRVc2VyUHJvcGVydGllcyh4KSk7XG4gIH1cblxuICBzdGFydFRyYWNraW5nKCk6IHZvaWQge1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnBhZ2VUcmFja1xuICAgICAgLnBpcGUodGhpcy5hbmd1bGFydGljczIuZmlsdGVyRGV2ZWxvcGVyTW9kZSgpKVxuICAgICAgLnN1YnNjcmliZSgoeDogYW55KSA9PiB0aGlzLnBhZ2VUcmFjayh4LnBhdGgpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5ldmVudFRyYWNrXG4gICAgICAucGlwZSh0aGlzLmFuZ3VsYXJ0aWNzMi5maWx0ZXJEZXZlbG9wZXJNb2RlKCkpXG4gICAgICAuc3Vic2NyaWJlKCh4OiBhbnkpID0+IHRoaXMuZXZlbnRUcmFjayh4LmFjdGlvbiwgeC5wcm9wZXJ0aWVzKSk7XG4gIH1cblxuICBwYWdlVHJhY2socGF0aDogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuZXZlbnRUcmFjaygnUGFnZXZpZXcnLCB7XG4gICAgICAgIHVybDogcGF0aCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBldmVudFRyYWNrKGFjdGlvbjogc3RyaW5nLCBwcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICB0cnkge1xuICAgICAgYW1wbGl0dWRlLmdldEluc3RhbmNlKCkubG9nRXZlbnQoYWN0aW9uLCBwcm9wZXJ0aWVzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0VXNlcm5hbWUodXNlcklkOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgYW1wbGl0dWRlLmdldEluc3RhbmNlKCkuc2V0VXNlcklkKHVzZXJJZCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFVzZXJQcm9wZXJ0aWVzKHByb3BlcnRpZXM6IGFueSkge1xuICAgIHRyeSB7XG4gICAgICBhbXBsaXR1ZGUuZ2V0SW5zdGFuY2UoKS5zZXRVc2VyUHJvcGVydGllcyhwcm9wZXJ0aWVzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|