@microsoft/applicationinsights-clickanalytics-js 3.4.6-nightly3.2610-15 → 3.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/browser/es5/{ai.clck.3.4.6-nightly3.2610-15.cjs.js → ai.clck.3.4.6.cjs.js} +27 -21
- package/browser/es5/ai.clck.3.4.6.cjs.js.map +1 -0
- package/browser/es5/ai.clck.3.4.6.cjs.min.js +6 -0
- package/browser/es5/ai.clck.3.4.6.cjs.min.js.map +1 -0
- package/browser/es5/{ai.clck.3.4.6-nightly3.2610-15.gbl.js → ai.clck.3.4.6.gbl.js} +29 -23
- package/browser/es5/ai.clck.3.4.6.gbl.js.map +1 -0
- package/browser/es5/ai.clck.3.4.6.gbl.min.js +6 -0
- package/browser/es5/ai.clck.3.4.6.gbl.min.js.map +1 -0
- package/browser/es5/ai.clck.3.4.6.integrity.json +66 -0
- package/browser/es5/{ai.clck.3.4.6-nightly3.2610-15.js → ai.clck.3.4.6.js} +29 -23
- package/browser/es5/ai.clck.3.4.6.js.map +1 -0
- package/browser/es5/ai.clck.3.4.6.min.js +6 -0
- package/browser/es5/ai.clck.3.4.6.min.js.map +1 -0
- package/browser/es5/ai.clck.3.cjs.js +26 -20
- package/browser/es5/ai.clck.3.cjs.js.map +1 -1
- package/browser/es5/ai.clck.3.cjs.min.js +2 -2
- package/browser/es5/ai.clck.3.cjs.min.js.map +1 -1
- package/browser/es5/ai.clck.3.gbl.js +28 -22
- package/browser/es5/ai.clck.3.gbl.js.map +1 -1
- package/browser/es5/ai.clck.3.gbl.min.js +2 -2
- package/browser/es5/ai.clck.3.gbl.min.js.map +1 -1
- package/browser/es5/ai.clck.3.integrity.json +25 -25
- package/browser/es5/ai.clck.3.js +28 -22
- package/browser/es5/ai.clck.3.js.map +1 -1
- package/browser/es5/ai.clck.3.min.js +2 -2
- package/browser/es5/ai.clck.3.min.js.map +1 -1
- package/dist/es5/applicationinsights-clickanalytics-js.js +26 -20
- package/dist/es5/applicationinsights-clickanalytics-js.js.map +1 -1
- package/dist/es5/applicationinsights-clickanalytics-js.min.js +2 -2
- package/dist/es5/applicationinsights-clickanalytics-js.min.js.map +1 -1
- package/dist-es5/Behaviours.js +1 -1
- package/dist-es5/ClickAnalyticsPlugin.js +5 -7
- package/dist-es5/ClickAnalyticsPlugin.js.map +1 -1
- package/dist-es5/DataCollector.js +3 -3
- package/dist-es5/DataCollector.js.map +1 -1
- package/dist-es5/Enums.js +1 -1
- package/dist-es5/Interfaces/Datamodel.js +1 -1
- package/dist-es5/__DynamicConstants.js +3 -4
- package/dist-es5/__DynamicConstants.js.map +1 -1
- package/dist-es5/applicationinsights-clickanalytics-js.js +1 -1
- package/dist-es5/common/Utils.js +1 -1
- package/dist-es5/events/PageAction.js +1 -1
- package/dist-es5/events/WebEvent.js +1 -1
- package/dist-es5/handlers/AutoCaptureHandler.js +13 -8
- package/dist-es5/handlers/AutoCaptureHandler.js.map +1 -1
- package/dist-es5/handlers/DomContentHandler.js +11 -4
- package/dist-es5/handlers/DomContentHandler.js.map +1 -1
- package/package.json +70 -73
- package/types/applicationinsights-clickanalytics-js.d.ts +12 -1
- package/types/applicationinsights-clickanalytics-js.namespaced.d.ts +23 -1
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.cjs.js.map +0 -1
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.cjs.min.js +0 -6
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.cjs.min.js.map +0 -1
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.gbl.js.map +0 -1
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.gbl.min.js +0 -6
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.gbl.min.js.map +0 -1
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.integrity.json +0 -66
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.js.map +0 -1
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.min.js +0 -6
- package/browser/es5/ai.clck.3.4.6-nightly3.2610-15.min.js.map +0 -1
package/README.md
CHANGED
|
@@ -130,6 +130,14 @@ appInsights.loadAppInsights();
|
|
|
130
130
|
| [behaviorValidator](https://microsoft.github.io/ApplicationInsights-JS/webSdk/applicationinsights-clickanalytics-js/interfaces/IClickAnalyticsConfiguration.html#behaviorValidator) | Function | null | Callback function to use for the `data-*-bhvr` value validation. For more information, go to [behaviorValidator section](#behaviorvalidator).|
|
|
131
131
|
| [defaultRightClickBhvr](https://microsoft.github.io/ApplicationInsights-JS/webSdk/applicationinsights-clickanalytics-js/interfaces/IClickAnalyticsConfiguration.html#defaultRightClickBhvr) | string (or) number | '' | Default Behavior value when Right Click event has occurred. This value will be overridden if the element has the `data-*-bhvr` attribute. |
|
|
132
132
|
| [dropInvalidEvents](https://microsoft.github.io/ApplicationInsights-JS/webSdk/applicationinsights-clickanalytics-js/interfaces/IClickAnalyticsConfiguration.html#dropInvalidEvents) | boolean | false | Flag to drop events that do not have useful click data. |
|
|
133
|
+
| [trackElementTypes](https://microsoft.github.io/ApplicationInsights-JS/webSdk/applicationinsights-clickanalytics-js/interfaces/IClickAnalyticsConfiguration.html#trackElementTypes) | string | "A,BUTTON,AREA,INPUT" | Comma separated list of element tag names that are automatically captured. |
|
|
134
|
+
| [trackInputTypes](https://microsoft.github.io/ApplicationInsights-JS/webSdk/applicationinsights-clickanalytics-js/interfaces/IClickAnalyticsConfiguration.html#trackInputTypes) | string | "BUTTON,CHECKBOX,RADIO,RESET,SUBMIT" | Comma separated list of `<input>` `type` values that are automatically captured when `INPUT` is included in `trackElementTypes`. See [Input element capture](#input-element-capture). |
|
|
135
|
+
|
|
136
|
+
### Input element capture
|
|
137
|
+
|
|
138
|
+
Including `INPUT` in `trackElementTypes` does not capture clicks on every `<input>` element. Only inputs whose `type` is listed in `trackInputTypes` are automatically captured, by default `button`, `checkbox`, `radio`, `reset` and `submit`. Clicks on other input types such as `text`, `email`, `number` or `search` (and inputs without a `type` attribute, which default to `text`) are ignored.
|
|
139
|
+
|
|
140
|
+
You can add other input types, for example `trackInputTypes: "BUTTON,CHECKBOX,RADIO,RESET,SUBMIT,TEXT,SEARCH"`. To avoid collecting user entered data, the plugin never uses the `value` of these additional input types as the default content name; it falls back to the `name`, `alt` or `id` attribute instead. Review the data your application tags with `data-*` attributes before enabling additional input types.
|
|
133
141
|
|
|
134
142
|
### [IValueCallback](https://microsoft.github.io/ApplicationInsights-JS/webSdk/applicationinsights-clickanalytics-js/interfaces/IValueCallback.html)
|
|
135
143
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Click Analytics, 3.4.6
|
|
2
|
+
* Application Insights JavaScript SDK - Click Analytics, 3.4.6
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
'use strict';
|
|
@@ -1700,7 +1700,7 @@ function newId(maxLength) {
|
|
|
1700
1700
|
return result;
|
|
1701
1701
|
}
|
|
1702
1702
|
|
|
1703
|
-
var version = '3.4.6
|
|
1703
|
+
var version = '3.4.6';
|
|
1704
1704
|
var instanceName = "." + newId(6);
|
|
1705
1705
|
var _dataUid = 0;
|
|
1706
1706
|
function _canAcceptData(target) {
|
|
@@ -3445,7 +3445,6 @@ var _DYN_CAPTURE_ALL_META_DAT1 = "captureAllMetaDataContent";
|
|
|
3445
3445
|
var _DYN_META_DATA_PREFIX = "metaDataPrefix";
|
|
3446
3446
|
var _DYN_PARENT_DATA_TAG = "parentDataTag";
|
|
3447
3447
|
var _DYN_DEFAULT_RIGHT_CLICK_2 = "defaultRightClickBhvr";
|
|
3448
|
-
var _DYN_TAG_NAME = "tagName";
|
|
3449
3448
|
var _DYN_TO_UPPER_CASE = "toUpperCase";
|
|
3450
3449
|
var _DYN_PAGE_NAME = "pageName";
|
|
3451
3450
|
var _DYN_CORE_DATA = "coreData";
|
|
@@ -3606,7 +3605,7 @@ function BehaviorEnumValidator(enumObj) {
|
|
|
3606
3605
|
return function (key) { return enumObj[key] || ""; };
|
|
3607
3606
|
}
|
|
3608
3607
|
|
|
3609
|
-
var clickCaptureInputTypes
|
|
3608
|
+
var clickCaptureInputTypes = { BUTTON: true, CHECKBOX: true, RADIO: true, RESET: true, SUBMIT: true };
|
|
3610
3609
|
function getImageHref(element) {
|
|
3611
3610
|
var temp = element;
|
|
3612
3611
|
if (temp) {
|
|
@@ -3625,7 +3624,7 @@ function getImageHref(element) {
|
|
|
3625
3624
|
}
|
|
3626
3625
|
function getClickTarget(element) {
|
|
3627
3626
|
var clickTarget = "";
|
|
3628
|
-
switch (element
|
|
3627
|
+
switch (element.tagName) {
|
|
3629
3628
|
case "A":
|
|
3630
3629
|
case "AREA":
|
|
3631
3630
|
clickTarget = element.href || "";
|
|
@@ -3635,7 +3634,7 @@ function getClickTarget(element) {
|
|
|
3635
3634
|
break;
|
|
3636
3635
|
case "INPUT":
|
|
3637
3636
|
var type = element.type;
|
|
3638
|
-
if (type && (clickCaptureInputTypes
|
|
3637
|
+
if (type && (clickCaptureInputTypes[type[_DYN_TO_UPPER_CASE ]()])) {
|
|
3639
3638
|
var loc = getLocation() || {};
|
|
3640
3639
|
if (element.form) {
|
|
3641
3640
|
clickTarget = element.form.action || (loc.pathname || "");
|
|
@@ -3891,7 +3890,9 @@ var ActionType = {
|
|
|
3891
3890
|
OTHER: "O"
|
|
3892
3891
|
};
|
|
3893
3892
|
|
|
3894
|
-
|
|
3893
|
+
function _parseTypes(value) {
|
|
3894
|
+
return arrMap((value || "")[_DYN_TO_UPPER_CASE ]().split(","), function (tag) { return strTrim(tag); });
|
|
3895
|
+
}
|
|
3895
3896
|
var AutoCaptureHandler = /** @class */ (function () {
|
|
3896
3897
|
function AutoCaptureHandler(_analyticsPlugin, _config, _pageAction, _traceLogger) {
|
|
3897
3898
|
this._analyticsPlugin = _analyticsPlugin;
|
|
@@ -3900,8 +3901,10 @@ var AutoCaptureHandler = /** @class */ (function () {
|
|
|
3900
3901
|
this._traceLogger = _traceLogger;
|
|
3901
3902
|
var _evtNamespace = mergeEvtNamespace(createUniqueNamespace("AutoCaptureHandler"), _analyticsPlugin._evtNamespace);
|
|
3902
3903
|
var _clickCaptureElements;
|
|
3904
|
+
var _clickCaptureInputTypes;
|
|
3903
3905
|
var unloadHandler = onConfigChange(_config, function () {
|
|
3904
|
-
_clickCaptureElements =
|
|
3906
|
+
_clickCaptureElements = _parseTypes(_config.trackElementTypes);
|
|
3907
|
+
_clickCaptureInputTypes = _parseTypes(_config.trackInputTypes);
|
|
3905
3908
|
});
|
|
3906
3909
|
dynamicProto(AutoCaptureHandler, this, function (_self) {
|
|
3907
3910
|
_self.click = function () {
|
|
@@ -3960,17 +3963,18 @@ var AutoCaptureHandler = /** @class */ (function () {
|
|
|
3960
3963
|
else {
|
|
3961
3964
|
return;
|
|
3962
3965
|
}
|
|
3963
|
-
while (element && element
|
|
3964
|
-
if (element.control && arrIncludes(_clickCaptureElements, element.control[
|
|
3966
|
+
while (element && element.tagName) {
|
|
3967
|
+
if (element.control && arrIncludes(_clickCaptureElements, element.control.tagName[_DYN_TO_UPPER_CASE ]())) {
|
|
3965
3968
|
element = element.control;
|
|
3966
3969
|
}
|
|
3967
|
-
var tagNameUpperCased = element[
|
|
3970
|
+
var tagNameUpperCased = element.tagName[_DYN_TO_UPPER_CASE ]();
|
|
3968
3971
|
if (!arrIncludes(_clickCaptureElements, tagNameUpperCased)) {
|
|
3969
3972
|
element = element.parentElement || element[_DYN_PARENT_NODE ];
|
|
3970
3973
|
continue;
|
|
3971
3974
|
}
|
|
3972
3975
|
else {
|
|
3973
|
-
var sendEvent = tagNameUpperCased === "INPUT" ?
|
|
3976
|
+
var sendEvent = tagNameUpperCased === "INPUT" ?
|
|
3977
|
+
arrIncludes(_clickCaptureInputTypes, (element.type || "")[_DYN_TO_UPPER_CASE ]()) : true;
|
|
3974
3978
|
if (sendEvent) {
|
|
3975
3979
|
_capturePageAction(element, overrideValues, {}, isRightClickObj);
|
|
3976
3980
|
}
|
|
@@ -3986,6 +3990,7 @@ var AutoCaptureHandler = /** @class */ (function () {
|
|
|
3986
3990
|
}());
|
|
3987
3991
|
|
|
3988
3992
|
var MAX_CONTENTNAME_LENGTH = 200;
|
|
3993
|
+
var valueSafeInputTypes = { BUTTON: true, CHECKBOX: true, RADIO: true, RESET: true, SUBMIT: true };
|
|
3989
3994
|
var DomContentHandler = /** @class */ (function () {
|
|
3990
3995
|
function DomContentHandler(_config, _traceLogger) {
|
|
3991
3996
|
this._config = _config;
|
|
@@ -4140,12 +4145,12 @@ var DomContentHandler = /** @class */ (function () {
|
|
|
4140
4145
|
return metaData;
|
|
4141
4146
|
}
|
|
4142
4147
|
function _getDefaultContentName(element, useDefaultContentName) {
|
|
4143
|
-
if (useDefaultContentName === false || !element
|
|
4148
|
+
if (useDefaultContentName === false || !element.tagName) {
|
|
4144
4149
|
return "";
|
|
4145
4150
|
}
|
|
4146
4151
|
var doc = getDocument() || {};
|
|
4147
4152
|
var contentName;
|
|
4148
|
-
switch (element[
|
|
4153
|
+
switch (element.tagName[_DYN_TO_UPPER_CASE ]()) {
|
|
4149
4154
|
case "A":
|
|
4150
4155
|
contentName = doc.all ? element.innerText || element.innerHTML : element.text || element.innerHTML;
|
|
4151
4156
|
break;
|
|
@@ -4153,6 +4158,10 @@ var DomContentHandler = /** @class */ (function () {
|
|
|
4153
4158
|
case "AREA":
|
|
4154
4159
|
contentName = element.alt;
|
|
4155
4160
|
break;
|
|
4161
|
+
case "INPUT":
|
|
4162
|
+
contentName = (valueSafeInputTypes[(element.type || "")[_DYN_TO_UPPER_CASE ]()] ? element.value : "") ||
|
|
4163
|
+
element[_DYN_NAME ] || element.alt || element.id;
|
|
4164
|
+
break;
|
|
4156
4165
|
default:
|
|
4157
4166
|
contentName = element.value || element[_DYN_NAME ] || element.alt || element.innerText || element.id;
|
|
4158
4167
|
}
|
|
@@ -4267,6 +4276,7 @@ var defaultValues = objDeepFreeze((_a = {
|
|
|
4267
4276
|
_a.urlCollectHash = false,
|
|
4268
4277
|
_a.urlCollectQuery = false,
|
|
4269
4278
|
_a.trackElementTypes = cfgDfString("A,BUTTON,AREA,INPUT"),
|
|
4279
|
+
_a.trackInputTypes = cfgDfString("BUTTON,CHECKBOX,RADIO,RESET,SUBMIT"),
|
|
4270
4280
|
_a));
|
|
4271
4281
|
function _dataPrefixChk(val) {
|
|
4272
4282
|
return val && val[_DYN_INDEX_OF ](DEFAULT_DATA_PREFIX) === 0;
|
|
@@ -4280,7 +4290,6 @@ var ClickAnalyticsPlugin = /** @class */ (function (_super) {
|
|
|
4280
4290
|
var _pageAction;
|
|
4281
4291
|
var _autoCaptureHandler;
|
|
4282
4292
|
var _contentHandler;
|
|
4283
|
-
var _autoCapture;
|
|
4284
4293
|
dynamicProto(ClickAnalyticsPlugin, _this, function (_self, _base) {
|
|
4285
4294
|
var _identifier = _self.identifier;
|
|
4286
4295
|
_initDefaults();
|
|
@@ -4339,23 +4348,20 @@ var ClickAnalyticsPlugin = /** @class */ (function (_super) {
|
|
|
4339
4348
|
_autoCaptureHandler._doUnload();
|
|
4340
4349
|
}
|
|
4341
4350
|
_autoCaptureHandler = new AutoCaptureHandler(_self, _config, _pageAction, logger);
|
|
4342
|
-
|
|
4343
|
-
if (!_autoCapture && autoCapture) {
|
|
4351
|
+
if (_config.autoCapture) {
|
|
4344
4352
|
_autoCaptureHandler.click();
|
|
4345
4353
|
}
|
|
4346
|
-
_autoCapture = autoCapture;
|
|
4347
4354
|
}));
|
|
4348
4355
|
}
|
|
4349
4356
|
function _initDefaults() {
|
|
4350
4357
|
_pageAction = null;
|
|
4351
4358
|
_autoCaptureHandler = null;
|
|
4352
4359
|
_contentHandler = null;
|
|
4353
|
-
_autoCapture = false;
|
|
4354
4360
|
}
|
|
4355
4361
|
});
|
|
4356
4362
|
return _this;
|
|
4357
4363
|
}
|
|
4358
|
-
ClickAnalyticsPlugin.Version = '3.4.6
|
|
4364
|
+
ClickAnalyticsPlugin.Version = '3.4.6';
|
|
4359
4365
|
return ClickAnalyticsPlugin;
|
|
4360
4366
|
}(BaseTelemetryPlugin));
|
|
4361
4367
|
|
|
@@ -4363,4 +4369,4 @@ exports.BehaviorEnumValidator = BehaviorEnumValidator;
|
|
|
4363
4369
|
exports.BehaviorMapValidator = BehaviorMapValidator;
|
|
4364
4370
|
exports.BehaviorValueValidator = BehaviorValueValidator;
|
|
4365
4371
|
exports.ClickAnalyticsPlugin = ClickAnalyticsPlugin;
|
|
4366
|
-
//# sourceMappingURL=ai.clck.3.4.6
|
|
4372
|
+
//# sourceMappingURL=ai.clck.3.4.6.cjs.js.map
|