@microsoft/applicationinsights-clickanalytics-js 3.0.0-beta.2208-04 → 3.0.0-beta.2208-14

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.
Files changed (55) hide show
  1. package/browser/{ai.clck.3.0.0-beta.2208-04.cjs.js → ai.clck.3.0.0-beta.2208-14.cjs.js} +11 -5
  2. package/browser/ai.clck.3.0.0-beta.2208-14.cjs.js.map +1 -0
  3. package/browser/{ai.clck.3.0.0-beta.2208-04.cjs.min.js → ai.clck.3.0.0-beta.2208-14.cjs.min.js} +3 -3
  4. package/browser/{ai.clck.3.0.0-beta.2208-04.gbl.min.js.map → ai.clck.3.0.0-beta.2208-14.cjs.min.js.map} +1 -1
  5. package/browser/{ai.clck.3.0.0-beta.2208-04.gbl.js → ai.clck.3.0.0-beta.2208-14.gbl.js} +11 -5
  6. package/browser/ai.clck.3.0.0-beta.2208-14.gbl.js.map +1 -0
  7. package/browser/{ai.clck.3.0.0-beta.2208-04.gbl.min.js → ai.clck.3.0.0-beta.2208-14.gbl.min.js} +3 -3
  8. package/browser/{ai.clck.3.0.0-beta.2208-04.cjs.min.js.map → ai.clck.3.0.0-beta.2208-14.gbl.min.js.map} +1 -1
  9. package/browser/ai.clck.3.0.0-beta.2208-14.integrity.json +66 -0
  10. package/browser/{ai.clck.3.0.0-beta.2208-04.js → ai.clck.3.0.0-beta.2208-14.js} +11 -5
  11. package/browser/ai.clck.3.0.0-beta.2208-14.js.map +1 -0
  12. package/browser/{ai.clck.3.0.0-beta.2208-04.min.js → ai.clck.3.0.0-beta.2208-14.min.js} +3 -3
  13. package/browser/{ai.clck.3.0.0-beta.2208-04.min.js.map → ai.clck.3.0.0-beta.2208-14.min.js.map} +1 -1
  14. package/browser/ai.clck.3.cjs.js +10 -4
  15. package/browser/ai.clck.3.cjs.js.map +1 -1
  16. package/browser/ai.clck.3.cjs.min.js +2 -2
  17. package/browser/ai.clck.3.cjs.min.js.map +1 -1
  18. package/browser/ai.clck.3.gbl.js +10 -4
  19. package/browser/ai.clck.3.gbl.js.map +1 -1
  20. package/browser/ai.clck.3.gbl.min.js +2 -2
  21. package/browser/ai.clck.3.gbl.min.js.map +1 -1
  22. package/browser/ai.clck.3.js +10 -4
  23. package/browser/ai.clck.3.js.map +1 -1
  24. package/browser/ai.clck.3.min.js +2 -2
  25. package/browser/ai.clck.3.min.js.map +1 -1
  26. package/dist/applicationinsights-clickanalytics-js.api.json +1 -1
  27. package/dist/applicationinsights-clickanalytics-js.d.ts +1 -1
  28. package/dist/applicationinsights-clickanalytics-js.js +10 -4
  29. package/dist/applicationinsights-clickanalytics-js.js.map +1 -1
  30. package/dist/applicationinsights-clickanalytics-js.min.js +2 -2
  31. package/dist/applicationinsights-clickanalytics-js.min.js.map +1 -1
  32. package/dist/applicationinsights-clickanalytics-js.rollup.d.ts +1 -1
  33. package/dist-esm/Behaviours.js +1 -1
  34. package/dist-esm/ClickAnalyticsPlugin.js +2 -2
  35. package/dist-esm/ClickAnalyticsPlugin.js.map +1 -1
  36. package/dist-esm/DataCollector.js +7 -1
  37. package/dist-esm/DataCollector.js.map +1 -1
  38. package/dist-esm/Enums.js +1 -1
  39. package/dist-esm/Interfaces/Datamodel.js +1 -1
  40. package/dist-esm/__DynamicConstants.js +1 -1
  41. package/dist-esm/applicationinsights-clickanalytics-js.js +1 -1
  42. package/dist-esm/common/Utils.js +1 -1
  43. package/dist-esm/events/PageAction.js +1 -1
  44. package/dist-esm/events/WebEvent.js +1 -1
  45. package/dist-esm/handlers/AutoCaptureHandler.js +1 -1
  46. package/dist-esm/handlers/DomContentHandler.js +1 -1
  47. package/package.json +4 -4
  48. package/src/DataCollector.ts +9 -0
  49. package/src/Interfaces/Datamodel.ts +8 -0
  50. package/types/Interfaces/Datamodel.d.ts +8 -0
  51. package/types/tsdoc-metadata.json +1 -1
  52. package/browser/ai.clck.3.0.0-beta.2208-04.cjs.js.map +0 -1
  53. package/browser/ai.clck.3.0.0-beta.2208-04.gbl.js.map +0 -1
  54. package/browser/ai.clck.3.0.0-beta.2208-04.integrity.json +0 -66
  55. package/browser/ai.clck.3.0.0-beta.2208-04.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft.ApplicationInsights, 3.0.0-beta.2208-04
