@microsoft/applicationinsights-clickanalytics-js 3.0.0-beta.2301-01 → 3.0.0-beta.2301-02

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 (60) hide show
  1. package/browser/{ai.clck.3.0.0-beta.2301-01.cjs.js → ai.clck.3.0.0-beta.2301-02.cjs.js} +154 -116
  2. package/browser/{ai.clck.3.0.0-beta.2301-01.cjs.js.map → ai.clck.3.0.0-beta.2301-02.cjs.js.map} +1 -1
  3. package/browser/ai.clck.3.0.0-beta.2301-02.cjs.min.js +6 -0
  4. package/browser/{ai.clck.3.0.0-beta.2301-01.gbl.min.js.map → ai.clck.3.0.0-beta.2301-02.cjs.min.js.map} +1 -1
  5. package/browser/{ai.clck.3.0.0-beta.2301-01.gbl.js → ai.clck.3.0.0-beta.2301-02.gbl.js} +154 -116
  6. package/browser/{ai.clck.3.0.0-beta.2301-01.gbl.js.map → ai.clck.3.0.0-beta.2301-02.gbl.js.map} +1 -1
  7. package/browser/ai.clck.3.0.0-beta.2301-02.gbl.min.js +6 -0
  8. package/browser/{ai.clck.3.0.0-beta.2301-01.cjs.min.js.map → ai.clck.3.0.0-beta.2301-02.gbl.min.js.map} +1 -1
  9. package/browser/ai.clck.3.0.0-beta.2301-02.integrity.json +66 -0
  10. package/browser/{ai.clck.3.0.0-beta.2301-01.js → ai.clck.3.0.0-beta.2301-02.js} +154 -116
  11. package/browser/{ai.clck.3.0.0-beta.2301-01.js.map → ai.clck.3.0.0-beta.2301-02.js.map} +1 -1
  12. package/browser/ai.clck.3.0.0-beta.2301-02.min.js +6 -0
  13. package/browser/{ai.clck.3.0.0-beta.2301-01.min.js.map → ai.clck.3.0.0-beta.2301-02.min.js.map} +1 -1
  14. package/browser/ai.clck.3.cjs.js +153 -115
  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 +153 -115
  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 +153 -115
  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.d.ts +1 -1
  27. package/dist/applicationinsights-clickanalytics-js.js +153 -115
  28. package/dist/applicationinsights-clickanalytics-js.js.map +1 -1
  29. package/dist/applicationinsights-clickanalytics-js.min.js +2 -2
  30. package/dist/applicationinsights-clickanalytics-js.min.js.map +1 -1
  31. package/dist/applicationinsights-clickanalytics-js.rollup.d.ts +1 -1
  32. package/dist-esm/Behaviours.js +1 -1
  33. package/dist-esm/ClickAnalyticsPlugin.js +83 -18
  34. package/dist-esm/ClickAnalyticsPlugin.js.map +1 -1
  35. package/dist-esm/DataCollector.js +1 -1
  36. package/dist-esm/Enums.js +1 -1
  37. package/dist-esm/Interfaces/Datamodel.js +1 -1
  38. package/dist-esm/__DynamicConstants.js +12 -13
  39. package/dist-esm/__DynamicConstants.js.map +1 -1
  40. package/dist-esm/applicationinsights-clickanalytics-js.js +1 -1
  41. package/dist-esm/common/Utils.js +15 -66
  42. package/dist-esm/common/Utils.js.map +1 -1
  43. package/dist-esm/events/PageAction.js +6 -6
  44. package/dist-esm/events/PageAction.js.map +1 -1
  45. package/dist-esm/events/WebEvent.js +4 -4
  46. package/dist-esm/events/WebEvent.js.map +1 -1
  47. package/dist-esm/handlers/AutoCaptureHandler.js +3 -3
  48. package/dist-esm/handlers/AutoCaptureHandler.js.map +1 -1
  49. package/dist-esm/handlers/DomContentHandler.js +15 -13
  50. package/dist-esm/handlers/DomContentHandler.js.map +1 -1
  51. package/package.json +4 -4
  52. package/src/ClickAnalyticsPlugin.ts +94 -19
  53. package/src/__DynamicConstants.ts +11 -12
  54. package/src/common/Utils.ts +11 -63
  55. package/types/__DynamicConstants.d.ts +10 -11
  56. package/types/common/Utils.d.ts +3 -5
  57. package/browser/ai.clck.3.0.0-beta.2301-01.cjs.min.js +0 -6
  58. package/browser/ai.clck.3.0.0-beta.2301-01.gbl.min.js +0 -6
  59. package/browser/ai.clck.3.0.0-beta.2301-01.integrity.json +0 -66
  60. package/browser/ai.clck.3.0.0-beta.2301-01.min.js +0 -6
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft.ApplicationInsights, 3.0.0-beta.2301-01
2
+ * Microsoft.ApplicationInsights, 3.0.0-beta.2301-02
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.2301-01
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -1,20 +1,66 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-01
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
6
6
  * @copyright Microsoft 2020
7
7
  */
8
+ var _a, _b, _c;
8
9
  import { __extendsFn as __extends } from "@microsoft/applicationinsights-shims";
9
10
  import dynamicProto from "@microsoft/dynamicproto-js";
10
11
  import { PropertiesPluginIdentifier } from "@microsoft/applicationinsights-common";
11
- import { BaseTelemetryPlugin, _throwInternal, arrForEach, dumpObj, getExceptionName, isNullOrUndefined, throwError, unloadComponents } from "@microsoft/applicationinsights-core-js";
12
- import { _DYN_EXTENSION_CONFIG, _DYN_PAGE_ACTION_PAGE_TAG0, _DYN_TRACK_PAGE_ACTION } from "./__DynamicConstants";
13
- import { BehaviorEnumValidator, BehaviorMapValidator, BehaviorValueValidator, mergeConfig } from "./common/Utils";
12
+ import { BaseTelemetryPlugin, _throwInternal, arrForEach, createProcessTelemetryContext, dumpObj, getExceptionName, isNullOrUndefined, onConfigChange, throwError, unloadComponents } from "@microsoft/applicationinsights-core-js";
13
+ import { hasDocument, isObject, objDeepFreeze, objDefineProp, objForEachKey } from "@nevware21/ts-utils";
14
+ import { _DYN_BEHAVIOR_VALIDATOR, _DYN_CAPTURE_ALL_META_DAT2, _DYN_CONTENT_NAME, _DYN_INDEX_OF, _DYN_PAGE_ACTION_PAGE_TAG0, _DYN_PAGE_NAME, _DYN_TRACK_PAGE_ACTION, _DYN_USE_DEFAULT_CONTENT_1, _DYN__DO_UNLOAD } from "./__DynamicConstants";
15
+ import { BehaviorEnumValidator, BehaviorMapValidator, BehaviorValueValidator, DEFAULT_AI_BLOB_ATTRIBUTE_TAG, DEFAULT_DATA_PREFIX, DEFAULT_DONOT_TRACK_TAG } from "./common/Utils";
14
16
  import { PageAction } from "./events/PageAction";
15
17
  import { AutoCaptureHandler } from "./handlers/AutoCaptureHandler";
16
18
  import { DomContentHandler } from "./handlers/DomContentHandler";
17
19
  export { BehaviorMapValidator, BehaviorValueValidator, BehaviorEnumValidator };
