@microsoft/applicationinsights-clickanalytics-js 2.8.0-beta.2203-09 → 2.8.0-beta.2203-10

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 (66) hide show
  1. package/browser/{ai.clck.2.8.0-beta.2203-09.cjs.js → ai.clck.2.8.0-beta.2203-10.cjs.js} +36 -16
  2. package/browser/ai.clck.2.8.0-beta.2203-10.cjs.js.map +1 -0
  3. package/browser/{ai.clck.2.8.0-beta.2203-09.cjs.min.js → ai.clck.2.8.0-beta.2203-10.cjs.min.js} +3 -3
  4. package/browser/ai.clck.2.8.0-beta.2203-10.cjs.min.js.map +1 -0
  5. package/browser/{ai.clck.2.8.0-beta.2203-09.gbl.js → ai.clck.2.8.0-beta.2203-10.gbl.js} +36 -16
  6. package/browser/ai.clck.2.8.0-beta.2203-10.gbl.js.map +1 -0
  7. package/browser/{ai.clck.2.8.0-beta.2203-09.gbl.min.js → ai.clck.2.8.0-beta.2203-10.gbl.min.js} +3 -3
  8. package/browser/ai.clck.2.8.0-beta.2203-10.gbl.min.js.map +1 -0
  9. package/browser/ai.clck.2.8.0-beta.2203-10.integrity.json +66 -0
  10. package/browser/{ai.clck.2.8.0-beta.2203-09.js → ai.clck.2.8.0-beta.2203-10.js} +36 -16
  11. package/browser/ai.clck.2.8.0-beta.2203-10.js.map +1 -0
  12. package/browser/{ai.clck.2.8.0-beta.2203-09.min.js → ai.clck.2.8.0-beta.2203-10.min.js} +3 -3
  13. package/browser/ai.clck.2.8.0-beta.2203-10.min.js.map +1 -0
  14. package/browser/ai.clck.2.cjs.js +35 -15
  15. package/browser/ai.clck.2.cjs.js.map +1 -1
  16. package/browser/ai.clck.2.cjs.min.js +2 -2
  17. package/browser/ai.clck.2.cjs.min.js.map +1 -1
  18. package/browser/ai.clck.2.gbl.js +35 -15
  19. package/browser/ai.clck.2.gbl.js.map +1 -1
  20. package/browser/ai.clck.2.gbl.min.js +2 -2
  21. package/browser/ai.clck.2.gbl.min.js.map +1 -1
  22. package/browser/ai.clck.2.js +35 -15
  23. package/browser/ai.clck.2.js.map +1 -1
  24. package/browser/ai.clck.2.min.js +2 -2
  25. package/browser/ai.clck.2.min.js.map +1 -1
  26. package/dist/applicationinsights-clickanalytics-js.d.ts +1 -1
  27. package/dist/applicationinsights-clickanalytics-js.js +35 -15
  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 +2 -2
  34. package/dist-esm/ClickAnalyticsPlugin.js.map +1 -1
  35. package/dist-esm/DataCollector.js +4 -2
  36. package/dist-esm/DataCollector.js.map +1 -1
  37. package/dist-esm/Enums.js +1 -1
  38. package/dist-esm/Interfaces/Datamodel.js +1 -1
  39. package/dist-esm/applicationinsights-clickanalytics-js.js +1 -1
  40. package/dist-esm/common/Utils.js +1 -1
  41. package/dist-esm/events/PageAction.js +5 -3
  42. package/dist-esm/events/PageAction.js.map +1 -1
  43. package/dist-esm/events/WebEvent.js +2 -2
  44. package/dist-esm/events/WebEvent.js.map +1 -1
  45. package/dist-esm/handlers/AutoCaptureHandler.js +13 -5
  46. package/dist-esm/handlers/AutoCaptureHandler.js.map +1 -1
  47. package/dist-esm/handlers/DomContentHandler.js +12 -8
  48. package/dist-esm/handlers/DomContentHandler.js.map +1 -1
  49. package/package.json +4 -4
  50. package/src/ClickAnalyticsPlugin.ts +3 -3
  51. package/src/DataCollector.ts +24 -22
  52. package/src/Interfaces/Datamodel.ts +3 -3
  53. package/src/common/Utils.ts +8 -8
  54. package/src/events/PageAction.ts +5 -2
  55. package/src/events/WebEvent.ts +3 -4
  56. package/src/handlers/AutoCaptureHandler.ts +13 -5
  57. package/src/handlers/DomContentHandler.ts +24 -17
  58. package/types/Interfaces/Datamodel.d.ts +4 -4
  59. package/types/handlers/DomContentHandler.d.ts +2 -2
  60. package/browser/ai.clck.2.8.0-beta.2203-09.cjs.js.map +0 -1
  61. package/browser/ai.clck.2.8.0-beta.2203-09.cjs.min.js.map +0 -1
  62. package/browser/ai.clck.2.8.0-beta.2203-09.gbl.js.map +0 -1
  63. package/browser/ai.clck.2.8.0-beta.2203-09.gbl.min.js.map +0 -1
  64. package/browser/ai.clck.2.8.0-beta.2203-09.integrity.json +0 -66
  65. package/browser/ai.clck.2.8.0-beta.2203-09.js.map +0 -1
  66. package/browser/ai.clck.2.8.0-beta.2203-09.min.js.map +0 -1