2
+ * Microsoft.ApplicationInsights, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -92,7 +92,7 @@ var ClickAnalyticsPlugin = /** @class */ (function (_super) {
92
92
  // Removed Stub for ClickAnalyticsPlugin.prototype.initialize.
93
93
  // Removed Stub for ClickAnalyticsPlugin.prototype.processTelemetry.
94
94
  // Removed Stub for ClickAnalyticsPlugin.prototype.trackPageAction.
95
- ClickAnalyticsPlugin.Version = "3.0.0-beta.2208-04";
95
+ ClickAnalyticsPlugin.Version = "3.0.0-beta.2208-14";
96
96
  return ClickAnalyticsPlugin;
97
97
  }(BaseTelemetryPlugin));
98
98
  export { ClickAnalyticsPlugin };
@@ -1 +1 @@
1
- {"version":3,"file":"ClickAnalyticsPlugin.js.map","sources":["ClickAnalyticsPlugin.js"],"sourcesContent":["/**\r\n* @copyright Microsoft 2020\r\n*/\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { PropertiesPluginIdentifier } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _throwInternal, arrForEach, dumpObj, getExceptionName, isNullOrUndefined, throwError, unloadComponents } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_EXTENSION_CONFIG, _DYN_PAGE_ACTION_PAGE_TAG0, _DYN_TRACK_PAGE_ACTION } from \"./__DynamicConstants\";\r\nimport { BehaviorEnumValidator, BehaviorMapValidator, BehaviorValueValidator, mergeConfig } from \"./common/Utils\";\r\nimport { PageAction } from \"./events/PageAction\";\r\nimport { AutoCaptureHandler } from \"./handlers/AutoCaptureHandler\";\r\nimport { DomContentHandler } from \"./handlers/DomContentHandler\";\r\nexport { BehaviorMapValidator, BehaviorValueValidator, BehaviorEnumValidator };\r\nvar ClickAnalyticsPlugin = /** @class */ (function (_super) {\r\n __extends(ClickAnalyticsPlugin, _super);\r\n function ClickAnalyticsPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"ClickAnalyticsPlugin\";\r\n _this.priority = 181;\r\n var _config;\r\n var _pageAction;\r\n var _autoCaptureHandler;\r\n var _contentHandler;\r\n dynamicProto(ClickAnalyticsPlugin, _this, function (_self, _base) {\r\n var _identifier = _self.identifier;\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (isNullOrUndefined(core)) {\r\n throwError(\"Error initializing\");\r\n }\r\n config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */] = config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */] || [];\r\n config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][_identifier] = config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][_identifier] || {};\r\n _config = mergeConfig(config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][_identifier]);\r\n _super.prototype.initialize.call(_this, config, core, extensions, pluginChain);\r\n var logger = _self.diagLog();\r\n // Default to DOM content handler\r\n _contentHandler = _contentHandler ? _contentHandler : new DomContentHandler(_config, logger);\r\n var metaTags = _contentHandler.getMetadata();\r\n _pageAction = new PageAction(_this, _config, _contentHandler, _config.callback[_DYN_PAGE_ACTION_PAGE_TAG0 /* @min:%2epageActionPageTags */], metaTags, logger);\r\n // Default to DOM autoCapture handler\r\n _autoCaptureHandler = _autoCaptureHandler ? _autoCaptureHandler : new AutoCaptureHandler(_self, _config, _pageAction, logger);\r\n if (_config.autoCapture) {\r\n _autoCaptureHandler.click();\r\n }\r\n // Find the properties plugin.\r\n var _propertiesExtension;\r\n arrForEach(extensions, function (extension) {\r\n if (extension.identifier === PropertiesPluginIdentifier) {\r\n _propertiesExtension = extension;\r\n }\r\n });\r\n // Append Click Analytics Plugin Version to SDK version.\r\n if (_propertiesExtension && _propertiesExtension.context &&\r\n _propertiesExtension.context.internal && _propertiesExtension.context.internal.sdkVersion) {\r\n _propertiesExtension.context.internal.sdkVersion += \"_ClickPlugin\" + ClickAnalyticsPlugin.Version;\r\n }\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n _self[_DYN_TRACK_PAGE_ACTION /* @min:%2etrackPageAction */] = function (pageAction, customProperties) {\r\n try {\r\n _pageAction[_DYN_TRACK_PAGE_ACTION /* @min:%2etrackPageAction */](pageAction, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 103 /* _eInternalMessageId.TrackPageActionEventFailed */, \"trackPageAction failed, page action event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState, asyncCallback) {\r\n return unloadComponents([\r\n _autoCaptureHandler,\r\n _contentHandler,\r\n _pageAction\r\n ], unloadCtx, unloadState, function () {\r\n _initDefaults();\r\n asyncCallback && asyncCallback();\r\n });\r\n };\r\n });\r\n function _initDefaults() {\r\n _config = null;\r\n _pageAction = null;\r\n _autoCaptureHandler = null;\r\n _contentHandler = null;\r\n }\r\n return _this;\r\n }\r\n ClickAnalyticsPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ClickAnalyticsPlugin.prototype.processTelemetry = function (env, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs a page action event.\r\n * @param IPageActionTelemetry\r\n * @param customProperties Additional data used to filter events and metrics. Defaults to empty.\r\n */\r\n ClickAnalyticsPlugin.prototype.trackPageAction = function (pageAction, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ClickAnalyticsPlugin.Version = \"3.0.0-beta.2208-04\";\r\n return ClickAnalyticsPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { ClickAnalyticsPlugin };\r\n//# sourceMappingURL=ClickAnalyticsPlugin.js.map"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA,gFAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;mEAaM;AACN;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"file":"ClickAnalyticsPlugin.js.map","sources":["ClickAnalyticsPlugin.js"],"sourcesContent":["/**\r\n* @copyright Microsoft 2020\r\n*/\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { PropertiesPluginIdentifier } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _throwInternal, arrForEach, dumpObj, getExceptionName, isNullOrUndefined, throwError, unloadComponents } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_EXTENSION_CONFIG, _DYN_PAGE_ACTION_PAGE_TAG0, _DYN_TRACK_PAGE_ACTION } from \"./__DynamicConstants\";\r\nimport { BehaviorEnumValidator, BehaviorMapValidator, BehaviorValueValidator, mergeConfig } from \"./common/Utils\";\r\nimport { PageAction } from \"./events/PageAction\";\r\nimport { AutoCaptureHandler } from \"./handlers/AutoCaptureHandler\";\r\nimport { DomContentHandler } from \"./handlers/DomContentHandler\";\r\nexport { BehaviorMapValidator, BehaviorValueValidator, BehaviorEnumValidator };\r\nvar ClickAnalyticsPlugin = /** @class */ (function (_super) {\r\n __extends(ClickAnalyticsPlugin, _super);\r\n function ClickAnalyticsPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"ClickAnalyticsPlugin\";\r\n _this.priority = 181;\r\n var _config;\r\n var _pageAction;\r\n var _autoCaptureHandler;\r\n var _contentHandler;\r\n dynamicProto(ClickAnalyticsPlugin, _this, function (_self, _base) {\r\n var _identifier = _self.identifier;\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (isNullOrUndefined(core)) {\r\n throwError(\"Error initializing\");\r\n }\r\n config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */] = config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */] || [];\r\n config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][_identifier] = config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][_identifier] || {};\r\n _config = mergeConfig(config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][_identifier]);\r\n _super.prototype.initialize.call(_this, config, core, extensions, pluginChain);\r\n var logger = _self.diagLog();\r\n // Default to DOM content handler\r\n _contentHandler = _contentHandler ? _contentHandler : new DomContentHandler(_config, logger);\r\n var metaTags = _contentHandler.getMetadata();\r\n _pageAction = new PageAction(_this, _config, _contentHandler, _config.callback[_DYN_PAGE_ACTION_PAGE_TAG0 /* @min:%2epageActionPageTags */], metaTags, logger);\r\n // Default to DOM autoCapture handler\r\n _autoCaptureHandler = _autoCaptureHandler ? _autoCaptureHandler : new AutoCaptureHandler(_self, _config, _pageAction, logger);\r\n if (_config.autoCapture) {\r\n _autoCaptureHandler.click();\r\n }\r\n // Find the properties plugin.\r\n var _propertiesExtension;\r\n arrForEach(extensions, function (extension) {\r\n if (extension.identifier === PropertiesPluginIdentifier) {\r\n _propertiesExtension = extension;\r\n }\r\n });\r\n // Append Click Analytics Plugin Version to SDK version.\r\n if (_propertiesExtension && _propertiesExtension.context &&\r\n _propertiesExtension.context.internal && _propertiesExtension.context.internal.sdkVersion) {\r\n _propertiesExtension.context.internal.sdkVersion += \"_ClickPlugin\" + ClickAnalyticsPlugin.Version;\r\n }\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n _self[_DYN_TRACK_PAGE_ACTION /* @min:%2etrackPageAction */] = function (pageAction, customProperties) {\r\n try {\r\n _pageAction[_DYN_TRACK_PAGE_ACTION /* @min:%2etrackPageAction */](pageAction, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 103 /* _eInternalMessageId.TrackPageActionEventFailed */, \"trackPageAction failed, page action event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState, asyncCallback) {\r\n return unloadComponents([\r\n _autoCaptureHandler,\r\n _contentHandler,\r\n _pageAction\r\n ], unloadCtx, unloadState, function () {\r\n _initDefaults();\r\n asyncCallback && asyncCallback();\r\n });\r\n };\r\n });\r\n function _initDefaults() {\r\n _config = null;\r\n _pageAction = null;\r\n _autoCaptureHandler = null;\r\n _contentHandler = null;\r\n }\r\n return _this;\r\n }\r\n ClickAnalyticsPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ClickAnalyticsPlugin.prototype.processTelemetry = function (env, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs a page action event.\r\n * @param IPageActionTelemetry\r\n * @param customProperties Additional data used to filter events and metrics. Defaults to empty.\r\n */\r\n ClickAnalyticsPlugin.prototype.trackPageAction = function (pageAction, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ClickAnalyticsPlugin.Version = \"3.0.0-beta.2208-14\";\r\n return ClickAnalyticsPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { ClickAnalyticsPlugin };\r\n//# sourceMappingURL=ClickAnalyticsPlugin.js.map"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA,gFAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;mEAaM;AACN;AACA;AACA;AACA;AACA"}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -131,6 +131,12 @@ export function sanitizeUrl(config, location) {
131
131
  var url = location.protocol + "//" + (location.hostname || location.host) + // location.hostname is not supported on Opera and Opera for Android
132
132
  (isValueAssigned(location.port) ? ":" + location.port : "") +
133
133
  location[_DYN_PATHNAME /* @min:%2epathname */];
134
+ if (!!config.urlCollectHash) { // false by default
135
+ url += (isValueAssigned(location.hash) ? location.hash : "");
136
+ }
137
+ if (!!config.urlCollectQuery) { // false by default
138
+ url += (isValueAssigned(location.search) ? location.search : "");
139
+ }
134
140
  return url;
135
141
  }
136
142
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DataCollector.js.map","sources":["DataCollector.js"],"sourcesContent":["/**\r\n* @copyright Microsoft 2020\r\n*/\r\nimport { getDocument, getLocation, getWindow, hasDocument, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ADD_EVENT_LISTENER, _DYN_CORE_DATA, _DYN_LENGTH, _DYN_PAGE_NAME, _DYN_PATHNAME, _DYN_REQUEST_URI, _DYN_TAG_NAME, _DYN_TO_UPPER_CASE } from \"./__DynamicConstants\";\r\nimport { findClosestAnchor, isValueAssigned } from \"./common/Utils\";\r\nvar clickCaptureInputTypes = { BUTTON: true, CHECKBOX: true, RADIO: true, RESET: true, SUBMIT: true };\r\n/**\r\n * Get Image href of a given HTMLImageElement\r\n * @param element - An html image element\r\n * @returns Href value.\r\n */\r\nexport function getImageHref(element) {\r\n var temp = element;\r\n if (temp) {\r\n var parent = findClosestAnchor(temp);\r\n if (parent[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n var firstParent = parent[0];\r\n if (firstParent.href) {\r\n return firstParent.href;\r\n }\r\n else if (firstParent.src) {\r\n return (firstParent.src);\r\n }\r\n }\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Get click target\r\n * @returns Click target URI\r\n */\r\nexport function getClickTarget(element) {\r\n var clickTarget = \"\";\r\n switch (element[_DYN_TAG_NAME /* @min:%2etagName */]) {\r\n case \"A\":\r\n case \"AREA\":\r\n clickTarget = element.href || \"\";\r\n break;\r\n case \"IMG\":\r\n clickTarget = getImageHref(element);\r\n break;\r\n case \"INPUT\":\r\n var type = element.type;\r\n if (type && (clickCaptureInputTypes[type[_DYN_TO_UPPER_CASE /* @min:%2etoUpperCase */]()])) {\r\n var loc = getLocation() || {};\r\n if (element.form) {\r\n clickTarget = element.form.action || (loc[_DYN_PATHNAME /* @min:%2epathname */] || \"\");\r\n }\r\n else {\r\n clickTarget = loc[_DYN_PATHNAME /* @min:%2epathname */] || \"\";\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return clickTarget;\r\n}\r\n/**\r\n * Execute callback when DOM finish loading\r\n */\r\nexport function onDomLoaded(callback) {\r\n onDomReadyDo(function () {\r\n if (hasDocument && document.readyState === \"complete\") {\r\n callback();\r\n }\r\n else {\r\n var win = getWindow();\r\n if (win) {\r\n if (win[_DYN_ADD_EVENT_LISTENER /* @min:%2eaddEventListener */]) {\r\n win[_DYN_ADD_EVENT_LISTENER /* @min:%2eaddEventListener */](\"load\", function () {\r\n callback();\r\n }); // NB **not** 'onload'\r\n }\r\n else if (win.attachEvent) {\r\n win.attachEvent(\"onload\", function () {\r\n callback();\r\n }); // IE8\r\n }\r\n }\r\n }\r\n });\r\n}\r\n// use smallest domready ever for IE8. When IE8 is deprecated, use addEventListener('DomContentLoaded')\r\nfunction onDomReadyDo(f) {\r\n /// <summary> fires function f on domRead </summary>\r\n /// <param type='function'>function to call on domRead</param>\r\n var doc = getDocument() || {};\r\n /in/.test(doc.readyState) ? setTimeout(function () {\r\n onDomReadyDo(f);\r\n }, 100) : f.call();\r\n}\r\n/**\r\n * Gets the pageName from the DOM or by calling a override if set.\r\n * @param config - configuration object\r\n * @returns Page name.\r\n */\r\nexport function getPageName(config, overrideValues) {\r\n /// <summary>\r\n /// Gets the pageName from the DOM or by calling a override if set.\r\n /// </summary>\r\n if (overrideValues && overrideValues[_DYN_PAGE_NAME /* @min:%2epageName */]) {\r\n return overrideValues[_DYN_PAGE_NAME /* @min:%2epageName */];\r\n }\r\n else if (config.callback && isFunction(config.callback[_DYN_PAGE_NAME /* @min:%2epageName */])) {\r\n return config.callback[_DYN_PAGE_NAME /* @min:%2epageName */]();\r\n }\r\n else if (config.coreData && config.coreData[_DYN_PAGE_NAME /* @min:%2epageName */]) {\r\n return config.coreData[_DYN_PAGE_NAME /* @min:%2epageName */];\r\n }\r\n else {\r\n var doc = getDocument();\r\n return doc && doc.title || \"\";\r\n }\r\n}\r\n/**\r\n * Sanitize URL values\r\n * @param config - Configuration\r\n * @param location - window.location or document.location\r\n * @returns Flag indicating if an element is market PII.\r\n */\r\nexport function sanitizeUrl(config, location) {\r\n if (!location) {\r\n return null;\r\n }\r\n var url = location.protocol + \"//\" + (location.hostname || location.host) + // location.hostname is not supported on Opera and Opera for Android\r\n (isValueAssigned(location.port) ? \":\" + location.port : \"\") +\r\n location[_DYN_PATHNAME /* @min:%2epathname */];\r\n return url;\r\n}\r\n/**\r\n * Get URI, sanitize the value if configured on\r\n * @param config - Configuration\r\n * @param location - window.location or document.location\r\n * @returns Flag indicating if an element is market PII.\r\n */\r\nexport function getUri(config, location) {\r\n if (config[_DYN_CORE_DATA /* @min:%2ecoreData */] && config[_DYN_CORE_DATA /* @min:%2ecoreData */][_DYN_REQUEST_URI /* @min:%2erequestUri */] && config[_DYN_CORE_DATA /* @min:%2ecoreData */][_DYN_REQUEST_URI /* @min:%2erequestUri */] !== \"\") {\r\n return config[_DYN_CORE_DATA /* @min:%2ecoreData */][_DYN_REQUEST_URI /* @min:%2erequestUri */];\r\n }\r\n return sanitizeUrl(config, location);\r\n}\r\n//# sourceMappingURL=DataCollector.js.map"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"file":"DataCollector.js.map","sources":["DataCollector.js"],"sourcesContent":["/**\r\n* @copyright Microsoft 2020\r\n*/\r\nimport { getDocument, getLocation, getWindow, hasDocument, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ADD_EVENT_LISTENER, _DYN_CORE_DATA, _DYN_LENGTH, _DYN_PAGE_NAME, _DYN_PATHNAME, _DYN_REQUEST_URI, _DYN_TAG_NAME, _DYN_TO_UPPER_CASE } from \"./__DynamicConstants\";\r\nimport { findClosestAnchor, isValueAssigned } from \"./common/Utils\";\r\nvar clickCaptureInputTypes = { BUTTON: true, CHECKBOX: true, RADIO: true, RESET: true, SUBMIT: true };\r\n/**\r\n * Get Image href of a given HTMLImageElement\r\n * @param element - An html image element\r\n * @returns Href value.\r\n */\r\nexport function getImageHref(element) {\r\n var temp = element;\r\n if (temp) {\r\n var parent = findClosestAnchor(temp);\r\n if (parent[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n var firstParent = parent[0];\r\n if (firstParent.href) {\r\n return firstParent.href;\r\n }\r\n else if (firstParent.src) {\r\n return (firstParent.src);\r\n }\r\n }\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Get click target\r\n * @returns Click target URI\r\n */\r\nexport function getClickTarget(element) {\r\n var clickTarget = \"\";\r\n switch (element[_DYN_TAG_NAME /* @min:%2etagName */]) {\r\n case \"A\":\r\n case \"AREA\":\r\n clickTarget = element.href || \"\";\r\n break;\r\n case \"IMG\":\r\n clickTarget = getImageHref(element);\r\n break;\r\n case \"INPUT\":\r\n var type = element.type;\r\n if (type && (clickCaptureInputTypes[type[_DYN_TO_UPPER_CASE /* @min:%2etoUpperCase */]()])) {\r\n var loc = getLocation() || {};\r\n if (element.form) {\r\n clickTarget = element.form.action || (loc[_DYN_PATHNAME /* @min:%2epathname */] || \"\");\r\n }\r\n else {\r\n clickTarget = loc[_DYN_PATHNAME /* @min:%2epathname */] || \"\";\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return clickTarget;\r\n}\r\n/**\r\n * Execute callback when DOM finish loading\r\n */\r\nexport function onDomLoaded(callback) {\r\n onDomReadyDo(function () {\r\n if (hasDocument && document.readyState === \"complete\") {\r\n callback();\r\n }\r\n else {\r\n var win = getWindow();\r\n if (win) {\r\n if (win[_DYN_ADD_EVENT_LISTENER /* @min:%2eaddEventListener */]) {\r\n win[_DYN_ADD_EVENT_LISTENER /* @min:%2eaddEventListener */](\"load\", function () {\r\n callback();\r\n }); // NB **not** 'onload'\r\n }\r\n else if (win.attachEvent) {\r\n win.attachEvent(\"onload\", function () {\r\n callback();\r\n }); // IE8\r\n }\r\n }\r\n }\r\n });\r\n}\r\n// use smallest domready ever for IE8. When IE8 is deprecated, use addEventListener('DomContentLoaded')\r\nfunction onDomReadyDo(f) {\r\n /// <summary> fires function f on domRead </summary>\r\n /// <param type='function'>function to call on domRead</param>\r\n var doc = getDocument() || {};\r\n /in/.test(doc.readyState) ? setTimeout(function () {\r\n onDomReadyDo(f);\r\n }, 100) : f.call();\r\n}\r\n/**\r\n * Gets the pageName from the DOM or by calling a override if set.\r\n * @param config - configuration object\r\n * @returns Page name.\r\n */\r\nexport function getPageName(config, overrideValues) {\r\n /// <summary>\r\n /// Gets the pageName from the DOM or by calling a override if set.\r\n /// </summary>\r\n if (overrideValues && overrideValues[_DYN_PAGE_NAME /* @min:%2epageName */]) {\r\n return overrideValues[_DYN_PAGE_NAME /* @min:%2epageName */];\r\n }\r\n else if (config.callback && isFunction(config.callback[_DYN_PAGE_NAME /* @min:%2epageName */])) {\r\n return config.callback[_DYN_PAGE_NAME /* @min:%2epageName */]();\r\n }\r\n else if (config.coreData && config.coreData[_DYN_PAGE_NAME /* @min:%2epageName */]) {\r\n return config.coreData[_DYN_PAGE_NAME /* @min:%2epageName */];\r\n }\r\n else {\r\n var doc = getDocument();\r\n return doc && doc.title || \"\";\r\n }\r\n}\r\n/**\r\n * Sanitize URL values\r\n * @param config - Configuration\r\n * @param location - window.location or document.location\r\n * @returns Flag indicating if an element is market PII.\r\n */\r\nexport function sanitizeUrl(config, location) {\r\n if (!location) {\r\n return null;\r\n }\r\n var url = location.protocol + \"//\" + (location.hostname || location.host) + // location.hostname is not supported on Opera and Opera for Android\r\n (isValueAssigned(location.port) ? \":\" + location.port : \"\") +\r\n location[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (!!config.urlCollectHash) { // false by default\r\n url += (isValueAssigned(location.hash) ? location.hash : \"\");\r\n }\r\n if (!!config.urlCollectQuery) { // false by default\r\n url += (isValueAssigned(location.search) ? location.search : \"\");\r\n }\r\n return url;\r\n}\r\n/**\r\n * Get URI, sanitize the value if configured on\r\n * @param config - Configuration\r\n * @param location - window.location or document.location\r\n * @returns Flag indicating if an element is market PII.\r\n */\r\nexport function getUri(config, location) {\r\n if (config[_DYN_CORE_DATA /* @min:%2ecoreData */] && config[_DYN_CORE_DATA /* @min:%2ecoreData */][_DYN_REQUEST_URI /* @min:%2erequestUri */] && config[_DYN_CORE_DATA /* @min:%2ecoreData */][_DYN_REQUEST_URI /* @min:%2erequestUri */] !== \"\") {\r\n return config[_DYN_CORE_DATA /* @min:%2ecoreData */][_DYN_REQUEST_URI /* @min:%2erequestUri */];\r\n }\r\n return sanitizeUrl(config, location);\r\n}\r\n//# sourceMappingURL=DataCollector.js.map"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
package/dist-esm/Enums.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-04
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2208-14
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/applicationinsights-clickanalytics-js",
3
- "version": "3.0.0-beta.2208-04",
3
+ "version": "3.0.0-beta.2208-14",
4
4
  "description": "Microsoft Application Insights Click Analytics extension",
5
5
  "homepage": "https://github.com/microsoft/ApplicationInsights-JS#readme",
6
6
  "author": "Microsoft Application Insights Team",
@@ -47,9 +47,9 @@
47
47
  "dependencies": {
48
48
  "@microsoft/dynamicproto-js": "^1.1.6",
49
49
  "@microsoft/applicationinsights-shims": "2.0.1",
50
- "@microsoft/applicationinsights-core-js": "3.0.0-beta.2208-04",
51
- "@microsoft/applicationinsights-common": "3.0.0-beta.2208-04",
52
- "@microsoft/applicationinsights-properties-js": "3.0.0-beta.2208-04"
50
+ "@microsoft/applicationinsights-core-js": "3.0.0-beta.2208-14",
51
+ "@microsoft/applicationinsights-common": "3.0.0-beta.2208-14",
52
+ "@microsoft/applicationinsights-properties-js": "3.0.0-beta.2208-14"
53
53
  },
54
54
  "repository": {
55
55
  "type": "git",
@@ -132,6 +132,15 @@ export function sanitizeUrl(config: IClickAnalyticsConfiguration, location: Loca
132
132
  var url = location.protocol + "//" + (location.hostname || location.host) + // location.hostname is not supported on Opera and Opera for Android
133
133
  (isValueAssigned(location.port) ? ":" + location.port : "") +
134
134
  location.pathname;
135
+
136
+ if (!!config.urlCollectHash) { // false by default
137
+ url += (isValueAssigned(location.hash)? location.hash : "");
138
+ }
139
+
140
+ if (!!config.urlCollectQuery) { // false by default
141
+ url += (isValueAssigned(location.search)? location.search : "");
142
+ }
143
+
135
144
  return url;
136
145
  }
137
146
 
@@ -43,6 +43,14 @@ export interface IClickAnalyticsConfiguration {
43
43
  * Default will be false
44
44
  */
45
45
  dropInvalidEvents?: boolean;
46
+ /**
47
+ * Enables the logging of values after a "#" character of the URL. Default is "false."
48
+ */
49
+ urlCollectHash?: boolean;
50
+ /**
51
+ * Enables the logging of the query string of the URL. Default is "false."
52
+ */
53
+ urlCollectQuery?: boolean;
46
54
  }
47
55
 
48
56
  /**
@@ -43,6 +43,14 @@ export interface IClickAnalyticsConfiguration {
43
43
  * Default will be false
44
44
  */
45
45
  dropInvalidEvents?: boolean;
46
+ /**
47
+ * Enables the logging of values after a "#" character of the URL. Default is "false."
48
+ */
49
+ urlCollectHash?: boolean;
50
+ /**
51
+ * Enables the logging of the query string of the URL. Default is "false."
52
+ */
53
+ urlCollectQuery?: boolean;
46
54
  }
47
55
  /**
48
56
  * Custom Data Tags Configuration
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.28.7"
8
+ "packageVersion": "7.29.0"
9
9
  }
10
10
  ]
11
11
  }