20
+ var dataTagsDefault = (_a = {},
21
+ _a[_DYN_USE_DEFAULT_CONTENT_1 /* @min:useDefaultContentNameOrId */] = false,
22
+ _a.aiBlobAttributeTag = DEFAULT_AI_BLOB_ATTRIBUTE_TAG,
23
+ _a.customDataPrefix = DEFAULT_DATA_PREFIX,
24
+ _a[_DYN_CAPTURE_ALL_META_DAT2 /* @min:captureAllMetaDataContent */] = false,
25
+ _a.dntDataTag = DEFAULT_DONOT_TRACK_TAG,
26
+ _a.metaDataPrefix = "",
27
+ _a.parentDataTag = "",
28
+ _a);
29
+ var coreDataDefault = {
30
+ eferrerUri: hasDocument ? document.referrer : "",
31
+ requestUri: "",
32
+ pageName: "",
33
+ pageType: ""
34
+ };
35
+ var defaultValues = objDeepFreeze((_b = {
36
+ autoCapture: true,
37
+ callback: (_c = {},
38
+ _c[_DYN_PAGE_ACTION_PAGE_TAG0 /* @min:pageActionPageTags */] = null,
39
+ _c[_DYN_PAGE_NAME /* @min:pageName */] = null,
40
+ _c[_DYN_CONTENT_NAME /* @min:contentName */] = null,
41
+ _c),
42
+ pageTags: {},
43
+ coreData: { set: _setProp, v: coreDataDefault },
44
+ dataTags: { set: _setProp, v: dataTagsDefault }
45
+ },
46
+ _b[_DYN_BEHAVIOR_VALIDATOR /* @min:behaviorValidator */] = function (key) { return key || ""; },
47
+ _b.defaultRightClickBhvr = "",
48
+ _b.dropInvalidEvents = false,
49
+ _b.urlCollectHash = false,
50
+ _b.urlCollectQuery = false,
51
+ _b));
52
+ function _setProp(val, def) {
53
+ if (def && isObject(def)) {
54
+ objForEachKey(def, function (key, obj) {
55
+ val[key] = val[key] || obj;
56
+ if (key === "customDataPrefix") {
57
+ var prefix = val[key];
58
+ val[key] = prefix && prefix[_DYN_INDEX_OF /* @min:%2eindexOf */](DEFAULT_DATA_PREFIX) === 0 ? prefix : DEFAULT_DATA_PREFIX;
59
+ }
60
+ });
61
+ }
62
+ return val;
63
+ }
18
64
  var ClickAnalyticsPlugin = /** @class */ (function (_super) {
19
65
  __extends(ClickAnalyticsPlugin, _super);
20
66
  function ClickAnalyticsPlugin() {
@@ -25,6 +71,7 @@ var ClickAnalyticsPlugin = /** @class */ (function (_super) {
25
71
  var _pageAction;
26
72
  var _autoCaptureHandler;
27
73
  var _contentHandler;
74
+ var _autoCapture;
28
75
  dynamicProto(ClickAnalyticsPlugin, _this, function (_self, _base) {
29
76
  var _identifier = _self.identifier;
30
77
  _initDefaults();
@@ -32,20 +79,8 @@ var ClickAnalyticsPlugin = /** @class */ (function (_super) {
32
79
  if (isNullOrUndefined(core)) {
33
80
  throwError("Error initializing");
34
81
  }
35
- config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */] = config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */] || [];
36
- config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][_identifier] = config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][_identifier] || {};
37
- _config = mergeConfig(config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][_identifier]);
38
82
  _super.prototype.initialize.call(_this, config, core, extensions, pluginChain);
39
- var logger = _self.diagLog();
40
- // Default to DOM content handler
41
- _contentHandler = _contentHandler ? _contentHandler : new DomContentHandler(_config, logger);
42
- var metaTags = _contentHandler.getMetadata();
43
- _pageAction = new PageAction(_this, _config, _contentHandler, _config.callback[_DYN_PAGE_ACTION_PAGE_TAG0 /* @min:%2epageActionPageTags */], metaTags, logger);
44
- // Default to DOM autoCapture handler
45
- _autoCaptureHandler = _autoCaptureHandler ? _autoCaptureHandler : new AutoCaptureHandler(_self, _config, _pageAction, logger);
46
- if (_config.autoCapture) {
47
- _autoCaptureHandler.click();
48
- }
83
+ _populateDefaults(config);
49
84
  // Find the properties plugin.
50
85
  var _propertiesExtension;
51
86
  arrForEach(extensions, function (extension) {
@@ -80,19 +115,49 @@ var ClickAnalyticsPlugin = /** @class */ (function (_super) {
80
115
  asyncCallback && asyncCallback();
81
116
  });
82
117
  };
118
+ function _populateDefaults(config) {
119
+ var _this = this;
120
+ var core = _self.core;
121
+ _self._addHook(onConfigChange(config, function (details) {
122
+ var config = details.cfg;
123
+ var ctx = createProcessTelemetryContext(null, config, core);
124
+ var _config = ctx.getExtCfg(_identifier, defaultValues);
125
+ var logger = _self.diagLog();
126
+ _contentHandler = new DomContentHandler(_config, logger);
127
+ var metaTags = _contentHandler.getMetadata();
128
+ _pageAction = new PageAction(_this, _config, _contentHandler, _config.callback[_DYN_PAGE_ACTION_PAGE_TAG0 /* @min:%2epageActionPageTags */], metaTags, logger);
129
+ // Default to DOM autoCapture handler
130
+ if (_autoCaptureHandler) {
131
+ _autoCaptureHandler[_DYN__DO_UNLOAD /* @min:%2e_doUnload */]();
132
+ }
133
+ _autoCaptureHandler = new AutoCaptureHandler(_self, _config, _pageAction, logger);
134
+ var autoCapture = !!_config.autoCapture;
135
+ if (!_autoCapture && autoCapture) {
136
+ _autoCaptureHandler.click();
137
+ }
138
+ _autoCapture = autoCapture;
139
+ }));
140
+ }
83
141
  });
84
142
  function _initDefaults() {
85
143
  _config = null;
86
144
  _pageAction = null;
87
145
  _autoCaptureHandler = null;
88
146
  _contentHandler = null;
147
+ _autoCapture = false;
148
+ // Define _self.config
149
+ objDefineProp(self, "config", {
150
+ configurable: true,
151
+ enumerable: true,
152
+ get: function () { return _config; }
153
+ });
89
154
  }
90
155
  return _this;
91
156
  }
92
157
  // Removed Stub for ClickAnalyticsPlugin.prototype.initialize.
93
158
  // Removed Stub for ClickAnalyticsPlugin.prototype.processTelemetry.
94
159
  // Removed Stub for ClickAnalyticsPlugin.prototype.trackPageAction.
95
- ClickAnalyticsPlugin.Version = "3.0.0-beta.2301-01";
160
+ ClickAnalyticsPlugin.Version = "3.0.0-beta.2301-02";
96
161
  return ClickAnalyticsPlugin;
97
162
  }(BaseTelemetryPlugin));
98
163
  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.2301-01\";\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\nvar _a, _b, _c;\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { PropertiesPluginIdentifier } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _throwInternal, arrForEach, createProcessTelemetryContext, dumpObj, getExceptionName, isNullOrUndefined, onConfigChange, throwError, unloadComponents } from \"@microsoft/applicationinsights-core-js\";\r\nimport { hasDocument, isObject, objDeepFreeze, objDefineProp, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { _DYN_BEHAVIOR_VALIDATOR, _DYN_CAPTURE_ALL_META_DAT2, _DYN_CONTENT_NAME, _DYN_INDEX_OF, _DYN_PAGE_ACTION_PAGE_TAG0, _DYN_PAGE_NAME, _DYN_TRACK_PAGE_ACTION, _DYN_USE_DEFAULT_CONTENT_1, _DYN__DO_UNLOAD } from \"./__DynamicConstants\";\r\nimport { BehaviorEnumValidator, BehaviorMapValidator, BehaviorValueValidator, DEFAULT_AI_BLOB_ATTRIBUTE_TAG, DEFAULT_DATA_PREFIX, DEFAULT_DONOT_TRACK_TAG } 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 dataTagsDefault = (_a = {},\r\n _a[_DYN_USE_DEFAULT_CONTENT_1 /* @min:useDefaultContentNameOrId */] = false,\r\n _a.aiBlobAttributeTag = DEFAULT_AI_BLOB_ATTRIBUTE_TAG,\r\n _a.customDataPrefix = DEFAULT_DATA_PREFIX,\r\n _a[_DYN_CAPTURE_ALL_META_DAT2 /* @min:captureAllMetaDataContent */] = false,\r\n _a.dntDataTag = DEFAULT_DONOT_TRACK_TAG,\r\n _a.metaDataPrefix = \"\",\r\n _a.parentDataTag = \"\",\r\n _a);\r\nvar coreDataDefault = {\r\n eferrerUri: hasDocument ? document.referrer : \"\",\r\n requestUri: \"\",\r\n pageName: \"\",\r\n pageType: \"\"\r\n};\r\nvar defaultValues = objDeepFreeze((_b = {\r\n autoCapture: true,\r\n callback: (_c = {},\r\n _c[_DYN_PAGE_ACTION_PAGE_TAG0 /* @min:pageActionPageTags */] = null,\r\n _c[_DYN_PAGE_NAME /* @min:pageName */] = null,\r\n _c[_DYN_CONTENT_NAME /* @min:contentName */] = null,\r\n _c),\r\n pageTags: {},\r\n coreData: { set: _setProp, v: coreDataDefault },\r\n dataTags: { set: _setProp, v: dataTagsDefault }\r\n },\r\n _b[_DYN_BEHAVIOR_VALIDATOR /* @min:behaviorValidator */] = function (key) { return key || \"\"; },\r\n _b.defaultRightClickBhvr = \"\",\r\n _b.dropInvalidEvents = false,\r\n _b.urlCollectHash = false,\r\n _b.urlCollectQuery = false,\r\n _b));\r\nfunction _setProp(val, def) {\r\n if (def && isObject(def)) {\r\n objForEachKey(def, function (key, obj) {\r\n val[key] = val[key] || obj;\r\n if (key === \"customDataPrefix\") {\r\n var prefix = val[key];\r\n val[key] = prefix && prefix[_DYN_INDEX_OF /* @min:%2eindexOf */](DEFAULT_DATA_PREFIX) === 0 ? prefix : DEFAULT_DATA_PREFIX;\r\n }\r\n });\r\n }\r\n return val;\r\n}\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 var _autoCapture;\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 _super.prototype.initialize.call(_this, config, core, extensions, pluginChain);\r\n _populateDefaults(config);\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 function _populateDefaults(config) {\r\n var _this = this;\r\n var core = _self.core;\r\n _self._addHook(onConfigChange(config, function (details) {\r\n var config = details.cfg;\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n var _config = ctx.getExtCfg(_identifier, defaultValues);\r\n var logger = _self.diagLog();\r\n _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 if (_autoCaptureHandler) {\r\n _autoCaptureHandler[_DYN__DO_UNLOAD /* @min:%2e_doUnload */]();\r\n }\r\n _autoCaptureHandler = new AutoCaptureHandler(_self, _config, _pageAction, logger);\r\n var autoCapture = !!_config.autoCapture;\r\n if (!_autoCapture && autoCapture) {\r\n _autoCaptureHandler.click();\r\n }\r\n _autoCapture = autoCapture;\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 _autoCapture = false;\r\n // Define _self.config\r\n objDefineProp(self, \"config\", {\r\n configurable: true,\r\n enumerable: true,\r\n get: function () { return _config; }\r\n });\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.2301-02\";\r\n return ClickAnalyticsPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { ClickAnalyticsPlugin };\r\n//# sourceMappingURL=ClickAnalyticsPlugin.js.map"],"names":[],"mappings":";;;;AAAA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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.2301-01
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
package/dist-esm/Enums.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-01
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-02
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.2301-01
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-02
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.2301-01
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -11,26 +11,25 @@
11
11
  // ###########################################################################################################################################