@@ -146,7 +146,7 @@ export interface IAutoCaptureHandler {
146
146
  click: () => void;
147
147
  }
148
148
 
149
- export interface IPageActionOverrideValues extends IOverrideValues {
149
+ export interface IPageActionOverrideValues extends IOverrideValues {
150
150
  /**
151
151
  * Uri of the referrer page
152
152
  */
@@ -177,7 +177,7 @@ export interface IAutoCaptureHandler {
177
177
  contentTags?: any;
178
178
  }
179
179
 
180
- /**
180
+ /**
181
181
  * Override values interface
182
182
  */
183
183
  export interface IOverrideValues {
@@ -223,7 +223,7 @@ export interface IContent {
223
223
  [name: string]: string | number | boolean | string[] | number[] | boolean[] | object | undefined;
224
224
  }
225
225
 
226
- /**
226
+ /**
227
227
  * Content handler interface
228
228
  */
229
229
  export interface IContentHandler {
@@ -342,18 +342,18 @@ export function mergeConfig(overrideConfig: IClickAnalyticsConfiguration): IClic
342
342
  };
343
343
 
344
344
  let attributesThatAreObjectsInConfig: any[] = [];
345
- for (const attribute in defaultConfig) {
346
- if (typeof defaultConfig[attribute] === "object") {
347
- attributesThatAreObjectsInConfig.push(attribute);
348
- }
345
+ for (const attribute in defaultConfig) {
346
+ if (typeof defaultConfig[attribute] === "object") {
347
+ attributesThatAreObjectsInConfig.push(attribute);
349
348
  }
349
+ }
350
350
 
351
351
  if (overrideConfig) {
352
- // delete attributes that should be object and
353
- // delete properties that are null, undefined, ''
354
- removeNonObjectsAndInvalidElements(overrideConfig, attributesThatAreObjectsInConfig);
352
+ // delete attributes that should be object and
353
+ // delete properties that are null, undefined, ''
354
+ removeNonObjectsAndInvalidElements(overrideConfig, attributesThatAreObjectsInConfig);
355
355
  if(isValueAssigned(overrideConfig.dataTags)) {
356
- overrideConfig.dataTags.customDataPrefix = validateContentNamePrefix(overrideConfig, DEFAULT_DATA_PREFIX) ? overrideConfig.dataTags.customDataPrefix : DEFAULT_DATA_PREFIX;
356
+ overrideConfig.dataTags.customDataPrefix = validateContentNamePrefix(overrideConfig, DEFAULT_DATA_PREFIX) ? overrideConfig.dataTags.customDataPrefix : DEFAULT_DATA_PREFIX;
357
357
  }
358
358
  return extend(true, defaultConfig, overrideConfig);
359
359
  }
@@ -114,7 +114,9 @@ export class PageAction extends WebEvent {
114
114
 
115
115
  pageActionEvent.timeToAction = this._getTimeToClick();
116
116
  pageActionEvent.refUri = isValueAssigned(overrideValues.refUri) ? overrideValues.refUri : this._config.coreData.referrerUri;
117
- if(this._isUndefinedEvent(pageActionEvent)) return;
117
+ if(this._isUndefinedEvent(pageActionEvent)) {
118
+ return;
119
+ }
118
120
  this.trackPageAction(pageActionEvent, pageActionProperties);
119
121
  }
120
122
 
@@ -151,8 +153,9 @@ export class PageAction extends WebEvent {
151
153
  if(this._config.dropInvalidEvents) {
152
154
  if(pageActionEvent.name === strNotSpecified
153
155
  && pageActionEvent.parentId === strNotSpecified
154
- && pageActionEvent.content === "[{}]")
156
+ && pageActionEvent.content === "[{}]") {
155
157
  return true;
158
+ }
156
159
  }
157
160
  return false;
158
161
  }
@@ -98,16 +98,15 @@ export class WebEvent {
98
98
  // If override specified
99
99
  if (overrideValues && isValueAssigned(overrideValues.behavior)) {
100
100
  behavior = overrideValues.behavior;
101
- }
102
- // If behavior meta tag available
103
- else if (isValueAssigned(this._behaviorMetaTag)) {
101
+ } else if (isValueAssigned(this._behaviorMetaTag)) {
102
+ // If behavior meta tag available
104
103
  behavior = this._behaviorMetaTag;
105
104
  }
106
105
  return this._getValidBehavior(behavior);
107
106
  }
108
107
 
109
108
  protected _getValidBehavior(behavior: string | number): string | number {
110
- return this._config.behaviorValidator(behavior);
109
+ return this._config.behaviorValidator(behavior);
111
110
  }
112
111
 
113
112
  /**
@@ -17,7 +17,7 @@ export class AutoCaptureHandler implements IAutoCaptureHandler {
17
17
  * @param analyticsPlugin - WebAnalytics plugin
18
18
  * @param traceLogger - Trace logger to log to console.
19
19
  */
20
- constructor(protected _analyticsPlugin: ClickAnalyticsPlugin, protected _config: IClickAnalyticsConfiguration, protected _pageAction: PageAction,
20
+ constructor(protected _analyticsPlugin: ClickAnalyticsPlugin, protected _config: IClickAnalyticsConfiguration, protected _pageAction: PageAction,
21
21
  protected _traceLogger: IDiagnosticLogger) {
22
22
 
23
23
  }
@@ -28,13 +28,21 @@ export class AutoCaptureHandler implements IAutoCaptureHandler {
28
28
  if (win) {
29
29
  // IE9 onwards addEventListener is available, 'click' event captures mouse click. mousedown works on other browsers
30
30
  const event = (navigator.appVersion.indexOf("MSIE") !== -1) ? "click" : "mousedown";
31
- attachEvent(win, event , (evt:any) => { this._processClick(evt); });
32
- attachEvent(win, "keyup" , (evt:any) => { this._processClick(evt); });
31
+ attachEvent(win, event , (evt:any) => {
32
+ this._processClick(evt);
33
+ });
34
+ attachEvent(win, "keyup" , (evt:any) => {
35
+ this._processClick(evt);
36
+ });
33
37
  } else if (doc) {
34
38
  // IE8 and below doesn't have addEventListener so it will use attachEvent
35
39
  // attaching to window does not work in IE8
36
- attachEvent(doc, "click" , (evt:any) => { this._processClick(evt); });
37
- attachEvent(doc, "keyup" , (evt:any) => { this._processClick(evt); });
40
+ attachEvent(doc, "click" , (evt:any) => {
41
+ this._processClick(evt);
42
+ });
43
+ attachEvent(doc, "keyup" , (evt:any) => {
44
+ this._processClick(evt);
45
+ });
38
46
  }
39
47
  }
40
48
 
@@ -30,7 +30,7 @@ export class DomContentHandler implements IContentHandler {
30
30
  let metaTags = {};
31
31
  if (hasDocument) {
32
32
  metaTags = isValueAssigned(this._config.dataTags.metaDataPrefix) ? this._getMetaDataFromDOM(this._config.dataTags.captureAllMetaDataContent ,this._config.dataTags.metaDataPrefix, false) :
33
- this._getMetaDataFromDOM(this._config.dataTags.captureAllMetaDataContent ,"", false);
33
+ this._getMetaDataFromDOM(this._config.dataTags.captureAllMetaDataContent ,"", false);
34
34
  }
35
35
  return metaTags;
36
36
  }
@@ -126,7 +126,9 @@ export class DomContentHandler implements IContentHandler {
126
126
  continue;
127
127
  }
128
128
  const attribName = attrib.name.replace(dataTagPrefix, "");
129
- if(elementLevelFlag && attribName ==="id") continue; // skip capturing id if not at the first level.
129
+ if(elementLevelFlag && attribName ==="id") {
130
+ continue;
131
+ } // skip capturing id if not at the first level.
130
132
  if(!isValueAssigned(elementContent[attribName])) {
131
133
  elementContent[attribName] = attrib.value;
132
134
  }
@@ -141,13 +143,15 @@ export class DomContentHandler implements IContentHandler {
141
143
  }
142
144
  }
143
145
 
144
- /**
146
+ /**
145
147
  * Capture Element content along with Data Tag attributes and values
146
148
  */
147
149
  private _populateElementContent(element: Element, dataTagPrefix: string, parentDataTagPrefix: string, aiBlobAttributeTag: string) {
148
150
 
149
151
  let elementContent: any = {};
150
- if(!element) return elementContent;
152
+ if(!element) {
153
+ return elementContent;
154
+ }
151
155
 
152
156
  let htmlContent = this._getHtmlIdAndContentName(element);
153
157
  elementContent = {
@@ -180,7 +184,9 @@ export class DomContentHandler implements IContentHandler {
180
184
  private _populateElementContentwithDataTag(element: Element, dataTagPrefix: string, parentDataTagPrefix: string, aiBlobAttributeTag: string) {
181
185
 
182
186
  let elementContent: any = {};
183
- if(!element) return elementContent;
187
+ if(!element) {
188
+ return elementContent;
189
+ }
184
190
 
185
191
 
186
192
  let htmlContent = this._getHtmlIdAndContentName(element);
@@ -255,15 +261,15 @@ export class DomContentHandler implements IContentHandler {
255
261
  var doc = getDocument() || ({} as Document);
256
262
  var contentName;
257
263
  switch (element.tagName) {
258
- case "A":
259
- contentName = doc.all ? element.innerText || element.innerHTML : element.text || element.innerHTML;
260
- break;
261
- case "IMG":
262
- case "AREA":
263
- contentName = element.alt;
264
- break;
265
- default:
266
- contentName = element.value || element.name || element.alt || element.innerText || element.id;
264
+ case "A":
265
+ contentName = doc.all ? element.innerText || element.innerHTML : element.text || element.innerHTML;
266
+ break;
267
+ case "IMG":
268
+ case "AREA":
269
+ contentName = element.alt;
270
+ break;
271
+ default:
272
+ contentName = element.value || element.name || element.alt || element.innerText || element.id;
267
273
  }
268
274
 
269
275
  return contentName.substring(0, MAX_CONTENTNAME_LENGTH);
@@ -291,7 +297,9 @@ export class DomContentHandler implements IContentHandler {
291
297
 
292
298
  private _getHtmlIdAndContentName(element:Element) {
293
299
  let htmlContent: any = {};
294
- if(!element) return htmlContent;
300
+ if(!element) {
301
+ return htmlContent;
302
+ }
295
303
 
296
304
  if (this._config.dataTags.useDefaultContentNameOrId) {
297
305
  const customizedContentName = this._config.callback.contentName ? this._config.callback.contentName(element, this._config.dataTags.useDefaultContentNameOrId) : "";
@@ -353,8 +361,7 @@ export class DomContentHandler implements IContentHandler {
353
361
  }
354
362
  if (parentId) {
355
363
  parentInfo["parentid"] = parentId;
356
- }
357
- else {
364
+ } else {
358
365
  let htmlContent= this._getHtmlIdAndContentName(element.parentElement);
359
366
  parentInfo["parentid"] = htmlContent.id;
360
367
  parentInfo["parentname"] = htmlContent.contentName;
@@ -169,8 +169,8 @@ export interface IPageActionOverrideValues extends IOverrideValues {
169
169
  contentTags?: any;
170
170
  }
171
171
  /**
172
- * Override values interface
173
- */
172
+ * Override values interface
173
+ */
174
174
  export interface IOverrideValues {
175
175
  /**
176
176
  * One of the awa.behavior values.
@@ -213,8 +213,8 @@ export interface IContent {
213
213
  [name: string]: string | number | boolean | string[] | number[] | boolean[] | object | undefined;
214
214
  }
215
215
  /**
216
- * Content handler interface
217
- */
216
+ * Content handler interface
217
+ */
218
218
  export interface IContentHandler {
219
219
  /**
220
220
  * Get meta data
@@ -32,8 +32,8 @@ export declare class DomContentHandler implements IContentHandler {
32
32
  */
33
33
  private _walkUpDomChainCaptureData;
34
34
  /**
35
- * Capture Element content along with Data Tag attributes and values
36
- */
35
+ * Capture Element content along with Data Tag attributes and values
36
+ */
37
37
  private _populateElementContent;
38
38
  /**
39
39
  * Capture Element content along with Data Tag attributes and values