12
12
  // Note: DON'T Export these const from the package as we are still targeting IE this will export a mutable variables that someone could change
13
13
  // ###########################################################################################################################################
14
- export var _DYN_EXTENSION_CONFIG = "extensionConfig"; // Count: 5
15
- export var _DYN_PAGE_ACTION_PAGE_TAG0 = "pageActionPageTags"; // Count: 2
14
+ export var _DYN_INDEX_OF = "indexOf"; // Count: 9
16
15
  export var _DYN_TRACK_PAGE_ACTION = "trackPageAction"; // Count: 4
16
+ export var _DYN_PAGE_ACTION_PAGE_TAG0 = "pageActionPageTags"; // Count: 2
17
+ export var _DYN__DO_UNLOAD = "_doUnload"; // Count: 3
18
+ export var _DYN_USE_DEFAULT_CONTENT_1 = "useDefaultContentNameOrId"; // Count: 5
19
+ export var _DYN_CAPTURE_ALL_META_DAT2 = "captureAllMetaDataContent"; // Count: 3
20
+ export var _DYN_PAGE_NAME = "pageName"; // Count: 9
21
+ export var _DYN_CONTENT_NAME = "contentName"; // Count: 13
22
+ export var _DYN_BEHAVIOR_VALIDATOR = "behaviorValidator"; // Count: 2
17
23
  export var _DYN_LENGTH = "length"; // Count: 5
18
24
  export var _DYN_TAG_NAME = "tagName"; // Count: 4
19
25
  export var _DYN_TO_UPPER_CASE = "toUpperCase"; // Count: 4
20
26
  export var _DYN_PATHNAME = "pathname"; // Count: 3
21
27
  export var _DYN_ADD_EVENT_LISTENER = "addEventListener"; // Count: 2
22
- export var _DYN_PAGE_NAME = "pageName"; // Count: 8
23
28
  export var _DYN_CORE_DATA = "coreData"; // Count: 4
24
29
  export var _DYN_REQUEST_URI = "requestUri"; // Count: 3
25
30
  export var _DYN_GET_ATTRIBUTE = "getAttribute"; // Count: 6
26
31
  export var _DYN_PARENT_NODE = "parentNode"; // Count: 3
27
- export var _DYN_CUSTOM_DATA_PREFIX = "customDataPrefix"; // Count: 6
28
- export var _DYN_INDEX_OF = "indexOf"; // Count: 8
29
- export var _DYN_DATA_TAGS = "dataTags"; // Count: 7
30
- export var _DYN_USE_DEFAULT_CONTENT_1 = "useDefaultContentNameOrId"; // Count: 5
31
- export var _DYN_AI_BLOB_ATTRIBUTE_TA2 = "aiBlobAttributeTag"; // Count: 2
32
- export var _DYN_CAPTURE_ALL_META_DAT3 = "captureAllMetaDataContent"; // Count: 3
33
- export var _DYN_BEHAVIOR_VALIDATOR = "behaviorValidator"; // Count: 2
32
+ export var _DYN_CUSTOM_DATA_PREFIX = "customDataPrefix"; // Count: 3
34
33
  export var _DYN_NAME = "name"; // Count: 8
35
34
  export var _DYN_DATA = "data"; // Count: 15
36
35
  export var _DYN_PAGE_TYPE = "pageType"; // Count: 6
@@ -42,14 +41,14 @@ export var _DYN_CONTENT = "content"; // Count: 4
42
41
  export var _DYN_REF_URI = "refUri"; // Count: 4
43
42
  export var _DYN_PARENT_ID = "parentId"; // Count: 3
44
43
  export var _DYN_CAPTURE_PAGE_ACTION = "capturePageAction"; // Count: 2
45
- export var _DYN_SET_COMMON_PROPERTIE4 = "setCommonProperties"; // Count: 2
44
+ export var _DYN_SET_COMMON_PROPERTIE3 = "setCommonProperties"; // Count: 2
46
45
  export var _DYN_GET_ELEMENT_CONTENT = "getElementContent"; // Count: 2
47
46
  export var _DYN__GET_VALID_BEHAVIOR = "_getValidBehavior"; // Count: 3
48
- export var _DYN_CONTENT_NAME = "contentName"; // Count: 12
49
47
  export var _DYN__TRACE_LOGGER = "_traceLogger"; // Count: 3
50
48
  export var _DYN_CLICK_COORDINATE_X = "clickCoordinateX"; // Count: 3
51
49
  export var _DYN_CLICK_COORDINATE_Y = "clickCoordinateY"; // Count: 3
52
50
  export var _DYN__CONFIG = "_config"; // Count: 9
51
+ export var _DYN_DATA_TAGS = "dataTags"; // Count: 6
53
52
  export var _DYN_PARENT_DATA_TAG = "parentDataTag"; // Count: 3
54
53
  export var _DYN__PAGE_TAGS = "_pageTags"; // Count: 6
55
54
  export var _DYN__PAGE_TAGS_CALLBACK = "_pageTagsCallback"; // Count: 3
@@ -1 +1 @@
1
- {"version":3,"file":"__DynamicConstants.js.map","sources":["__DynamicConstants.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// ###########################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE this will export a mutable variables that someone could change\r\n// ###########################################################################################################################################\r\nexport var _DYN_EXTENSION_CONFIG = \"extensionConfig\"; // Count: 5\r\nexport var _DYN_PAGE_ACTION_PAGE_TAG0 = \"pageActionPageTags\"; // Count: 2\r\nexport var _DYN_TRACK_PAGE_ACTION = \"trackPageAction\"; // Count: 4\r\nexport var _DYN_LENGTH = \"length\"; // Count: 5\r\nexport var _DYN_TAG_NAME = \"tagName\"; // Count: 4\r\nexport var _DYN_TO_UPPER_CASE = \"toUpperCase\"; // Count: 4\r\nexport var _DYN_PATHNAME = \"pathname\"; // Count: 3\r\nexport var _DYN_ADD_EVENT_LISTENER = \"addEventListener\"; // Count: 2\r\nexport var _DYN_PAGE_NAME = \"pageName\"; // Count: 8\r\nexport var _DYN_CORE_DATA = \"coreData\"; // Count: 4\r\nexport var _DYN_REQUEST_URI = \"requestUri\"; // Count: 3\r\nexport var _DYN_GET_ATTRIBUTE = \"getAttribute\"; // Count: 6\r\nexport var _DYN_PARENT_NODE = \"parentNode\"; // Count: 3\r\nexport var _DYN_CUSTOM_DATA_PREFIX = \"customDataPrefix\"; // Count: 6\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 8\r\nexport var _DYN_DATA_TAGS = \"dataTags\"; // Count: 7\r\nexport var _DYN_USE_DEFAULT_CONTENT_1 = \"useDefaultContentNameOrId\"; // Count: 5\r\nexport var _DYN_AI_BLOB_ATTRIBUTE_TA2 = \"aiBlobAttributeTag\"; // Count: 2\r\nexport var _DYN_CAPTURE_ALL_META_DAT3 = \"captureAllMetaDataContent\"; // Count: 3\r\nexport var _DYN_BEHAVIOR_VALIDATOR = \"behaviorValidator\"; // Count: 2\r\nexport var _DYN_NAME = \"name\"; // Count: 8\r\nexport var _DYN_DATA = \"data\"; // Count: 15\r\nexport var _DYN_PAGE_TYPE = \"pageType\"; // Count: 6\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 4\r\nexport var _DYN_ACTION_TYPE = \"actionType\"; // Count: 9\r\nexport var _DYN_BEHAVIOR = \"behavior\"; // Count: 7\r\nexport var _DYN_CLICK_COORDINATES = \"clickCoordinates\"; // Count: 2\r\nexport var _DYN_CONTENT = \"content\"; // Count: 4\r\nexport var _DYN_REF_URI = \"refUri\"; // Count: 4\r\nexport var _DYN_PARENT_ID = \"parentId\"; // Count: 3\r\nexport var _DYN_CAPTURE_PAGE_ACTION = \"capturePageAction\"; // Count: 2\r\nexport var _DYN_SET_COMMON_PROPERTIE4 = \"setCommonProperties\"; // Count: 2\r\nexport var _DYN_GET_ELEMENT_CONTENT = \"getElementContent\"; // Count: 2\r\nexport var _DYN__GET_VALID_BEHAVIOR = \"_getValidBehavior\"; // Count: 3\r\nexport var _DYN_CONTENT_NAME = \"contentName\"; // Count: 12\r\nexport var _DYN__TRACE_LOGGER = \"_traceLogger\"; // Count: 3\r\nexport var _DYN_CLICK_COORDINATE_X = \"clickCoordinateX\"; // Count: 3\r\nexport var _DYN_CLICK_COORDINATE_Y = \"clickCoordinateY\"; // Count: 3\r\nexport var _DYN__CONFIG = \"_config\"; // Count: 9\r\nexport var _DYN_PARENT_DATA_TAG = \"parentDataTag\"; // Count: 3\r\nexport var _DYN__PAGE_TAGS = \"_pageTags\"; // Count: 6\r\nexport var _DYN__PAGE_TAGS_CALLBACK = \"_pageTagsCallback\"; // Count: 3\r\nexport var _DYN__META_TAGS = \"_metaTags\"; // Count: 6\r\nexport var _DYN_SET_BASIC_PROPERTIES = \"setBasicProperties\"; // Count: 2\r\nexport var _DYN__PAGE_TYPE_META_TAG = \"_pageTypeMetaTag\"; // Count: 3\r\nexport var _DYN__BEHAVIOR_META_TAG = \"_behaviorMetaTag\"; // Count: 3\r\nexport var _DYN_PARENT_ELEMENT = \"parentElement\"; // Count: 3\r\nexport var _DYN_ATTRIBUTES = \"attributes\"; // Count: 4\r\n//# sourceMappingURL=__DynamicConstants.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;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"}
1
+ {"version":3,"file":"__DynamicConstants.js.map","sources":["__DynamicConstants.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// ###########################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE this will export a mutable variables that someone could change\r\n// ###########################################################################################################################################\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 9\r\nexport var _DYN_TRACK_PAGE_ACTION = \"trackPageAction\"; // Count: 4\r\nexport var _DYN_PAGE_ACTION_PAGE_TAG0 = \"pageActionPageTags\"; // Count: 2\r\nexport var _DYN__DO_UNLOAD = \"_doUnload\"; // Count: 3\r\nexport var _DYN_USE_DEFAULT_CONTENT_1 = \"useDefaultContentNameOrId\"; // Count: 5\r\nexport var _DYN_CAPTURE_ALL_META_DAT2 = \"captureAllMetaDataContent\"; // Count: 3\r\nexport var _DYN_PAGE_NAME = \"pageName\"; // Count: 9\r\nexport var _DYN_CONTENT_NAME = \"contentName\"; // Count: 13\r\nexport var _DYN_BEHAVIOR_VALIDATOR = \"behaviorValidator\"; // Count: 2\r\nexport var _DYN_LENGTH = \"length\"; // Count: 5\r\nexport var _DYN_TAG_NAME = \"tagName\"; // Count: 4\r\nexport var _DYN_TO_UPPER_CASE = \"toUpperCase\"; // Count: 4\r\nexport var _DYN_PATHNAME = \"pathname\"; // Count: 3\r\nexport var _DYN_ADD_EVENT_LISTENER = \"addEventListener\"; // Count: 2\r\nexport var _DYN_CORE_DATA = \"coreData\"; // Count: 4\r\nexport var _DYN_REQUEST_URI = \"requestUri\"; // Count: 3\r\nexport var _DYN_GET_ATTRIBUTE = \"getAttribute\"; // Count: 6\r\nexport var _DYN_PARENT_NODE = \"parentNode\"; // Count: 3\r\nexport var _DYN_CUSTOM_DATA_PREFIX = \"customDataPrefix\"; // Count: 3\r\nexport var _DYN_NAME = \"name\"; // Count: 8\r\nexport var _DYN_DATA = \"data\"; // Count: 15\r\nexport var _DYN_PAGE_TYPE = \"pageType\"; // Count: 6\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 4\r\nexport var _DYN_ACTION_TYPE = \"actionType\"; // Count: 9\r\nexport var _DYN_BEHAVIOR = \"behavior\"; // Count: 7\r\nexport var _DYN_CLICK_COORDINATES = \"clickCoordinates\"; // Count: 2\r\nexport var _DYN_CONTENT = \"content\"; // Count: 4\r\nexport var _DYN_REF_URI = \"refUri\"; // Count: 4\r\nexport var _DYN_PARENT_ID = \"parentId\"; // Count: 3\r\nexport var _DYN_CAPTURE_PAGE_ACTION = \"capturePageAction\"; // Count: 2\r\nexport var _DYN_SET_COMMON_PROPERTIE3 = \"setCommonProperties\"; // Count: 2\r\nexport var _DYN_GET_ELEMENT_CONTENT = \"getElementContent\"; // Count: 2\r\nexport var _DYN__GET_VALID_BEHAVIOR = \"_getValidBehavior\"; // Count: 3\r\nexport var _DYN__TRACE_LOGGER = \"_traceLogger\"; // Count: 3\r\nexport var _DYN_CLICK_COORDINATE_X = \"clickCoordinateX\"; // Count: 3\r\nexport var _DYN_CLICK_COORDINATE_Y = \"clickCoordinateY\"; // Count: 3\r\nexport var _DYN__CONFIG = \"_config\"; // Count: 9\r\nexport var _DYN_DATA_TAGS = \"dataTags\"; // Count: 6\r\nexport var _DYN_PARENT_DATA_TAG = \"parentDataTag\"; // Count: 3\r\nexport var _DYN__PAGE_TAGS = \"_pageTags\"; // Count: 6\r\nexport var _DYN__PAGE_TAGS_CALLBACK = \"_pageTagsCallback\"; // Count: 3\r\nexport var _DYN__META_TAGS = \"_metaTags\"; // Count: 6\r\nexport var _DYN_SET_BASIC_PROPERTIES = \"setBasicProperties\"; // Count: 2\r\nexport var _DYN__PAGE_TYPE_META_TAG = \"_pageTypeMetaTag\"; // Count: 3\r\nexport var _DYN__BEHAVIOR_META_TAG = \"_behaviorMetaTag\"; // Count: 3\r\nexport var _DYN_PARENT_ELEMENT = \"parentElement\"; // Count: 3\r\nexport var _DYN_ATTRIBUTES = \"attributes\"; // Count: 4\r\n//# sourceMappingURL=__DynamicConstants.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;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"}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-01
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,17 +1,16 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-01
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
6
6
  * @copyright Microsoft 2020
7
7
  * File containing utility functions.
8
8
  */
9
- import { arrForEach, hasDocument, isNullOrUndefined, objExtend } from "@microsoft/applicationinsights-core-js";
10
- import { objHasOwn } from "@nevware21/ts-utils";
11
- import { _DYN_AI_BLOB_ATTRIBUTE_TA2, _DYN_BEHAVIOR_VALIDATOR, _DYN_CAPTURE_ALL_META_DAT3, _DYN_CUSTOM_DATA_PREFIX, _DYN_DATA_TAGS, _DYN_GET_ATTRIBUTE, _DYN_INDEX_OF, _DYN_PAGE_ACTION_PAGE_TAG0, _DYN_PARENT_NODE, _DYN_USE_DEFAULT_CONTENT_1 } from "../__DynamicConstants";
12
- var DEFAULT_DONOT_TRACK_TAG = "ai-dnt";
13
- var DEFAULT_AI_BLOB_ATTRIBUTE_TAG = "ai-blob";
14
- var DEFAULT_DATA_PREFIX = "data-";
9
+ import { arrForEach, isNullOrUndefined } from "@microsoft/applicationinsights-core-js";
10
+ import { _DYN_GET_ATTRIBUTE, _DYN_INDEX_OF, _DYN_PARENT_NODE } from "../__DynamicConstants";
11
+ export var DEFAULT_DONOT_TRACK_TAG = "ai-dnt";
12
+ export var DEFAULT_AI_BLOB_ATTRIBUTE_TAG = "ai-blob";
13
+ export var DEFAULT_DATA_PREFIX = "data-";
15
14
  /**
16
15
  * Finds attributes in overrideConfig which are invalid or should be objects
17
16
  * and deletes them. useful in override config
@@ -20,17 +19,15 @@ var DEFAULT_DATA_PREFIX = "data-";
20
19
  */
21
20
  export function removeNonObjectsAndInvalidElements(overrideConfig, attributeNamesExpectedObjects) {
22
21
  removeInvalidElements(overrideConfig);
23
- for (var i in attributeNamesExpectedObjects) {
24
- if (objHasOwn(attributeNamesExpectedObjects, i)) {
25
- var objectName = attributeNamesExpectedObjects[i];
26
- if (typeof overrideConfig[objectName] === "object") {
27
- removeInvalidElements(overrideConfig[objectName]);
28
- }
29
- else {
30
- delete overrideConfig[objectName];
31
- }
22
+ arrForEach(attributeNamesExpectedObjects, function (i) {
23
+ var objectName = attributeNamesExpectedObjects[i];
24
+ if (typeof overrideConfig[objectName] === "object") {
25
+ removeInvalidElements(overrideConfig[objectName]);
32
26
  }
33
- }
27
+ else {
28
+ delete overrideConfig[objectName];
29
+ }
30
+ });
34
31
  }
35
32
  /**
36
33
  * Finds attributes in object which are invalid
@@ -240,55 +237,7 @@ export function bracketIt(str) {
240
237
  return "[" + str + "]";
241
238
  }
242
239
  export function validateContentNamePrefix(config, defaultDataPrefix) {
243
- return isValueAssigned(config.dataTags[_DYN_CUSTOM_DATA_PREFIX /* @min:%2ecustomDataPrefix */]) && (config[_DYN_DATA_TAGS /* @min:%2edataTags */][_DYN_CUSTOM_DATA_PREFIX /* @min:%2ecustomDataPrefix */][_DYN_INDEX_OF /* @min:%2eindexOf */](defaultDataPrefix) === 0);
244
- }
245
- /**
246
- * Merge passed in configuration with default configuration
247
- * @param overrideConfig
248
- */
249
- export function mergeConfig(overrideConfig) {
250
- var _a, _b, _c;
251
- var defaultConfig = (_a = {
252
- // General library settings
253
- autoCapture: true,
254
- callback: (_b = {},
255
- _b[_DYN_PAGE_ACTION_PAGE_TAG0 /* @min:pageActionPageTags */] = null,
256
- _b),
257
- pageTags: {},
258
- // overrideValues to use instead of collecting automatically
259
- coreData: {
260
- referrerUri: hasDocument ? document.referrer : "",
261
- requestUri: "",
262
- pageName: "",
263
- pageType: ""
264
- },
265
- dataTags: (_c = {},
266
- _c[_DYN_USE_DEFAULT_CONTENT_1 /* @min:useDefaultContentNameOrId */] = false,
267
- _c[_DYN_AI_BLOB_ATTRIBUTE_TA2 /* @min:aiBlobAttributeTag */] = DEFAULT_AI_BLOB_ATTRIBUTE_TAG,
268
- _c[_DYN_CUSTOM_DATA_PREFIX /* @min:customDataPrefix */] = DEFAULT_DATA_PREFIX,
269
- _c[_DYN_CAPTURE_ALL_META_DAT3 /* @min:captureAllMetaDataContent */] = false,
270
- _c.dntDataTag = DEFAULT_DONOT_TRACK_TAG,
271
- _c)
272
- },
273
- _a[_DYN_BEHAVIOR_VALIDATOR /* @min:behaviorValidator */] = function (key) { return key || ""; },
274
- _a.defaultRightClickBhvr = "",
275
- _a.dropInvalidEvents = false,
276
- _a);
277
- var attributesThatAreObjectsInConfig = [];
278
- for (var attribute in defaultConfig) {
279
- if (typeof defaultConfig[attribute] === "object") {
280
- attributesThatAreObjectsInConfig.push(attribute);
281
- }
282
- }
283
- if (overrideConfig) {
284
- // delete attributes that should be object and
285
- // delete properties that are null, undefined, ''
286
- removeNonObjectsAndInvalidElements(overrideConfig, attributesThatAreObjectsInConfig);
287
- if (isValueAssigned(overrideConfig[_DYN_DATA_TAGS /* @min:%2edataTags */])) {
288
- overrideConfig.dataTags[_DYN_CUSTOM_DATA_PREFIX /* @min:%2ecustomDataPrefix */] = validateContentNamePrefix(overrideConfig, DEFAULT_DATA_PREFIX) ? overrideConfig[_DYN_DATA_TAGS /* @min:%2edataTags */][_DYN_CUSTOM_DATA_PREFIX /* @min:%2ecustomDataPrefix */] : DEFAULT_DATA_PREFIX;
289
- }
290
- return objExtend(true, defaultConfig, overrideConfig);
291
- }
240
+ return isValueAssigned(config.dataTags.customDataPrefix) && (config.dataTags.customDataPrefix[_DYN_INDEX_OF /* @min:%2eindexOf */](defaultDataPrefix) === 0);
292
241
  }
293
242
  export function BehaviorMapValidator(map) {
294
243
  return function (key) { return map[key] || ""; };
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js.map","sources":["Utils.js"],"sourcesContent":["/**\r\n* @copyright Microsoft 2020\r\n* File containing utility functions.\r\n*/\r\nimport { arrForEach, hasDocument, isNullOrUndefined, objExtend } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objHasOwn } from \"@nevware21/ts-utils\";\r\nimport { _DYN_AI_BLOB_ATTRIBUTE_TA2, _DYN_BEHAVIOR_VALIDATOR, _DYN_CAPTURE_ALL_META_DAT3, _DYN_CUSTOM_DATA_PREFIX, _DYN_DATA_TAGS, _DYN_GET_ATTRIBUTE, _DYN_INDEX_OF, _DYN_PAGE_ACTION_PAGE_TAG0, _DYN_PARENT_NODE, _DYN_USE_DEFAULT_CONTENT_1 } from \"../__DynamicConstants\";\r\nvar DEFAULT_DONOT_TRACK_TAG = \"ai-dnt\";\r\nvar DEFAULT_AI_BLOB_ATTRIBUTE_TAG = \"ai-blob\";\r\nvar DEFAULT_DATA_PREFIX = \"data-\";\r\n/**\r\n * Finds attributes in overrideConfig which are invalid or should be objects\r\n * and deletes them. useful in override config\r\n * @param overrideConfig - override config object\r\n * @param attributeNamesExpectedObjects - attributes that should be objects in override config object\r\n */\r\nexport function removeNonObjectsAndInvalidElements(overrideConfig, attributeNamesExpectedObjects) {\r\n removeInvalidElements(overrideConfig);\r\n for (var i in attributeNamesExpectedObjects) {\r\n if (objHasOwn(attributeNamesExpectedObjects, i)) {\r\n var objectName = attributeNamesExpectedObjects[i];\r\n if (typeof overrideConfig[objectName] === \"object\") {\r\n removeInvalidElements(overrideConfig[objectName]);\r\n }\r\n else {\r\n delete overrideConfig[objectName];\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * Finds attributes in object which are invalid\r\n * and deletes them. useful in override config\r\n * @param object - Input object\r\n */\r\nexport function removeInvalidElements(object) {\r\n /// Because the config object 'callback' contains only functions,\r\n /// when it is stringified it returns the empty object. This explains\r\n /// the workaround regarding 'callback'\r\n for (var property in object) {\r\n if (!isValueAssigned(object[property]) ||\r\n (JSON.stringify(object[property]) === \"{}\" && (property !== \"callback\"))) {\r\n delete object[property];\r\n }\r\n }\r\n}\r\n/**\r\n * Checks if value is assigned to the given param.\r\n * @param value - The token from which the tenant id is to be extracted.\r\n * @returns True/false denoting if value is assigned to the param.\r\n */\r\nexport function isValueAssigned(value) {\r\n /// <summary> takes a value and checks for undefined, null and empty string </summary>\r\n /// <param type=\"any\"> value to be tested </param>\r\n /// <returns> true if value is null undefined or emptyString </returns>\r\n return !(isNullOrUndefined(value) || value === \"\");\r\n}\r\n/**\r\n * Determines whether an event is a right click or not\r\n * @param evt - Mouse event\r\n * @returns true if the event is a right click\r\n */\r\nexport function isRightClick(evt) {\r\n try {\r\n if (\"which\" in evt) { // Chrome, FF, ...\r\n return (evt.which === 3);\r\n }\r\n else if (\"button\" in evt) { // IE, ...\r\n return (evt.button === 2);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether an event is a left click or not\r\n * @param evt - Mouse event\r\n * @returns true if the event is a left click\r\n */\r\nexport function isLeftClick(evt) {\r\n try {\r\n if (\"which\" in evt) { // Chrome, FF, ...\r\n return (evt.which === 1);\r\n }\r\n else if (\"button\" in evt) { // IE, ...\r\n return (evt.button === 1);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether an event is a middle click or not\r\n * @param evt - Mouse event\r\n * @returns true if the event is a middle click\r\n */\r\nexport function isMiddleClick(evt) {\r\n try {\r\n if (\"which\" in evt) { // Chrome, FF, ...\r\n return (evt.which === 2);\r\n }\r\n else if (\"button\" in evt) { // IE, ...\r\n return (evt.button === 4);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether an event is a keyboard enter or not\r\n * @param evt - Keyboard event\r\n * @returns true if the event is a keyboard enter\r\n */\r\nexport function isKeyboardEnter(evt) {\r\n try {\r\n if (\"keyCode\" in evt) { // Chrome, FF, ...\r\n return (evt.keyCode === 13);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether an event is a keyboard space or not\r\n * @param evt - Keyboard event\r\n * @returns true if the event is a space enter\r\n */\r\nexport function isKeyboardSpace(evt) {\r\n try {\r\n if (\"keyCode\" in evt) { // Chrome, FF, ...\r\n return (evt.keyCode === 32);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether the elemt have a DNT(Do Not Track) tag\r\n * @param element - DOM element\r\n * @param doNotTrackFieldName - DOM element\r\n * @returns true if the element must not be tarcked\r\n */\r\nexport function isElementDnt(element, doNotTrackFieldName) {\r\n var dntElement = findClosestByAttribute(element, doNotTrackFieldName);\r\n if (!isValueAssigned(dntElement)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Walks up DOM tree to find element with attribute\r\n * @param el - DOM element\r\n * @param attribute - Attribute name\r\n * @returns Dom element which contains attribute\r\n */\r\nexport function findClosestByAttribute(el, attribute) {\r\n return walkUpDomChainWithElementValidation(el, isAttributeInElement, attribute);\r\n}\r\n/**\r\n * checks if attribute is in element.\r\n * method checks for empty string, in case the attribute is set but no value is assigned to it\r\n * @param element - DOM element\r\n * @param attributeToLookFor - Attribute name\r\n * @returns true if attribute is in element, even if empty string\r\n */\r\nexport function isAttributeInElement(element, attributeToLookFor) {\r\n var value = element[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */](attributeToLookFor);\r\n return isValueAssigned(value);\r\n}\r\n/**\r\n * Walks up DOM tree to find element which matches validationMethod\r\n * @param el - DOM element\r\n * @param validationMethod - DOM element validation method\r\n * @param validationMethodParam - DOM element validation method parameters\r\n * @returns Dom element which is an anchor\r\n */\r\nexport function walkUpDomChainWithElementValidation(el, validationMethod, validationMethodParam) {\r\n var element = el;\r\n if (element) {\r\n while (!validationMethod(element, validationMethodParam)) {\r\n element = element[_DYN_PARENT_NODE /* @min:%2eparentNode */];\r\n if (!element || !(element[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */])) {\r\n return null;\r\n }\r\n }\r\n return element;\r\n }\r\n}\r\n/**\r\n * Determine if DOM element is an anchor\r\n * @param element - DOM element\r\n * @returns Is element an anchor\r\n */\r\nexport function isElementAnAnchor(element) {\r\n return element.nodeName === \"A\";\r\n}\r\n/**\r\n * Walks up DOM tree to find anchor element\r\n * @param element - DOM element\r\n * @returns Dom element which is an anchor\r\n */\r\nexport function findClosestAnchor(element) {\r\n /// <summary> Walks up DOM tree to find anchor element </summary>\r\n /// <param type='object'> DOM element </param>\r\n /// <returns> Dom element which is an anchor</returns>\r\n return walkUpDomChainWithElementValidation(element, isElementAnAnchor);\r\n}\r\n/**\r\n * Returns the specified field and also removes the property from the object if exists.\r\n * @param obj - Input object\r\n * @param fieldName - >Name of the field/property to be extracted\r\n * @returns Value of the specified tag\r\n */\r\nexport function extractFieldFromObject(obj, fieldName) {\r\n var fieldValue;\r\n if (obj && obj[fieldName]) {\r\n fieldValue = obj[fieldName];\r\n delete obj[fieldName];\r\n }\r\n return fieldValue;\r\n}\r\n/**\r\n * Adds surrounding square brackets to the passed in text\r\n * @param str - Input string\r\n * @returns String with surrounding brackets\r\n */\r\nexport function bracketIt(str) {\r\n /// <summary>\r\n /// Adds surrounding square brackets to the passed in text\r\n /// </summary>\r\n return \"[\" + str + \"]\";\r\n}\r\nexport function validateContentNamePrefix(config, defaultDataPrefix) {\r\n return isValueAssigned(config.dataTags[_DYN_CUSTOM_DATA_PREFIX /* @min:%2ecustomDataPrefix */]) && (config[_DYN_DATA_TAGS /* @min:%2edataTags */][_DYN_CUSTOM_DATA_PREFIX /* @min:%2ecustomDataPrefix */][_DYN_INDEX_OF /* @min:%2eindexOf */](defaultDataPrefix) === 0);\r\n}\r\n/**\r\n * Merge passed in configuration with default configuration\r\n * @param overrideConfig\r\n */\r\nexport function mergeConfig(overrideConfig) {\r\n var _a, _b, _c;\r\n var defaultConfig = (_a = {\r\n // General library settings\r\n autoCapture: true,\r\n callback: (_b = {},\r\n _b[_DYN_PAGE_ACTION_PAGE_TAG0 /* @min:pageActionPageTags */] = null,\r\n _b),\r\n pageTags: {},\r\n // overrideValues to use instead of collecting automatically\r\n coreData: {\r\n referrerUri: hasDocument ? document.referrer : \"\",\r\n requestUri: \"\",\r\n pageName: \"\",\r\n pageType: \"\"\r\n },\r\n dataTags: (_c = {},\r\n _c[_DYN_USE_DEFAULT_CONTENT_1 /* @min:useDefaultContentNameOrId */] = false,\r\n _c[_DYN_AI_BLOB_ATTRIBUTE_TA2 /* @min:aiBlobAttributeTag */] = DEFAULT_AI_BLOB_ATTRIBUTE_TAG,\r\n _c[_DYN_CUSTOM_DATA_PREFIX /* @min:customDataPrefix */] = DEFAULT_DATA_PREFIX,\r\n _c[_DYN_CAPTURE_ALL_META_DAT3 /* @min:captureAllMetaDataContent */] = false,\r\n _c.dntDataTag = DEFAULT_DONOT_TRACK_TAG,\r\n _c)\r\n },\r\n _a[_DYN_BEHAVIOR_VALIDATOR /* @min:behaviorValidator */] = function (key) { return key || \"\"; },\r\n _a.defaultRightClickBhvr = \"\",\r\n _a.dropInvalidEvents = false,\r\n _a);\r\n var attributesThatAreObjectsInConfig = [];\r\n for (var attribute in defaultConfig) {\r\n if (typeof defaultConfig[attribute] === \"object\") {\r\n attributesThatAreObjectsInConfig.push(attribute);\r\n }\r\n }\r\n if (overrideConfig) {\r\n // delete attributes that should be object and\r\n // delete properties that are null, undefined, ''\r\n removeNonObjectsAndInvalidElements(overrideConfig, attributesThatAreObjectsInConfig);\r\n if (isValueAssigned(overrideConfig[_DYN_DATA_TAGS /* @min:%2edataTags */])) {\r\n overrideConfig.dataTags[_DYN_CUSTOM_DATA_PREFIX /* @min:%2ecustomDataPrefix */] = validateContentNamePrefix(overrideConfig, DEFAULT_DATA_PREFIX) ? overrideConfig[_DYN_DATA_TAGS /* @min:%2edataTags */][_DYN_CUSTOM_DATA_PREFIX /* @min:%2ecustomDataPrefix */] : DEFAULT_DATA_PREFIX;\r\n }\r\n return objExtend(true, defaultConfig, overrideConfig);\r\n }\r\n}\r\nexport function BehaviorMapValidator(map) {\r\n return function (key) { return map[key] || \"\"; };\r\n}\r\nexport function BehaviorValueValidator(behaviorArray) {\r\n return function (key) {\r\n var result;\r\n arrForEach(behaviorArray, function (value) {\r\n if (value === key) {\r\n result = value;\r\n return -1;\r\n }\r\n });\r\n return result || \"\";\r\n };\r\n}\r\nexport function BehaviorEnumValidator(enumObj) {\r\n return function (key) { return enumObj[key] || \"\"; };\r\n}\r\n//# sourceMappingURL=Utils.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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":"Utils.js.map","sources":["Utils.js"],"sourcesContent":["/**\r\n* @copyright Microsoft 2020\r\n* File containing utility functions.\r\n*/\r\nimport { arrForEach, isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_GET_ATTRIBUTE, _DYN_INDEX_OF, _DYN_PARENT_NODE } from \"../__DynamicConstants\";\r\nexport var DEFAULT_DONOT_TRACK_TAG = \"ai-dnt\";\r\nexport var DEFAULT_AI_BLOB_ATTRIBUTE_TAG = \"ai-blob\";\r\nexport var DEFAULT_DATA_PREFIX = \"data-\";\r\n/**\r\n * Finds attributes in overrideConfig which are invalid or should be objects\r\n * and deletes them. useful in override config\r\n * @param overrideConfig - override config object\r\n * @param attributeNamesExpectedObjects - attributes that should be objects in override config object\r\n */\r\nexport function removeNonObjectsAndInvalidElements(overrideConfig, attributeNamesExpectedObjects) {\r\n removeInvalidElements(overrideConfig);\r\n arrForEach(attributeNamesExpectedObjects, function (i) {\r\n var objectName = attributeNamesExpectedObjects[i];\r\n if (typeof overrideConfig[objectName] === \"object\") {\r\n removeInvalidElements(overrideConfig[objectName]);\r\n }\r\n else {\r\n delete overrideConfig[objectName];\r\n }\r\n });\r\n}\r\n/**\r\n * Finds attributes in object which are invalid\r\n * and deletes them. useful in override config\r\n * @param object - Input object\r\n */\r\nexport function removeInvalidElements(object) {\r\n /// Because the config object 'callback' contains only functions,\r\n /// when it is stringified it returns the empty object. This explains\r\n /// the workaround regarding 'callback'\r\n for (var property in object) {\r\n if (!isValueAssigned(object[property]) ||\r\n (JSON.stringify(object[property]) === \"{}\" && (property !== \"callback\"))) {\r\n delete object[property];\r\n }\r\n }\r\n}\r\n/**\r\n * Checks if value is assigned to the given param.\r\n * @param value - The token from which the tenant id is to be extracted.\r\n * @returns True/false denoting if value is assigned to the param.\r\n */\r\nexport function isValueAssigned(value) {\r\n /// <summary> takes a value and checks for undefined, null and empty string </summary>\r\n /// <param type=\"any\"> value to be tested </param>\r\n /// <returns> true if value is null undefined or emptyString </returns>\r\n return !(isNullOrUndefined(value) || value === \"\");\r\n}\r\n/**\r\n * Determines whether an event is a right click or not\r\n * @param evt - Mouse event\r\n * @returns true if the event is a right click\r\n */\r\nexport function isRightClick(evt) {\r\n try {\r\n if (\"which\" in evt) { // Chrome, FF, ...\r\n return (evt.which === 3);\r\n }\r\n else if (\"button\" in evt) { // IE, ...\r\n return (evt.button === 2);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether an event is a left click or not\r\n * @param evt - Mouse event\r\n * @returns true if the event is a left click\r\n */\r\nexport function isLeftClick(evt) {\r\n try {\r\n if (\"which\" in evt) { // Chrome, FF, ...\r\n return (evt.which === 1);\r\n }\r\n else if (\"button\" in evt) { // IE, ...\r\n return (evt.button === 1);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether an event is a middle click or not\r\n * @param evt - Mouse event\r\n * @returns true if the event is a middle click\r\n */\r\nexport function isMiddleClick(evt) {\r\n try {\r\n if (\"which\" in evt) { // Chrome, FF, ...\r\n return (evt.which === 2);\r\n }\r\n else if (\"button\" in evt) { // IE, ...\r\n return (evt.button === 4);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether an event is a keyboard enter or not\r\n * @param evt - Keyboard event\r\n * @returns true if the event is a keyboard enter\r\n */\r\nexport function isKeyboardEnter(evt) {\r\n try {\r\n if (\"keyCode\" in evt) { // Chrome, FF, ...\r\n return (evt.keyCode === 13);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether an event is a keyboard space or not\r\n * @param evt - Keyboard event\r\n * @returns true if the event is a space enter\r\n */\r\nexport function isKeyboardSpace(evt) {\r\n try {\r\n if (\"keyCode\" in evt) { // Chrome, FF, ...\r\n return (evt.keyCode === 32);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Determines whether the elemt have a DNT(Do Not Track) tag\r\n * @param element - DOM element\r\n * @param doNotTrackFieldName - DOM element\r\n * @returns true if the element must not be tarcked\r\n */\r\nexport function isElementDnt(element, doNotTrackFieldName) {\r\n var dntElement = findClosestByAttribute(element, doNotTrackFieldName);\r\n if (!isValueAssigned(dntElement)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Walks up DOM tree to find element with attribute\r\n * @param el - DOM element\r\n * @param attribute - Attribute name\r\n * @returns Dom element which contains attribute\r\n */\r\nexport function findClosestByAttribute(el, attribute) {\r\n return walkUpDomChainWithElementValidation(el, isAttributeInElement, attribute);\r\n}\r\n/**\r\n * checks if attribute is in element.\r\n * method checks for empty string, in case the attribute is set but no value is assigned to it\r\n * @param element - DOM element\r\n * @param attributeToLookFor - Attribute name\r\n * @returns true if attribute is in element, even if empty string\r\n */\r\nexport function isAttributeInElement(element, attributeToLookFor) {\r\n var value = element[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */](attributeToLookFor);\r\n return isValueAssigned(value);\r\n}\r\n/**\r\n * Walks up DOM tree to find element which matches validationMethod\r\n * @param el - DOM element\r\n * @param validationMethod - DOM element validation method\r\n * @param validationMethodParam - DOM element validation method parameters\r\n * @returns Dom element which is an anchor\r\n */\r\nexport function walkUpDomChainWithElementValidation(el, validationMethod, validationMethodParam) {\r\n var element = el;\r\n if (element) {\r\n while (!validationMethod(element, validationMethodParam)) {\r\n element = element[_DYN_PARENT_NODE /* @min:%2eparentNode */];\r\n if (!element || !(element[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */])) {\r\n return null;\r\n }\r\n }\r\n return element;\r\n }\r\n}\r\n/**\r\n * Determine if DOM element is an anchor\r\n * @param element - DOM element\r\n * @returns Is element an anchor\r\n */\r\nexport function isElementAnAnchor(element) {\r\n return element.nodeName === \"A\";\r\n}\r\n/**\r\n * Walks up DOM tree to find anchor element\r\n * @param element - DOM element\r\n * @returns Dom element which is an anchor\r\n */\r\nexport function findClosestAnchor(element) {\r\n /// <summary> Walks up DOM tree to find anchor element </summary>\r\n /// <param type='object'> DOM element </param>\r\n /// <returns> Dom element which is an anchor</returns>\r\n return walkUpDomChainWithElementValidation(element, isElementAnAnchor);\r\n}\r\n/**\r\n * Returns the specified field and also removes the property from the object if exists.\r\n * @param obj - Input object\r\n * @param fieldName - >Name of the field/property to be extracted\r\n * @returns Value of the specified tag\r\n */\r\nexport function extractFieldFromObject(obj, fieldName) {\r\n var fieldValue;\r\n if (obj && obj[fieldName]) {\r\n fieldValue = obj[fieldName];\r\n delete obj[fieldName];\r\n }\r\n return fieldValue;\r\n}\r\n/**\r\n * Adds surrounding square brackets to the passed in text\r\n * @param str - Input string\r\n * @returns String with surrounding brackets\r\n */\r\nexport function bracketIt(str) {\r\n /// <summary>\r\n /// Adds surrounding square brackets to the passed in text\r\n /// </summary>\r\n return \"[\" + str + \"]\";\r\n}\r\nexport function validateContentNamePrefix(config, defaultDataPrefix) {\r\n return isValueAssigned(config.dataTags.customDataPrefix) && (config.dataTags.customDataPrefix[_DYN_INDEX_OF /* @min:%2eindexOf */](defaultDataPrefix) === 0);\r\n}\r\nexport function BehaviorMapValidator(map) {\r\n return function (key) { return map[key] || \"\"; };\r\n}\r\nexport function BehaviorValueValidator(behaviorArray) {\r\n return function (key) {\r\n var result;\r\n arrForEach(behaviorArray, function (value) {\r\n if (value === key) {\r\n result = value;\r\n return -1;\r\n }\r\n });\r\n return result || \"\";\r\n };\r\n}\r\nexport function BehaviorEnumValidator(enumObj) {\r\n return function (key) { return enumObj[key] || \"\"; };\r\n}\r\n//# sourceMappingURL=Utils.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-01
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2301-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  /**
@@ -10,7 +10,7 @@ import dynamicProto from "@microsoft/dynamicproto-js";
10
10
  import { strNotSpecified } from "@microsoft/applicationinsights-common";
11
11
  import { _throwInternal, getPerformance, objExtend, objForEachKey } from "@microsoft/applicationinsights-core-js";
12
12
  import { getClickTarget } from "../DataCollector";
13
- import { _DYN_ACTION_TYPE, _DYN_BEHAVIOR, _DYN_CAPTURE_PAGE_ACTION, _DYN_CLICK_COORDINATES, _DYN_CLICK_COORDINATE_X, _DYN_CLICK_COORDINATE_Y, _DYN_CONTENT, _DYN_CONTENT_NAME, _DYN_CORE_DATA, _DYN_DATA, _DYN_DATA_TAGS, _DYN_GET_ELEMENT_CONTENT, _DYN_NAME, _DYN_PAGE_NAME, _DYN_PAGE_TYPE, _DYN_PARENT_DATA_TAG, _DYN_PARENT_ID, _DYN_PROPERTIES, _DYN_REF_URI, _DYN_SET_COMMON_PROPERTIE4, _DYN_TRACK_PAGE_ACTION, _DYN__CONFIG, _DYN__GET_VALID_BEHAVIOR, _DYN__TRACE_LOGGER } from "../__DynamicConstants";
13
+ import { _DYN_ACTION_TYPE, _DYN_BEHAVIOR, _DYN_CAPTURE_PAGE_ACTION, _DYN_CLICK_COORDINATES, _DYN_CLICK_COORDINATE_X, _DYN_CLICK_COORDINATE_Y, _DYN_CONTENT, _DYN_CONTENT_NAME, _DYN_CORE_DATA, _DYN_DATA, _DYN_DATA_TAGS, _DYN_GET_ELEMENT_CONTENT, _DYN_NAME, _DYN_PAGE_NAME, _DYN_PAGE_TYPE, _DYN_PARENT_DATA_TAG, _DYN_PARENT_ID, _DYN_PROPERTIES, _DYN_REF_URI, _DYN_SET_COMMON_PROPERTIE3, _DYN_TRACK_PAGE_ACTION, _DYN__CONFIG, _DYN__GET_VALID_BEHAVIOR, _DYN__TRACE_LOGGER } from "../__DynamicConstants";
14
14
  import { bracketIt, extractFieldFromObject, isValueAssigned } from "../common/Utils";
15
15
  import { WebEvent } from "./WebEvent";
16
16
  var PageAction = /** @class */ (function (_super) {
@@ -63,7 +63,7 @@ var PageAction = /** @class */ (function (_super) {
63
63
  overrideValues = !isValueAssigned(overrideValues) ? {} : overrideValues;
64
64
  var pageActionEvent = { name: "" };
65
65
  var pageActionProperties = isValueAssigned(customProperties) ? customProperties : {};
66
- _self[_DYN_SET_COMMON_PROPERTIE4 /* @min:%2esetCommonProperties */](pageActionEvent, overrideValues);
66
+ _self[_DYN_SET_COMMON_PROPERTIE3 /* @min:%2esetCommonProperties */](pageActionEvent, overrideValues);
67
67
  pageActionEvent[_DYN_BEHAVIOR /* @min:%2ebehavior */] = _self._getBehavior(overrideValues);
68
68
  // element in scope is needed for below properties. We cannot pass element into the plugin call chain.
69
69
  // process them here.
@@ -88,7 +88,7 @@ var PageAction = /** @class */ (function (_super) {
88
88
  _throwInternal(_self[_DYN__TRACE_LOGGER /* @min:%2e_traceLogger */], 2 /* eLoggingSeverity.WARNING */, 102 /* _eInternalMessageId.InvalidContentBlob */, "Missing attributes id or contentName in click event. Click event information will still be collected!");
89
89
  }
90
90
  }
91
- pageActionEvent[_DYN_NAME /* @min:%2ename */] = elementContent.id || elementContent[_DYN_CONTENT_NAME /* @min:%2econtentName */] || strNotSpecified;
91
+ pageActionEvent.name = elementContent.id || elementContent[_DYN_CONTENT_NAME /* @min:%2econtentName */] || strNotSpecified;
92
92
  pageActionEvent[_DYN_PARENT_ID /* @min:%2eparentId */] = elementContent.parentid || elementContent.parentName || strNotSpecified;
93
93
  if (isValueAssigned(overrideValues[_DYN_ACTION_TYPE /* @min:%2eactionType */])) {
94
94
  pageActionEvent[_DYN_ACTION_TYPE /* @min:%2eactionType */] = overrideValues[_DYN_ACTION_TYPE /* @min:%2eactionType */];
@@ -126,8 +126,8 @@ var PageAction = /** @class */ (function (_super) {
126
126
  delete pageActionContent.id;
127
127
  delete pageActionContent.parentid;
128
128
  delete pageActionContent.parentname;
129
- if (_self._config && _self._config[_DYN_DATA_TAGS /* @min:%2edataTags */] && isValueAssigned(_self[_DYN__CONFIG /* @min:%2e_config */][_DYN_DATA_TAGS /* @min:%2edataTags */][_DYN_PARENT_DATA_TAG /* @min:%2eparentDataTag */])) {
130
- delete pageActionContent[_self._config[_DYN_DATA_TAGS /* @min:%2edataTags */].parentDataTag];
129
+ if (_self[_DYN__CONFIG /* @min:%2e_config */] && _self[_DYN__CONFIG /* @min:%2e_config */][_DYN_DATA_TAGS /* @min:%2edataTags */] && isValueAssigned(_self[_DYN__CONFIG /* @min:%2e_config */][_DYN_DATA_TAGS /* @min:%2edataTags */][_DYN_PARENT_DATA_TAG /* @min:%2eparentDataTag */])) {
130
+ delete pageActionContent[_self[_DYN__CONFIG /* @min:%2e_config */][_DYN_DATA_TAGS /* @min:%2edataTags */].parentDataTag];
131
131
  }
132
132
  }
133
133
  }