@microsoft/applicationinsights-clickanalytics-js 2.8.5-nightly.2206-02 → 2.8.5-nightly.2206-06
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/browser/{ai.clck.2.8.5-nightly.2206-02.cjs.js → ai.clck.2.8.5-nightly.2206-06.cjs.js} +664 -566
- package/browser/ai.clck.2.8.5-nightly.2206-06.cjs.js.map +1 -0
- package/browser/ai.clck.2.8.5-nightly.2206-06.cjs.min.js +6 -0
- package/browser/ai.clck.2.8.5-nightly.2206-06.cjs.min.js.map +1 -0
- package/browser/{ai.clck.2.8.5-nightly.2206-02.gbl.js → ai.clck.2.8.5-nightly.2206-06.gbl.js} +664 -566
- package/browser/ai.clck.2.8.5-nightly.2206-06.gbl.js.map +1 -0
- package/browser/ai.clck.2.8.5-nightly.2206-06.gbl.min.js +6 -0
- package/browser/ai.clck.2.8.5-nightly.2206-06.gbl.min.js.map +1 -0
- package/browser/ai.clck.2.8.5-nightly.2206-06.integrity.json +66 -0
- package/browser/{ai.clck.2.8.5-nightly.2206-02.js → ai.clck.2.8.5-nightly.2206-06.js} +664 -566
- package/browser/ai.clck.2.8.5-nightly.2206-06.js.map +1 -0
- package/browser/ai.clck.2.8.5-nightly.2206-06.min.js +6 -0
- package/browser/ai.clck.2.8.5-nightly.2206-06.min.js.map +1 -0
- package/browser/ai.clck.2.cjs.js +663 -565
- package/browser/ai.clck.2.cjs.js.map +1 -1
- package/browser/ai.clck.2.cjs.min.js +2 -2
- package/browser/ai.clck.2.cjs.min.js.map +1 -1
- package/browser/ai.clck.2.gbl.js +663 -565
- package/browser/ai.clck.2.gbl.js.map +1 -1
- package/browser/ai.clck.2.gbl.min.js +2 -2
- package/browser/ai.clck.2.gbl.min.js.map +1 -1
- package/browser/ai.clck.2.js +663 -565
- package/browser/ai.clck.2.js.map +1 -1
- package/browser/ai.clck.2.min.js +2 -2
- package/browser/ai.clck.2.min.js.map +1 -1
- package/dist/applicationinsights-clickanalytics-js.api.json +21 -8
- package/dist/applicationinsights-clickanalytics-js.d.ts +1 -1
- package/dist/applicationinsights-clickanalytics-js.js +663 -565
- package/dist/applicationinsights-clickanalytics-js.js.map +1 -1
- package/dist/applicationinsights-clickanalytics-js.min.js +2 -2
- package/dist/applicationinsights-clickanalytics-js.min.js.map +1 -1
- package/dist/applicationinsights-clickanalytics-js.rollup.d.ts +1 -1
- package/dist-esm/Behaviours.js +1 -1
- package/dist-esm/ClickAnalyticsPlugin.js +13 -12
- package/dist-esm/ClickAnalyticsPlugin.js.map +1 -1
- package/dist-esm/DataCollector.js +21 -20
- package/dist-esm/DataCollector.js.map +1 -1
- package/dist-esm/Enums.js +1 -1
- package/dist-esm/Interfaces/Datamodel.js +1 -1
- package/dist-esm/__DynamicConstants.js +62 -0
- package/dist-esm/__DynamicConstants.js.map +1 -0
- package/dist-esm/applicationinsights-clickanalytics-js.js +1 -1
- package/dist-esm/common/Utils.js +45 -82
- package/dist-esm/common/Utils.js.map +1 -1
- package/dist-esm/events/PageAction.js +55 -49
- package/dist-esm/events/PageAction.js.map +1 -1
- package/dist-esm/events/WebEvent.js +45 -39
- package/dist-esm/events/WebEvent.js.map +1 -1
- package/dist-esm/handlers/AutoCaptureHandler.js +29 -22
- package/dist-esm/handlers/AutoCaptureHandler.js.map +1 -1
- package/dist-esm/handlers/DomContentHandler.js +66 -60
- package/dist-esm/handlers/DomContentHandler.js.map +1 -1
- package/package.json +8 -5
- package/src/ClickAnalyticsPlugin.ts +20 -27
- package/src/DataCollector.ts +9 -12
- package/src/Interfaces/Datamodel.ts +1 -1
- package/src/__DynamicConstants.ts +60 -0
- package/src/common/Utils.ts +28 -69
- package/src/events/PageAction.ts +19 -16
- package/src/events/WebEvent.ts +20 -18
- package/src/handlers/AutoCaptureHandler.ts +16 -16
- package/src/handlers/DomContentHandler.ts +15 -17
- package/types/ClickAnalyticsPlugin.d.ts +4 -4
- package/types/DataCollector.d.ts +2 -2
- package/types/__DynamicConstants.d.ts +48 -0
- package/types/common/Utils.d.ts +94 -96
- package/types/events/PageAction.d.ts +4 -4
- package/types/events/WebEvent.d.ts +4 -4
- package/types/handlers/AutoCaptureHandler.d.ts +3 -3
- package/types/handlers/DomContentHandler.d.ts +2 -2
- package/types/tsdoc-metadata.json +1 -1
- package/browser/ai.clck.2.8.5-nightly.2206-02.cjs.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-02.cjs.min.js +0 -6
- package/browser/ai.clck.2.8.5-nightly.2206-02.cjs.min.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-02.gbl.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-02.gbl.min.js +0 -6
- package/browser/ai.clck.2.8.5-nightly.2206-02.gbl.min.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-02.integrity.json +0 -66
- package/browser/ai.clck.2.8.5-nightly.2206-02.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-02.min.js +0 -6
- package/browser/ai.clck.2.8.5-nightly.2206-02.min.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Click Analytics, 2.8.5-nightly.2206-
|
|
2
|
+
* Application Insights JavaScript SDK - Click Analytics, 2.8.5-nightly.2206-06
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
104
104
|
*/
|
|
105
105
|
var Constructor = 'constructor';
|
|
106
|
-
var Prototype
|
|
106
|
+
var Prototype = 'prototype';
|
|
107
107
|
var strFunction = 'function';
|
|
108
108
|
var DynInstFuncTable = '_dynInstFuncs';
|
|
109
109
|
var DynProxyTag = '_isDynProxy';
|
|
@@ -123,13 +123,13 @@
|
|
|
123
123
|
var _objGetOwnProps = Obj["getOwnPropertyNames"];
|
|
124
124
|
var _dynamicNames = 0;
|
|
125
125
|
function _hasOwnProperty(obj, prop) {
|
|
126
|
-
return obj && Obj[Prototype
|
|
126
|
+
return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);
|
|
127
127
|
}
|
|
128
128
|
function _isObjectOrArrayPrototype(target) {
|
|
129
|
-
return target && (target === Obj[Prototype
|
|
129
|
+
return target && (target === Obj[Prototype] || target === Array[Prototype]);
|
|
130
130
|
}
|
|
131
131
|
function _isObjectArrayOrFunctionPrototype(target) {
|
|
132
|
-
return _isObjectOrArrayPrototype(target) || target === Function[Prototype
|
|
132
|
+
return _isObjectOrArrayPrototype(target) || target === Function[Prototype];
|
|
133
133
|
}
|
|
134
134
|
function _getObjProto$1(target) {
|
|
135
135
|
var newProto;
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
if (_objGetPrototypeOf$1) {
|
|
138
138
|
return _objGetPrototypeOf$1(target);
|
|
139
139
|
}
|
|
140
|
-
var curProto = target[str__Proto$1] || target[Prototype
|
|
140
|
+
var curProto = target[str__Proto$1] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
|
|
141
141
|
newProto = target[DynProtoBaseProto] || curProto;
|
|
142
142
|
if (!_hasOwnProperty(target, DynProtoBaseProto)) {
|
|
143
143
|
delete target[DynProtoCurrent];
|
|
@@ -304,16 +304,16 @@
|
|
|
304
304
|
return true;
|
|
305
305
|
}
|
|
306
306
|
function _getObjName(target, unknownValue) {
|
|
307
|
-
if (_hasOwnProperty(target, Prototype
|
|
307
|
+
if (_hasOwnProperty(target, Prototype)) {
|
|
308
308
|
return target.name || unknownValue || UnknownValue;
|
|
309
309
|
}
|
|
310
310
|
return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;
|
|
311
311
|
}
|
|
312
312
|
function dynamicProto(theClass, target, delegateFunc, options) {
|
|
313
|
-
if (!_hasOwnProperty(theClass, Prototype
|
|
313
|
+
if (!_hasOwnProperty(theClass, Prototype)) {
|
|
314
314
|
_throwTypeError("theClass is an invalid class definition.");
|
|
315
315
|
}
|
|
316
|
-
var classProto = theClass[Prototype
|
|
316
|
+
var classProto = theClass[Prototype];
|
|
317
317
|
if (!_checkPrototype(classProto, target)) {
|
|
318
318
|
_throwTypeError("[" + _getObjName(theClass) + "] is not in class hierarchy of [" + _getObjName(target) + "]");
|
|
319
319
|
}
|
|
@@ -346,14 +346,55 @@
|
|
|
346
346
|
};
|
|
347
347
|
dynamicProto[DynProtoDefaultOptions] = perfDefaults;
|
|
348
348
|
|
|
349
|
-
var
|
|
350
|
-
var
|
|
351
|
-
var
|
|
352
|
-
var
|
|
353
|
-
var
|
|
354
|
-
var
|
|
355
|
-
var
|
|
356
|
-
var
|
|
349
|
+
var _DYN_INITIALIZE = "initialize";
|
|
350
|
+
var _DYN_NAME$1 = "name";
|
|
351
|
+
var _DYN_IDENTIFIER = "identifier";
|
|
352
|
+
var _DYN_PUSH = "push";
|
|
353
|
+
var _DYN_IS_INITIALIZED = "isInitialized";
|
|
354
|
+
var _DYN_CONFIG = "config";
|
|
355
|
+
var _DYN_LOGGER = "logger";
|
|
356
|
+
var _DYN_LENGTH$1 = "length";
|
|
357
|
+
var _DYN_TIME = "time";
|
|
358
|
+
var _DYN_PROCESS_NEXT = "processNext";
|
|
359
|
+
var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
|
|
360
|
+
var _DYN_GET_PLUGIN = "getPlugin";
|
|
361
|
+
var _DYN_SPLICE = "splice";
|
|
362
|
+
var _DYN_TEARDOWN = "teardown";
|
|
363
|
+
var _DYN_MESSAGE_ID = "messageId";
|
|
364
|
+
var _DYN_MESSAGE = "message";
|
|
365
|
+
var _DYN_IS_ASYNC = "isAsync";
|
|
366
|
+
var _DYN__DO_TEARDOWN = "_doTeardown";
|
|
367
|
+
var _DYN_UPDATE = "update";
|
|
368
|
+
var _DYN_GET_NEXT = "getNext";
|
|
369
|
+
var _DYN_DIAG_LOG = "diagLog";
|
|
370
|
+
var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
|
|
371
|
+
var _DYN_CREATE_NEW = "createNew";
|
|
372
|
+
var _DYN_INDEX_OF$1 = "indexOf";
|
|
373
|
+
var _DYN_USER_AGENT = "userAgent";
|
|
374
|
+
var _DYN_SPLIT = "split";
|
|
375
|
+
var _DYN_REPLACE = "replace";
|
|
376
|
+
var _DYN_NODE_TYPE = "nodeType";
|
|
377
|
+
var _DYN_APPLY = "apply";
|
|
378
|
+
var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
|
|
379
|
+
var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
|
|
380
|
+
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
381
|
+
var _DYN_CALL = "call";
|
|
382
|
+
var _DYN_TYPE = "type";
|
|
383
|
+
var _DYN_HANDLER = "handler";
|
|
384
|
+
var _DYN_IS_CHILD_EVT = "isChildEvt";
|
|
385
|
+
var _DYN_GET_CTX = "getCtx";
|
|
386
|
+
var _DYN_SET_CTX = "setCtx";
|
|
387
|
+
var _DYN_COMPLETE = "complete";
|
|
388
|
+
|
|
389
|
+
var STR_EMPTY = "";
|
|
390
|
+
var STR_CORE = "core";
|
|
391
|
+
var STR_DISABLED = "disabled";
|
|
392
|
+
var STR_EXTENSION_CONFIG = "extensionConfig";
|
|
393
|
+
var STR_PROCESS_TELEMETRY = "processTelemetry";
|
|
394
|
+
var STR_PRIORITY = "priority";
|
|
395
|
+
var STR_ERROR_TO_CONSOLE = "errorToConsole";
|
|
396
|
+
var STR_WARN_TO_CONSOLE = "warnToConsole";
|
|
397
|
+
var STR_GET_PERF_MGR = "getPerfMgr";
|
|
357
398
|
|
|
358
399
|
var strToISOString = "toISOString";
|
|
359
400
|
var cStrEndsWith = "endsWith";
|
|
@@ -375,7 +416,7 @@
|
|
|
375
416
|
var _isArray = Array.isArray;
|
|
376
417
|
var _objToString = ObjProto[strToString];
|
|
377
418
|
var _fnToString = ObjHasOwnProperty[strToString];
|
|
378
|
-
var _objFunctionString = _fnToString
|
|
419
|
+
var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
|
|
379
420
|
var rCamelCase = /-([a-z])/g;
|
|
380
421
|
var rNormalizeInvalid = /([^\w\d_$])/g;
|
|
381
422
|
var rLeadingNumeric = /^(\d+[\w\d_$])/;
|
|
@@ -399,7 +440,7 @@
|
|
|
399
440
|
return (value === null || isUndefined(value));
|
|
400
441
|
}
|
|
401
442
|
function hasOwnProperty(obj, prop) {
|
|
402
|
-
return !!(obj && ObjHasOwnProperty
|
|
443
|
+
return !!(obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop));
|
|
403
444
|
}
|
|
404
445
|
function isObject(value) {
|
|
405
446
|
return !!(value && typeof value === strShimObject);
|
|
@@ -410,11 +451,11 @@
|
|
|
410
451
|
function normalizeJsName(name) {
|
|
411
452
|
var value = name;
|
|
412
453
|
if (value && isString(value)) {
|
|
413
|
-
value = value
|
|
454
|
+
value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
|
|
414
455
|
return letter.toUpperCase();
|
|
415
456
|
});
|
|
416
|
-
value = value
|
|
417
|
-
value = value
|
|
457
|
+
value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
|
|
458
|
+
value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
|
|
418
459
|
return "_" + match;
|
|
419
460
|
});
|
|
420
461
|
}
|
|
@@ -423,24 +464,24 @@
|
|
|
423
464
|
function objForEachKey(target, callbackfn) {
|
|
424
465
|
if (target) {
|
|
425
466
|
for (var prop in target) {
|
|
426
|
-
if (ObjHasOwnProperty
|
|
427
|
-
callbackfn
|
|
467
|
+
if (ObjHasOwnProperty[_DYN_CALL ](target, prop)) {
|
|
468
|
+
callbackfn[_DYN_CALL ](target, prop, target[prop]);
|
|
428
469
|
}
|
|
429
470
|
}
|
|
430
471
|
}
|
|
431
472
|
}
|
|
432
473
|
function strContains(value, search) {
|
|
433
474
|
if (value && search) {
|
|
434
|
-
return value
|
|
475
|
+
return value[_DYN_INDEX_OF$1 ](search) !== -1;
|
|
435
476
|
}
|
|
436
477
|
return false;
|
|
437
478
|
}
|
|
438
479
|
var isArray = _isArray || _isArrayPoly;
|
|
439
480
|
function _isArrayPoly(obj) {
|
|
440
|
-
return !!(obj && _objToString
|
|
481
|
+
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
|
|
441
482
|
}
|
|
442
483
|
function isError(obj) {
|
|
443
|
-
return !!(obj && _objToString
|
|
484
|
+
return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
|
|
444
485
|
}
|
|
445
486
|
function isString(value) {
|
|
446
487
|
return typeof value === "string";
|
|
@@ -456,20 +497,20 @@
|
|
|
456
497
|
result = true;
|
|
457
498
|
}
|
|
458
499
|
else {
|
|
459
|
-
if (proto[strConstructor] && ObjHasOwnProperty
|
|
500
|
+
if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
|
|
460
501
|
proto = proto[strConstructor];
|
|
461
502
|
}
|
|
462
|
-
result = typeof proto === strShimFunction && _fnToString
|
|
503
|
+
result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
|
|
463
504
|
}
|
|
464
505
|
}
|
|
465
506
|
return result;
|
|
466
507
|
}
|
|
467
508
|
function arrForEach(arr, callbackfn, thisArg) {
|
|
468
|
-
var len = arr
|
|
509
|
+
var len = arr[_DYN_LENGTH$1 ];
|
|
469
510
|
try {
|
|
470
511
|
for (var idx = 0; idx < len; idx++) {
|
|
471
512
|
if (idx in arr) {
|
|
472
|
-
if (callbackfn
|
|
513
|
+
if (callbackfn[_DYN_CALL ](thisArg || arr, arr[idx], idx, arr) === -1) {
|
|
473
514
|
break;
|
|
474
515
|
}
|
|
475
516
|
}
|
|
@@ -498,15 +539,15 @@
|
|
|
498
539
|
}
|
|
499
540
|
var result = [];
|
|
500
541
|
for (var prop in obj) {
|
|
501
|
-
if (obj && ObjHasOwnProperty
|
|
502
|
-
result
|
|
542
|
+
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
|
|
543
|
+
result[_DYN_PUSH ](prop);
|
|
503
544
|
}
|
|
504
545
|
}
|
|
505
546
|
if (_objKeysHasDontEnumBug) {
|
|
506
|
-
var dontEnumsLength = _objKeysDontEnums
|
|
547
|
+
var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH$1 ];
|
|
507
548
|
for (var lp = 0; lp < dontEnumsLength; lp++) {
|
|
508
|
-
if (obj && ObjHasOwnProperty
|
|
509
|
-
result
|
|
549
|
+
if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
|
|
550
|
+
result[_DYN_PUSH ](_objKeysDontEnums[lp]);
|
|
510
551
|
}
|
|
511
552
|
}
|
|
512
553
|
}
|
|
@@ -553,9 +594,9 @@
|
|
|
553
594
|
}
|
|
554
595
|
function getExceptionName(object) {
|
|
555
596
|
if (isError(object)) {
|
|
556
|
-
return object
|
|
597
|
+
return object[_DYN_NAME$1 ];
|
|
557
598
|
}
|
|
558
|
-
return
|
|
599
|
+
return STR_EMPTY;
|
|
559
600
|
}
|
|
560
601
|
function setValue(target, field, value, valChk, srcChk) {
|
|
561
602
|
var theValue = value;
|
|
@@ -568,6 +609,9 @@
|
|
|
568
609
|
}
|
|
569
610
|
return theValue;
|
|
570
611
|
}
|
|
612
|
+
function getCfgValue(theValue, defaultValue) {
|
|
613
|
+
return !isNullOrUndefined(theValue) ? theValue : defaultValue;
|
|
614
|
+
}
|
|
571
615
|
function throwError(message) {
|
|
572
616
|
throw new Error(message);
|
|
573
617
|
}
|
|
@@ -586,7 +630,7 @@
|
|
|
586
630
|
src = srcFunc();
|
|
587
631
|
}
|
|
588
632
|
if (src) {
|
|
589
|
-
return src[funcName]
|
|
633
|
+
return src[funcName][_DYN_APPLY ](src, originalArguments);
|
|
590
634
|
}
|
|
591
635
|
};
|
|
592
636
|
}
|
|
@@ -600,7 +644,7 @@
|
|
|
600
644
|
function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
|
|
601
645
|
var theArgs = arguments;
|
|
602
646
|
var extended = theArgs[0] || {};
|
|
603
|
-
var argLen = theArgs
|
|
647
|
+
var argLen = theArgs[_DYN_LENGTH$1 ];
|
|
604
648
|
var deep = false;
|
|
605
649
|
var idx = 1;
|
|
606
650
|
if (argLen > 0 && isBoolean(extended)) {
|
|
@@ -616,7 +660,7 @@
|
|
|
616
660
|
var isArgArray = isArray(arg);
|
|
617
661
|
var isArgObj = isObject(arg);
|
|
618
662
|
for (var prop in arg) {
|
|
619
|
-
var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty
|
|
663
|
+
var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
|
|
620
664
|
if (!propOk) {
|
|
621
665
|
continue;
|
|
622
666
|
}
|
|
@@ -740,18 +784,18 @@
|
|
|
740
784
|
}
|
|
741
785
|
function isIE() {
|
|
742
786
|
var nav = getNavigator();
|
|
743
|
-
if (nav && (nav
|
|
744
|
-
_navUserAgentCheck = nav
|
|
745
|
-
var userAgent = (_navUserAgentCheck ||
|
|
787
|
+
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
788
|
+
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
789
|
+
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
|
|
746
790
|
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
747
791
|
}
|
|
748
792
|
return _isTrident;
|
|
749
793
|
}
|
|
750
794
|
function dumpObj(object) {
|
|
751
|
-
var objectTypeDump = Object[strShimPrototype].toString
|
|
752
|
-
var propertyValueDump =
|
|
795
|
+
var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
|
|
796
|
+
var propertyValueDump = STR_EMPTY;
|
|
753
797
|
if (objectTypeDump === "[object Error]") {
|
|
754
|
-
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object
|
|
798
|
+
propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME$1 ] + "'";
|
|
755
799
|
}
|
|
756
800
|
else if (hasJSON()) {
|
|
757
801
|
propertyValueDump = getJSON().stringify(object);
|
|
@@ -778,13 +822,11 @@
|
|
|
778
822
|
var AiNonUserActionablePrefix = "AI (Internal): ";
|
|
779
823
|
var AiUserActionablePrefix = "AI: ";
|
|
780
824
|
var AIInternalMessagePrefix = "AITR_";
|
|
781
|
-
var strErrorToConsole = "errorToConsole";
|
|
782
|
-
var strWarnToConsole = "warnToConsole";
|
|
783
825
|
function _sanitizeDiagnosticText(text) {
|
|
784
826
|
if (text) {
|
|
785
|
-
return "\"" + text
|
|
827
|
+
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
|
|
786
828
|
}
|
|
787
|
-
return
|
|
829
|
+
return STR_EMPTY;
|
|
788
830
|
}
|
|
789
831
|
function _logToConsole(func, message) {
|
|
790
832
|
var theConsole = getConsole();
|
|
@@ -802,23 +844,23 @@
|
|
|
802
844
|
function _InternalLogMessage(msgId, msg, isUserAct, properties) {
|
|
803
845
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
804
846
|
var _self = this;
|
|
805
|
-
_self
|
|
806
|
-
_self
|
|
847
|
+
_self[_DYN_MESSAGE_ID ] = msgId;
|
|
848
|
+
_self[_DYN_MESSAGE ] =
|
|
807
849
|
(isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
|
|
808
850
|
msgId;
|
|
809
|
-
var strProps =
|
|
851
|
+
var strProps = STR_EMPTY;
|
|
810
852
|
if (hasJSON()) {
|
|
811
853
|
strProps = getJSON().stringify(properties);
|
|
812
854
|
}
|
|
813
|
-
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) :
|
|
814
|
-
(properties ? " props:" + _sanitizeDiagnosticText(strProps) :
|
|
815
|
-
_self
|
|
855
|
+
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
|
|
856
|
+
(properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
|
|
857
|
+
_self[_DYN_MESSAGE ] += diagnosticText;
|
|
816
858
|
}
|
|
817
859
|
_InternalLogMessage.dataType = "MessageData";
|
|
818
860
|
return _InternalLogMessage;
|
|
819
861
|
}());
|
|
820
862
|
function safeGetLogger(core, config) {
|
|
821
|
-
return (core || {})
|
|
863
|
+
return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
|
|
822
864
|
}
|
|
823
865
|
var DiagnosticLogger = /** @class */ (function () {
|
|
824
866
|
function DiagnosticLogger(config) {
|
|
@@ -826,48 +868,49 @@
|
|
|
826
868
|
this.queue = [];
|
|
827
869
|
var _messageCount = 0;
|
|
828
870
|
var _messageLogged = {};
|
|
871
|
+
var _loggingLevelConsole;
|
|
872
|
+
var _loggingLevelTelemetry;
|
|
873
|
+
var _maxInternalMessageLimit;
|
|
874
|
+
var _enableDebugExceptions;
|
|
829
875
|
dynamicProto(DiagnosticLogger, this, function (_self) {
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
}
|
|
833
|
-
_self.
|
|
834
|
-
_self
|
|
835
|
-
_self.maxInternalMessageLimit = function () { return _getConfigValue("maxMessageLimit", 25); };
|
|
836
|
-
_self.enableDebugExceptions = function () { return _getConfigValue("enableDebugExceptions", false); };
|
|
876
|
+
_setDefaultsFromConfig(config || {});
|
|
877
|
+
_self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
|
|
878
|
+
_self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
|
|
879
|
+
_self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
|
|
880
|
+
_self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
|
|
837
881
|
_self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
|
|
838
882
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
839
883
|
var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
|
|
840
|
-
if (
|
|
884
|
+
if (_enableDebugExceptions) {
|
|
841
885
|
throw dumpObj(message);
|
|
842
886
|
}
|
|
843
887
|
else {
|
|
844
|
-
var logFunc = severity === 1 ?
|
|
845
|
-
if (!isUndefined(message
|
|
846
|
-
var logLevel = _self.consoleLoggingLevel();
|
|
888
|
+
var logFunc = severity === 1 ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;
|
|
889
|
+
if (!isUndefined(message[_DYN_MESSAGE ])) {
|
|
847
890
|
if (isUserAct) {
|
|
848
|
-
var messageKey = +message
|
|
849
|
-
if (!_messageLogged[messageKey] &&
|
|
850
|
-
_self[logFunc](message
|
|
891
|
+
var messageKey = +message[_DYN_MESSAGE_ID ];
|
|
892
|
+
if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
|
|
893
|
+
_self[logFunc](message[_DYN_MESSAGE ]);
|
|
851
894
|
_messageLogged[messageKey] = true;
|
|
852
895
|
}
|
|
853
896
|
}
|
|
854
897
|
else {
|
|
855
|
-
if (
|
|
856
|
-
_self[logFunc](message
|
|
898
|
+
if (_loggingLevelConsole >= severity) {
|
|
899
|
+
_self[logFunc](message[_DYN_MESSAGE ]);
|
|
857
900
|
}
|
|
858
901
|
}
|
|
859
|
-
|
|
902
|
+
_logInternalMessage(severity, message);
|
|
860
903
|
}
|
|
861
904
|
else {
|
|
862
905
|
_debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
|
|
863
906
|
}
|
|
864
907
|
}
|
|
865
908
|
};
|
|
866
|
-
_self
|
|
909
|
+
_self[STR_WARN_TO_CONSOLE ] = function (message) {
|
|
867
910
|
_logToConsole("warn", message);
|
|
868
911
|
_debugExtMsg("warning", message);
|
|
869
912
|
};
|
|
870
|
-
_self
|
|
913
|
+
_self[STR_ERROR_TO_CONSOLE ] = function (message) {
|
|
871
914
|
_logToConsole("error", message);
|
|
872
915
|
_debugExtMsg("error", message);
|
|
873
916
|
};
|
|
@@ -875,12 +918,13 @@
|
|
|
875
918
|
_messageCount = 0;
|
|
876
919
|
_messageLogged = {};
|
|
877
920
|
};
|
|
878
|
-
_self
|
|
921
|
+
_self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
|
|
922
|
+
function _logInternalMessage(severity, message) {
|
|
879
923
|
if (_areInternalMessagesThrottled()) {
|
|
880
924
|
return;
|
|
881
925
|
}
|
|
882
926
|
var logMessage = true;
|
|
883
|
-
var messageKey = AIInternalMessagePrefix + message
|
|
927
|
+
var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
|
|
884
928
|
if (_messageLogged[messageKey]) {
|
|
885
929
|
logMessage = false;
|
|
886
930
|
}
|
|
@@ -888,58 +932,63 @@
|
|
|
888
932
|
_messageLogged[messageKey] = true;
|
|
889
933
|
}
|
|
890
934
|
if (logMessage) {
|
|
891
|
-
if (severity <=
|
|
892
|
-
_self.queue
|
|
935
|
+
if (severity <= _loggingLevelTelemetry) {
|
|
936
|
+
_self.queue[_DYN_PUSH ](message);
|
|
893
937
|
_messageCount++;
|
|
894
938
|
_debugExtMsg((severity === 1 ? "error" : "warn"), message);
|
|
895
939
|
}
|
|
896
|
-
if (_messageCount ===
|
|
940
|
+
if (_messageCount === _maxInternalMessageLimit) {
|
|
897
941
|
var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
|
|
898
942
|
var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
|
|
899
|
-
_self.queue
|
|
943
|
+
_self.queue[_DYN_PUSH ](throttleMessage);
|
|
900
944
|
if (severity === 1 ) {
|
|
901
|
-
_self
|
|
945
|
+
_self[STR_ERROR_TO_CONSOLE ](throttleLimitMessage);
|
|
902
946
|
}
|
|
903
947
|
else {
|
|
904
|
-
_self
|
|
948
|
+
_self[STR_WARN_TO_CONSOLE ](throttleLimitMessage);
|
|
905
949
|
}
|
|
906
950
|
}
|
|
907
951
|
}
|
|
908
|
-
}
|
|
909
|
-
function
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
return defValue;
|
|
952
|
+
}
|
|
953
|
+
function _setDefaultsFromConfig(config) {
|
|
954
|
+
_loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
|
|
955
|
+
_loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
|
|
956
|
+
_maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
|
|
957
|
+
_enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
|
|
915
958
|
}
|
|
916
959
|
function _areInternalMessagesThrottled() {
|
|
917
|
-
return _messageCount >=
|
|
960
|
+
return _messageCount >= _maxInternalMessageLimit;
|
|
918
961
|
}
|
|
919
962
|
function _debugExtMsg(name, data) {
|
|
920
|
-
var dbgExt = getDebugExt(config);
|
|
921
|
-
if (dbgExt && dbgExt
|
|
922
|
-
dbgExt
|
|
963
|
+
var dbgExt = getDebugExt(config || {});
|
|
964
|
+
if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
|
|
965
|
+
dbgExt[_DYN_DIAG_LOG ](name, data);
|
|
923
966
|
}
|
|
924
967
|
}
|
|
925
968
|
});
|
|
926
969
|
}
|
|
970
|
+
DiagnosticLogger.__ieDyn=1;
|
|
927
971
|
return DiagnosticLogger;
|
|
928
972
|
}());
|
|
973
|
+
function _getLogger(logger) {
|
|
974
|
+
return (logger || new DiagnosticLogger());
|
|
975
|
+
}
|
|
929
976
|
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
930
977
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
931
|
-
(logger
|
|
978
|
+
_getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
932
979
|
}
|
|
933
980
|
|
|
934
981
|
var strExecutionContextKey = "ctx";
|
|
982
|
+
var strParentContextKey = "ParentContextKey";
|
|
983
|
+
var strChildrenContextKey = "ChildrenContextKey";
|
|
935
984
|
var PerfEvent = /** @class */ (function () {
|
|
936
985
|
function PerfEvent(name, payloadDetails, isAsync) {
|
|
937
986
|
var _self = this;
|
|
938
987
|
var accessorDefined = false;
|
|
939
988
|
_self.start = dateNow();
|
|
940
|
-
_self
|
|
941
|
-
_self
|
|
942
|
-
_self
|
|
989
|
+
_self[_DYN_NAME$1 ] = name;
|
|
990
|
+
_self[_DYN_IS_ASYNC ] = isAsync;
|
|
991
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return false; };
|
|
943
992
|
if (isFunction(payloadDetails)) {
|
|
944
993
|
var theDetails_1;
|
|
945
994
|
accessorDefined = objDefineAccessors(_self, "payload", function () {
|
|
@@ -950,24 +999,24 @@
|
|
|
950
999
|
return theDetails_1;
|
|
951
1000
|
});
|
|
952
1001
|
}
|
|
953
|
-
_self
|
|
1002
|
+
_self[_DYN_GET_CTX ] = function (key) {
|
|
954
1003
|
if (key) {
|
|
955
|
-
if (key === PerfEvent
|
|
1004
|
+
if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
|
|
956
1005
|
return _self[key];
|
|
957
1006
|
}
|
|
958
1007
|
return (_self[strExecutionContextKey] || {})[key];
|
|
959
1008
|
}
|
|
960
1009
|
return null;
|
|
961
1010
|
};
|
|
962
|
-
_self
|
|
1011
|
+
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
963
1012
|
if (key) {
|
|
964
|
-
if (key === PerfEvent
|
|
1013
|
+
if (key === PerfEvent[strParentContextKey]) {
|
|
965
1014
|
if (!_self[key]) {
|
|
966
|
-
_self
|
|
1015
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return true; };
|
|
967
1016
|
}
|
|
968
1017
|
_self[key] = value;
|
|
969
1018
|
}
|
|
970
|
-
else if (key === PerfEvent
|
|
1019
|
+
else if (key === PerfEvent[strChildrenContextKey]) {
|
|
971
1020
|
_self[key] = value;
|
|
972
1021
|
}
|
|
973
1022
|
else {
|
|
@@ -976,20 +1025,20 @@
|
|
|
976
1025
|
}
|
|
977
1026
|
}
|
|
978
1027
|
};
|
|
979
|
-
_self
|
|
1028
|
+
_self[_DYN_COMPLETE ] = function () {
|
|
980
1029
|
var childTime = 0;
|
|
981
|
-
var childEvts = _self
|
|
1030
|
+
var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
982
1031
|
if (isArray(childEvts)) {
|
|
983
|
-
for (var lp = 0; lp < childEvts
|
|
1032
|
+
for (var lp = 0; lp < childEvts[_DYN_LENGTH$1 ]; lp++) {
|
|
984
1033
|
var childEvt = childEvts[lp];
|
|
985
1034
|
if (childEvt) {
|
|
986
|
-
childTime += childEvt
|
|
1035
|
+
childTime += childEvt[_DYN_TIME ];
|
|
987
1036
|
}
|
|
988
1037
|
}
|
|
989
1038
|
}
|
|
990
|
-
_self
|
|
991
|
-
_self.exTime = _self
|
|
992
|
-
_self
|
|
1039
|
+
_self[_DYN_TIME ] = dateNow() - _self.start;
|
|
1040
|
+
_self.exTime = _self[_DYN_TIME ] - childTime;
|
|
1041
|
+
_self[_DYN_COMPLETE ] = function () { };
|
|
993
1042
|
if (!accessorDefined && isFunction(payloadDetails)) {
|
|
994
1043
|
_self.payload = payloadDetails();
|
|
995
1044
|
}
|
|
@@ -1003,40 +1052,40 @@
|
|
|
1003
1052
|
function doPerf(mgrSource, getSource, func, details, isAsync) {
|
|
1004
1053
|
if (mgrSource) {
|
|
1005
1054
|
var perfMgr = mgrSource;
|
|
1006
|
-
if (
|
|
1007
|
-
perfMgr = perfMgr[
|
|
1055
|
+
if (perfMgr[STR_GET_PERF_MGR]) {
|
|
1056
|
+
perfMgr = perfMgr[STR_GET_PERF_MGR]();
|
|
1008
1057
|
}
|
|
1009
1058
|
if (perfMgr) {
|
|
1010
1059
|
var perfEvt = void 0;
|
|
1011
|
-
var currentActive = perfMgr
|
|
1060
|
+
var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
|
|
1012
1061
|
try {
|
|
1013
1062
|
perfEvt = perfMgr.create(getSource(), details, isAsync);
|
|
1014
1063
|
if (perfEvt) {
|
|
1015
|
-
if (currentActive && perfEvt
|
|
1016
|
-
perfEvt
|
|
1017
|
-
if (currentActive
|
|
1018
|
-
var children = currentActive
|
|
1064
|
+
if (currentActive && perfEvt[_DYN_SET_CTX ]) {
|
|
1065
|
+
perfEvt[_DYN_SET_CTX ](PerfEvent[strParentContextKey], currentActive);
|
|
1066
|
+
if (currentActive[_DYN_GET_CTX ] && currentActive[_DYN_SET_CTX ]) {
|
|
1067
|
+
var children = currentActive[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
1019
1068
|
if (!children) {
|
|
1020
1069
|
children = [];
|
|
1021
|
-
currentActive
|
|
1070
|
+
currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
|
|
1022
1071
|
}
|
|
1023
|
-
children
|
|
1072
|
+
children[_DYN_PUSH ](perfEvt);
|
|
1024
1073
|
}
|
|
1025
1074
|
}
|
|
1026
|
-
perfMgr
|
|
1075
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
|
|
1027
1076
|
return func(perfEvt);
|
|
1028
1077
|
}
|
|
1029
1078
|
}
|
|
1030
1079
|
catch (ex) {
|
|
1031
|
-
if (perfEvt && perfEvt
|
|
1032
|
-
perfEvt
|
|
1080
|
+
if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
|
|
1081
|
+
perfEvt[_DYN_SET_CTX ]("exception", ex);
|
|
1033
1082
|
}
|
|
1034
1083
|
}
|
|
1035
1084
|
finally {
|
|
1036
1085
|
if (perfEvt) {
|
|
1037
1086
|
perfMgr.fire(perfEvt);
|
|
1038
1087
|
}
|
|
1039
|
-
perfMgr
|
|
1088
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
|
|
1040
1089
|
}
|
|
1041
1090
|
}
|
|
1042
1091
|
}
|
|
@@ -1098,8 +1147,8 @@
|
|
|
1098
1147
|
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1099
1148
|
var number = random32() >>> 0;
|
|
1100
1149
|
var chars = 0;
|
|
1101
|
-
var result =
|
|
1102
|
-
while (result
|
|
1150
|
+
var result = STR_EMPTY;
|
|
1151
|
+
while (result[_DYN_LENGTH$1 ] < maxLength) {
|
|
1103
1152
|
chars++;
|
|
1104
1153
|
result += base64chars.charAt(number & 0x3F);
|
|
1105
1154
|
number >>>= 6;
|
|
@@ -1112,7 +1161,7 @@
|
|
|
1112
1161
|
}
|
|
1113
1162
|
|
|
1114
1163
|
var _objDefineProperty = ObjDefineProperty;
|
|
1115
|
-
var version = "2.8.5-nightly.2206-
|
|
1164
|
+
var version = "2.8.5-nightly.2206-06";
|
|
1116
1165
|
var instanceName = "." + newId(6);
|
|
1117
1166
|
var _dataUid = 0;
|
|
1118
1167
|
function _createAccessor(target, prop, value) {
|
|
@@ -1131,7 +1180,7 @@
|
|
|
1131
1180
|
return false;
|
|
1132
1181
|
}
|
|
1133
1182
|
function _canAcceptData(target) {
|
|
1134
|
-
return target
|
|
1183
|
+
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1135
1184
|
}
|
|
1136
1185
|
function _getCache(data, target) {
|
|
1137
1186
|
var theCache = target[data.id];
|
|
@@ -1151,11 +1200,11 @@
|
|
|
1151
1200
|
}
|
|
1152
1201
|
function createUniqueNamespace(name, includeVersion) {
|
|
1153
1202
|
if (includeVersion === void 0) { includeVersion = false; }
|
|
1154
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version :
|
|
1203
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1155
1204
|
}
|
|
1156
1205
|
function createElmNodeData(name) {
|
|
1157
1206
|
var data = {
|
|
1158
|
-
id: createUniqueNamespace("_aiData-" + (name ||
|
|
1207
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1159
1208
|
accept: function (target) {
|
|
1160
1209
|
return _canAcceptData(target);
|
|
1161
1210
|
},
|
|
@@ -1197,16 +1246,17 @@
|
|
|
1197
1246
|
var elmNodeData = createElmNodeData("events");
|
|
1198
1247
|
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
1199
1248
|
function _normalizeNamespace(name) {
|
|
1200
|
-
if (name && name
|
|
1201
|
-
return name.replace(/^\s*\.*|\.*\s*$/g,
|
|
1249
|
+
if (name && name[_DYN_REPLACE ]) {
|
|
1250
|
+
return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
|
|
1202
1251
|
}
|
|
1203
1252
|
return name;
|
|
1204
1253
|
}
|
|
1205
1254
|
function _getEvtNamespace(eventName, evtNamespace) {
|
|
1255
|
+
var _a;
|
|
1206
1256
|
if (evtNamespace) {
|
|
1207
|
-
var theNamespace_1 =
|
|
1257
|
+
var theNamespace_1 = STR_EMPTY;
|
|
1208
1258
|
if (isArray(evtNamespace)) {
|
|
1209
|
-
theNamespace_1 =
|
|
1259
|
+
theNamespace_1 = STR_EMPTY;
|
|
1210
1260
|
arrForEach(evtNamespace, function (name) {
|
|
1211
1261
|
name = _normalizeNamespace(name);
|
|
1212
1262
|
if (name) {
|
|
@@ -1224,14 +1274,14 @@
|
|
|
1224
1274
|
if (theNamespace_1[0] !== ".") {
|
|
1225
1275
|
theNamespace_1 = "." + theNamespace_1;
|
|
1226
1276
|
}
|
|
1227
|
-
eventName = (eventName ||
|
|
1277
|
+
eventName = (eventName || STR_EMPTY) + theNamespace_1;
|
|
1228
1278
|
}
|
|
1229
1279
|
}
|
|
1230
|
-
var parsedEvent = (eventNamespace.exec(eventName ||
|
|
1231
|
-
return {
|
|
1232
|
-
|
|
1233
|
-
ns
|
|
1234
|
-
|
|
1280
|
+
var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
|
|
1281
|
+
return _a = {},
|
|
1282
|
+
_a[_DYN_TYPE ] = parsedEvent[1],
|
|
1283
|
+
_a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT ](".").sort()).join("."),
|
|
1284
|
+
_a;
|
|
1235
1285
|
}
|
|
1236
1286
|
function _getRegisteredEvents(target, evtName, addDefault) {
|
|
1237
1287
|
if (addDefault === void 0) { addDefault = true; }
|
|
@@ -1243,53 +1293,53 @@
|
|
|
1243
1293
|
return registeredEvents;
|
|
1244
1294
|
}
|
|
1245
1295
|
function _doDetach(obj, evtName, handlerRef, useCapture) {
|
|
1246
|
-
if (obj && evtName && evtName
|
|
1296
|
+
if (obj && evtName && evtName[_DYN_TYPE ]) {
|
|
1247
1297
|
if (obj[strRemoveEventListener]) {
|
|
1248
|
-
obj[strRemoveEventListener](evtName
|
|
1298
|
+
obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
1249
1299
|
}
|
|
1250
1300
|
else if (obj[strDetachEvent]) {
|
|
1251
|
-
obj[strDetachEvent](strOnPrefix + evtName
|
|
1301
|
+
obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
1252
1302
|
}
|
|
1253
1303
|
}
|
|
1254
1304
|
}
|
|
1255
1305
|
function _doAttach(obj, evtName, handlerRef, useCapture) {
|
|
1256
1306
|
var result = false;
|
|
1257
|
-
if (obj && evtName && evtName
|
|
1307
|
+
if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
|
|
1258
1308
|
if (obj[strAddEventHelper]) {
|
|
1259
|
-
obj[strAddEventHelper](evtName
|
|
1309
|
+
obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
1260
1310
|
result = true;
|
|
1261
1311
|
}
|
|
1262
1312
|
else if (obj[strAttachEvent]) {
|
|
1263
|
-
obj[strAttachEvent](strOnPrefix + evtName
|
|
1313
|
+
obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
1264
1314
|
result = true;
|
|
1265
1315
|
}
|
|
1266
1316
|
}
|
|
1267
1317
|
return result;
|
|
1268
1318
|
}
|
|
1269
1319
|
function _doUnregister(target, events, evtName, unRegFn) {
|
|
1270
|
-
var idx = events
|
|
1320
|
+
var idx = events[_DYN_LENGTH$1 ];
|
|
1271
1321
|
while (idx--) {
|
|
1272
1322
|
var theEvent = events[idx];
|
|
1273
1323
|
if (theEvent) {
|
|
1274
1324
|
if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
|
|
1275
1325
|
if (!unRegFn || unRegFn(theEvent)) {
|
|
1276
|
-
_doDetach(target, theEvent.evtName, theEvent
|
|
1277
|
-
events
|
|
1326
|
+
_doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
|
|
1327
|
+
events[_DYN_SPLICE ](idx, 1);
|
|
1278
1328
|
}
|
|
1279
1329
|
}
|
|
1280
1330
|
}
|
|
1281
1331
|
}
|
|
1282
1332
|
}
|
|
1283
1333
|
function _unregisterEvents(target, evtName, unRegFn) {
|
|
1284
|
-
if (evtName
|
|
1285
|
-
_doUnregister(target, _getRegisteredEvents(target, evtName
|
|
1334
|
+
if (evtName[_DYN_TYPE ]) {
|
|
1335
|
+
_doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
|
|
1286
1336
|
}
|
|
1287
1337
|
else {
|
|
1288
1338
|
var eventCache = elmNodeData.get(target, strEvents, {});
|
|
1289
1339
|
objForEachKey(eventCache, function (evtType, events) {
|
|
1290
1340
|
_doUnregister(target, events, evtName, unRegFn);
|
|
1291
1341
|
});
|
|
1292
|
-
if (objKeys(eventCache)
|
|
1342
|
+
if (objKeys(eventCache)[_DYN_LENGTH$1 ] === 0) {
|
|
1293
1343
|
elmNodeData.kill(target, strEvents);
|
|
1294
1344
|
}
|
|
1295
1345
|
}
|
|
@@ -1303,7 +1353,7 @@
|
|
|
1303
1353
|
else {
|
|
1304
1354
|
newNamespaces = [theNamespace, namespaces];
|
|
1305
1355
|
}
|
|
1306
|
-
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)
|
|
1356
|
+
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
|
|
1307
1357
|
}
|
|
1308
1358
|
else {
|
|
1309
1359
|
newNamespaces = theNamespace;
|
|
@@ -1311,6 +1361,7 @@
|
|
|
1311
1361
|
return newNamespaces;
|
|
1312
1362
|
}
|
|
1313
1363
|
function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
1364
|
+
var _a;
|
|
1314
1365
|
if (useCapture === void 0) { useCapture = false; }
|
|
1315
1366
|
var result = false;
|
|
1316
1367
|
if (target) {
|
|
@@ -1318,13 +1369,14 @@
|
|
|
1318
1369
|
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
1319
1370
|
result = _doAttach(target, evtName, handlerRef, useCapture);
|
|
1320
1371
|
if (result && elmNodeData.accept(target)) {
|
|
1321
|
-
var registeredEvent = {
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1372
|
+
var registeredEvent = (_a = {
|
|
1373
|
+
guid: _guid++,
|
|
1374
|
+
evtName: evtName
|
|
1375
|
+
},
|
|
1376
|
+
_a[_DYN_HANDLER ] = handlerRef,
|
|
1377
|
+
_a.capture = useCapture,
|
|
1378
|
+
_a);
|
|
1379
|
+
_getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
|
|
1328
1380
|
}
|
|
1329
1381
|
}
|
|
1330
1382
|
catch (e) {
|
|
@@ -1339,7 +1391,7 @@
|
|
|
1339
1391
|
var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
|
|
1340
1392
|
var found_1 = false;
|
|
1341
1393
|
_unregisterEvents(target, evtName_1, function (regEvent) {
|
|
1342
|
-
if ((evtName_1.ns && !handlerRef) || regEvent
|
|
1394
|
+
if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
|
|
1343
1395
|
found_1 = true;
|
|
1344
1396
|
return true;
|
|
1345
1397
|
}
|
|
@@ -1354,7 +1406,6 @@
|
|
|
1354
1406
|
}
|
|
1355
1407
|
}
|
|
1356
1408
|
|
|
1357
|
-
var strDoUnload = "_doUnload";
|
|
1358
1409
|
var pluginStateData = createElmNodeData("plugin");
|
|
1359
1410
|
function _getPluginState(plugin) {
|
|
1360
1411
|
return pluginStateData.get(plugin, "state", {}, true);
|
|
@@ -1362,12 +1413,12 @@
|
|
|
1362
1413
|
function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {
|
|
1363
1414
|
var idx = 0;
|
|
1364
1415
|
function _doUnload() {
|
|
1365
|
-
while (idx < components
|
|
1416
|
+
while (idx < components[_DYN_LENGTH$1 ]) {
|
|
1366
1417
|
var component = components[idx++];
|
|
1367
1418
|
if (component) {
|
|
1368
|
-
var func = component
|
|
1419
|
+
var func = component._doUnload || component[_DYN__DO_TEARDOWN ];
|
|
1369
1420
|
if (isFunction(func)) {
|
|
1370
|
-
if (func
|
|
1421
|
+
if (func[_DYN_CALL ](component, unloadCtx, unloadState, _doUnload) === true) {
|
|
1371
1422
|
return true;
|
|
1372
1423
|
}
|
|
1373
1424
|
}
|
|
@@ -1383,12 +1434,12 @@
|
|
|
1383
1434
|
var _chainId = 0;
|
|
1384
1435
|
function _getNextProxyStart(proxy, core, startAt) {
|
|
1385
1436
|
while (proxy) {
|
|
1386
|
-
if (proxy
|
|
1437
|
+
if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
|
|
1387
1438
|
return proxy;
|
|
1388
1439
|
}
|
|
1389
|
-
proxy = proxy
|
|
1440
|
+
proxy = proxy[_DYN_GET_NEXT ]();
|
|
1390
1441
|
}
|
|
1391
|
-
return createTelemetryProxyChain([startAt], core
|
|
1442
|
+
return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
|
|
1392
1443
|
}
|
|
1393
1444
|
function _createInternalContext(telemetryChain, config, core, startAt) {
|
|
1394
1445
|
var _nextProxy = null;
|
|
@@ -1429,7 +1480,7 @@
|
|
|
1429
1480
|
args[_i - 2] = arguments[_i];
|
|
1430
1481
|
}
|
|
1431
1482
|
if (onComplete) {
|
|
1432
|
-
_onComplete
|
|
1483
|
+
_onComplete[_DYN_PUSH ]({
|
|
1433
1484
|
func: onComplete,
|
|
1434
1485
|
self: !isUndefined(that) ? that : context.ctx,
|
|
1435
1486
|
args: args
|
|
@@ -1438,16 +1489,16 @@
|
|
|
1438
1489
|
}
|
|
1439
1490
|
function _moveNext() {
|
|
1440
1491
|
var nextProxy = _nextProxy;
|
|
1441
|
-
_nextProxy = nextProxy ? nextProxy
|
|
1492
|
+
_nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
|
|
1442
1493
|
if (!nextProxy) {
|
|
1443
1494
|
var onComplete = _onComplete;
|
|
1444
|
-
if (onComplete && onComplete
|
|
1495
|
+
if (onComplete && onComplete[_DYN_LENGTH$1 ] > 0) {
|
|
1445
1496
|
arrForEach(onComplete, function (completeDetails) {
|
|
1446
1497
|
try {
|
|
1447
|
-
completeDetails.func
|
|
1498
|
+
completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
|
|
1448
1499
|
}
|
|
1449
1500
|
catch (e) {
|
|
1450
|
-
_throwInternal(core
|
|
1501
|
+
_throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
|
|
1451
1502
|
}
|
|
1452
1503
|
});
|
|
1453
1504
|
_onComplete = [];
|
|
@@ -1460,7 +1511,7 @@
|
|
|
1460
1511
|
if (mergeDefault === void 0) { mergeDefault = 0 ; }
|
|
1461
1512
|
var theConfig;
|
|
1462
1513
|
if (config) {
|
|
1463
|
-
var extConfig = config
|
|
1514
|
+
var extConfig = config[STR_EXTENSION_CONFIG ];
|
|
1464
1515
|
if (extConfig && identifier) {
|
|
1465
1516
|
theConfig = extConfig[identifier];
|
|
1466
1517
|
}
|
|
@@ -1501,7 +1552,7 @@
|
|
|
1501
1552
|
function _iterateChain(cb) {
|
|
1502
1553
|
var nextPlugin;
|
|
1503
1554
|
while (!!(nextPlugin = context._next())) {
|
|
1504
|
-
var plugin = nextPlugin
|
|
1555
|
+
var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
|
|
1505
1556
|
if (plugin) {
|
|
1506
1557
|
cb(plugin);
|
|
1507
1558
|
}
|
|
@@ -1514,7 +1565,7 @@
|
|
|
1514
1565
|
var context = internalContext.ctx;
|
|
1515
1566
|
function _processNext(env) {
|
|
1516
1567
|
var nextPlugin = internalContext._next();
|
|
1517
|
-
nextPlugin && nextPlugin
|
|
1568
|
+
nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
|
|
1518
1569
|
return !nextPlugin;
|
|
1519
1570
|
}
|
|
1520
1571
|
function _createNew(plugins, startAt) {
|
|
@@ -1522,14 +1573,14 @@
|
|
|
1522
1573
|
if (isArray(plugins)) {
|
|
1523
1574
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1524
1575
|
}
|
|
1525
|
-
return createProcessTelemetryContext(plugins || context
|
|
1576
|
+
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
|
|
1526
1577
|
}
|
|
1527
|
-
context
|
|
1528
|
-
context
|
|
1578
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1579
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1529
1580
|
return context;
|
|
1530
1581
|
}
|
|
1531
1582
|
function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
|
|
1532
|
-
var config = core
|
|
1583
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1533
1584
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1534
1585
|
var context = internalContext.ctx;
|
|
1535
1586
|
function _processNext(unloadState) {
|
|
@@ -1542,20 +1593,20 @@
|
|
|
1542
1593
|
if (isArray(plugins)) {
|
|
1543
1594
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1544
1595
|
}
|
|
1545
|
-
return createProcessTelemetryUnloadContext(plugins || context
|
|
1596
|
+
return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1546
1597
|
}
|
|
1547
|
-
context
|
|
1548
|
-
context
|
|
1598
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1599
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1549
1600
|
return context;
|
|
1550
1601
|
}
|
|
1551
1602
|
function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
|
|
1552
|
-
var config = core
|
|
1603
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1553
1604
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1554
1605
|
var context = internalContext.ctx;
|
|
1555
1606
|
function _processNext(updateState) {
|
|
1556
1607
|
return context.iterate(function (plugin) {
|
|
1557
|
-
if (isFunction(plugin
|
|
1558
|
-
plugin
|
|
1608
|
+
if (isFunction(plugin[_DYN_UPDATE ])) {
|
|
1609
|
+
plugin[_DYN_UPDATE ](context, updateState);
|
|
1559
1610
|
}
|
|
1560
1611
|
});
|
|
1561
1612
|
}
|
|
@@ -1564,22 +1615,22 @@
|
|
|
1564
1615
|
if (isArray(plugins)) {
|
|
1565
1616
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1566
1617
|
}
|
|
1567
|
-
return createProcessTelemetryUpdateContext(plugins || context
|
|
1618
|
+
return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1568
1619
|
}
|
|
1569
|
-
context
|
|
1570
|
-
context
|
|
1620
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1621
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1571
1622
|
return context;
|
|
1572
1623
|
}
|
|
1573
1624
|
function createTelemetryProxyChain(plugins, config, core, startAt) {
|
|
1574
1625
|
var firstProxy = null;
|
|
1575
1626
|
var add = startAt ? false : true;
|
|
1576
|
-
if (isArray(plugins) && plugins
|
|
1627
|
+
if (isArray(plugins) && plugins[_DYN_LENGTH$1 ] > 0) {
|
|
1577
1628
|
var lastProxy_1 = null;
|
|
1578
1629
|
arrForEach(plugins, function (thePlugin) {
|
|
1579
1630
|
if (!add && startAt === thePlugin) {
|
|
1580
1631
|
add = true;
|
|
1581
1632
|
}
|
|
1582
|
-
if (add && thePlugin && isFunction(thePlugin
|
|
1633
|
+
if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
|
|
1583
1634
|
var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
|
|
1584
1635
|
if (!firstProxy) {
|
|
1585
1636
|
firstProxy = newProxy;
|
|
@@ -1598,11 +1649,11 @@
|
|
|
1598
1649
|
}
|
|
1599
1650
|
function createTelemetryPluginProxy(plugin, config, core) {
|
|
1600
1651
|
var nextProxy = null;
|
|
1601
|
-
var hasProcessTelemetry = isFunction(plugin
|
|
1602
|
-
var hasSetNext = isFunction(plugin
|
|
1652
|
+
var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
|
|
1653
|
+
var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
|
|
1603
1654
|
var chainId;
|
|
1604
1655
|
if (plugin) {
|
|
1605
|
-
chainId = plugin
|
|
1656
|
+
chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
|
|
1606
1657
|
}
|
|
1607
1658
|
else {
|
|
1608
1659
|
chainId = "Unknown-0-" + _chainId++;
|
|
@@ -1634,17 +1685,17 @@
|
|
|
1634
1685
|
}
|
|
1635
1686
|
function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
|
|
1636
1687
|
var hasRun = false;
|
|
1637
|
-
var identifier = plugin ? plugin
|
|
1688
|
+
var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
|
|
1638
1689
|
var hasRunContext = itemCtx[strHasRunFlags];
|
|
1639
1690
|
if (!hasRunContext) {
|
|
1640
1691
|
hasRunContext = itemCtx[strHasRunFlags] = {};
|
|
1641
1692
|
}
|
|
1642
1693
|
itemCtx.setNext(nextProxy);
|
|
1643
1694
|
if (plugin) {
|
|
1644
|
-
doPerf(itemCtx[
|
|
1695
|
+
doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
|
|
1645
1696
|
hasRunContext[chainId] = true;
|
|
1646
1697
|
try {
|
|
1647
|
-
var nextId = nextProxy ? nextProxy._id :
|
|
1698
|
+
var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
|
|
1648
1699
|
if (nextId) {
|
|
1649
1700
|
hasRunContext[nextId] = false;
|
|
1650
1701
|
}
|
|
@@ -1656,7 +1707,7 @@
|
|
|
1656
1707
|
hasRun = true;
|
|
1657
1708
|
}
|
|
1658
1709
|
if (!nextProxy || !hasNextRun) {
|
|
1659
|
-
_throwInternal(itemCtx
|
|
1710
|
+
_throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
|
|
1660
1711
|
}
|
|
1661
1712
|
}
|
|
1662
1713
|
}, details, isAsync);
|
|
@@ -1670,17 +1721,17 @@
|
|
|
1670
1721
|
return false;
|
|
1671
1722
|
}
|
|
1672
1723
|
var pluginState = _getPluginState(plugin);
|
|
1673
|
-
if (pluginState
|
|
1724
|
+
if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
|
|
1674
1725
|
return false;
|
|
1675
1726
|
}
|
|
1676
1727
|
if (hasSetNext) {
|
|
1677
|
-
plugin
|
|
1728
|
+
plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
|
|
1678
1729
|
}
|
|
1679
|
-
plugin
|
|
1730
|
+
plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
|
|
1680
1731
|
return true;
|
|
1681
1732
|
}
|
|
1682
1733
|
if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
|
|
1683
|
-
itemCtx
|
|
1734
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
1684
1735
|
}
|
|
1685
1736
|
}
|
|
1686
1737
|
function _unloadPlugin(unloadCtx, unloadState) {
|
|
@@ -1688,20 +1739,20 @@
|
|
|
1688
1739
|
var hasRun = false;
|
|
1689
1740
|
if (plugin) {
|
|
1690
1741
|
var pluginState = _getPluginState(plugin);
|
|
1691
|
-
var pluginCore = plugin[
|
|
1692
|
-
if (plugin && (!pluginCore || pluginCore === unloadCtx
|
|
1693
|
-
pluginState[
|
|
1694
|
-
pluginState[
|
|
1695
|
-
pluginState[
|
|
1696
|
-
if (plugin[
|
|
1742
|
+
var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
|
|
1743
|
+
if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
|
|
1744
|
+
pluginState[STR_CORE ] = null;
|
|
1745
|
+
pluginState[_DYN_TEARDOWN ] = true;
|
|
1746
|
+
pluginState[_DYN_IS_INITIALIZED ] = false;
|
|
1747
|
+
if (plugin[_DYN_TEARDOWN ] && plugin[_DYN_TEARDOWN ](unloadCtx, unloadState) === true) {
|
|
1697
1748
|
hasRun = true;
|
|
1698
1749
|
}
|
|
1699
1750
|
}
|
|
1700
1751
|
}
|
|
1701
1752
|
return hasRun;
|
|
1702
1753
|
}
|
|
1703
|
-
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState
|
|
1704
|
-
unloadCtx
|
|
1754
|
+
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState[_DYN_IS_ASYNC ])) {
|
|
1755
|
+
unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
|
|
1705
1756
|
}
|
|
1706
1757
|
}
|
|
1707
1758
|
function _updatePlugin(updateCtx, updateState) {
|
|
@@ -1709,9 +1760,9 @@
|
|
|
1709
1760
|
var hasRun = false;
|
|
1710
1761
|
if (plugin) {
|
|
1711
1762
|
var pluginState = _getPluginState(plugin);
|
|
1712
|
-
var pluginCore = plugin[
|
|
1713
|
-
if (plugin && (!pluginCore || pluginCore === updateCtx
|
|
1714
|
-
if (plugin[
|
|
1763
|
+
var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
|
|
1764
|
+
if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
|
|
1765
|
+
if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
|
|
1715
1766
|
hasRun = true;
|
|
1716
1767
|
}
|
|
1717
1768
|
}
|
|
@@ -1719,19 +1770,17 @@
|
|
|
1719
1770
|
return hasRun;
|
|
1720
1771
|
}
|
|
1721
1772
|
if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
|
|
1722
|
-
updateCtx
|
|
1773
|
+
updateCtx[_DYN_PROCESS_NEXT ](updateState);
|
|
1723
1774
|
}
|
|
1724
1775
|
}
|
|
1725
1776
|
return objFreeze(proxyChain);
|
|
1726
1777
|
}
|
|
1727
1778
|
|
|
1728
|
-
var strExtensionConfig = "extensionConfig";
|
|
1729
|
-
|
|
1730
1779
|
function createUnloadHandlerContainer() {
|
|
1731
1780
|
var handlers = [];
|
|
1732
1781
|
function _addHandler(handler) {
|
|
1733
1782
|
if (handler) {
|
|
1734
|
-
handlers
|
|
1783
|
+
handlers[_DYN_PUSH ](handler);
|
|
1735
1784
|
}
|
|
1736
1785
|
}
|
|
1737
1786
|
function _runHandlers(unloadCtx, unloadState) {
|
|
@@ -1740,7 +1789,7 @@
|
|
|
1740
1789
|
handler(unloadCtx, unloadState);
|
|
1741
1790
|
}
|
|
1742
1791
|
catch (e) {
|
|
1743
|
-
_throwInternal(unloadCtx
|
|
1792
|
+
_throwInternal(unloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
|
|
1744
1793
|
}
|
|
1745
1794
|
});
|
|
1746
1795
|
handlers = [];
|
|
@@ -1762,37 +1811,40 @@
|
|
|
1762
1811
|
var _hooks;
|
|
1763
1812
|
_initDefaults();
|
|
1764
1813
|
dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
|
|
1765
|
-
_self
|
|
1814
|
+
_self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
|
|
1766
1815
|
_setDefaults(config, core, pluginChain);
|
|
1767
1816
|
_isinitialized = true;
|
|
1768
1817
|
};
|
|
1769
|
-
_self
|
|
1770
|
-
var
|
|
1771
|
-
|
|
1818
|
+
_self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
|
|
1819
|
+
var _a;
|
|
1820
|
+
var core = _self[STR_CORE ];
|
|
1821
|
+
if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
|
|
1772
1822
|
return;
|
|
1773
1823
|
}
|
|
1774
1824
|
var result;
|
|
1775
1825
|
var unloadDone = false;
|
|
1776
1826
|
var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
|
|
1777
|
-
var theUnloadState = unloadState || {
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1827
|
+
var theUnloadState = unloadState || (_a = {
|
|
1828
|
+
reason: 0
|
|
1829
|
+
},
|
|
1830
|
+
_a[_DYN_IS_ASYNC ] = false,
|
|
1831
|
+
_a);
|
|
1781
1832
|
function _unloadCallback() {
|
|
1782
1833
|
if (!unloadDone) {
|
|
1783
1834
|
unloadDone = true;
|
|
1784
1835
|
_unloadHandlerContainer.run(theUnloadCtx, unloadState);
|
|
1785
|
-
|
|
1836
|
+
var oldHooks = _hooks;
|
|
1837
|
+
_hooks = [];
|
|
1838
|
+
arrForEach(oldHooks, function (fn) {
|
|
1786
1839
|
fn.rm();
|
|
1787
1840
|
});
|
|
1788
|
-
_hooks = [];
|
|
1789
1841
|
if (result === true) {
|
|
1790
|
-
theUnloadCtx
|
|
1842
|
+
theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
|
|
1791
1843
|
}
|
|
1792
1844
|
_initDefaults();
|
|
1793
1845
|
}
|
|
1794
1846
|
}
|
|
1795
|
-
if (!_self[
|
|
1847
|
+
if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
|
|
1796
1848
|
_unloadCallback();
|
|
1797
1849
|
}
|
|
1798
1850
|
else {
|
|
@@ -1800,9 +1852,9 @@
|
|
|
1800
1852
|
}
|
|
1801
1853
|
return result;
|
|
1802
1854
|
};
|
|
1803
|
-
_self
|
|
1804
|
-
var core = _self
|
|
1805
|
-
if (!core || (updateCtx && core !== updateCtx
|
|
1855
|
+
_self[_DYN_UPDATE ] = function (updateCtx, updateState) {
|
|
1856
|
+
var core = _self[STR_CORE ];
|
|
1857
|
+
if (!core || (updateCtx && core !== updateCtx[STR_CORE ]())) {
|
|
1806
1858
|
return;
|
|
1807
1859
|
}
|
|
1808
1860
|
var result;
|
|
@@ -1814,7 +1866,7 @@
|
|
|
1814
1866
|
function _updateCallback() {
|
|
1815
1867
|
if (!updateDone) {
|
|
1816
1868
|
updateDone = true;
|
|
1817
|
-
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx
|
|
1869
|
+
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
|
|
1818
1870
|
}
|
|
1819
1871
|
}
|
|
1820
1872
|
if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
|
|
@@ -1831,30 +1883,30 @@
|
|
|
1831
1883
|
_hooks = _hooks.concat(hooks);
|
|
1832
1884
|
}
|
|
1833
1885
|
else {
|
|
1834
|
-
_hooks
|
|
1886
|
+
_hooks[_DYN_PUSH ](hooks);
|
|
1835
1887
|
}
|
|
1836
1888
|
}
|
|
1837
1889
|
};
|
|
1838
1890
|
proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
|
|
1839
1891
|
});
|
|
1840
|
-
_self
|
|
1841
|
-
return _getTelCtx(itemCtx)
|
|
1892
|
+
_self[_DYN_DIAG_LOG ] = function (itemCtx) {
|
|
1893
|
+
return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ]();
|
|
1842
1894
|
};
|
|
1843
|
-
_self[
|
|
1895
|
+
_self[_DYN_IS_INITIALIZED ] = function () {
|
|
1844
1896
|
return _isinitialized;
|
|
1845
1897
|
};
|
|
1846
1898
|
_self.setInitialized = function (isInitialized) {
|
|
1847
1899
|
_isinitialized = isInitialized;
|
|
1848
1900
|
};
|
|
1849
|
-
_self[
|
|
1901
|
+
_self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
|
|
1850
1902
|
_nextPlugin = next;
|
|
1851
1903
|
};
|
|
1852
|
-
_self
|
|
1904
|
+
_self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
|
|
1853
1905
|
if (itemCtx) {
|
|
1854
|
-
itemCtx
|
|
1906
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
1855
1907
|
}
|
|
1856
|
-
else if (_nextPlugin && isFunction(_nextPlugin
|
|
1857
|
-
_nextPlugin
|
|
1908
|
+
else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
|
|
1909
|
+
_nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
|
|
1858
1910
|
}
|
|
1859
1911
|
};
|
|
1860
1912
|
_self._getTelCtx = _getTelCtx;
|
|
@@ -1862,145 +1914,213 @@
|
|
|
1862
1914
|
if (currentCtx === void 0) { currentCtx = null; }
|
|
1863
1915
|
var itemCtx = currentCtx;
|
|
1864
1916
|
if (!itemCtx) {
|
|
1865
|
-
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self
|
|
1917
|
+
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
|
|
1866
1918
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
1867
|
-
itemCtx = rootCtx
|
|
1919
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
|
|
1868
1920
|
}
|
|
1869
1921
|
else {
|
|
1870
|
-
itemCtx = rootCtx
|
|
1922
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
|
|
1871
1923
|
}
|
|
1872
1924
|
}
|
|
1873
1925
|
return itemCtx;
|
|
1874
1926
|
}
|
|
1875
1927
|
function _setDefaults(config, core, pluginChain) {
|
|
1876
1928
|
if (config) {
|
|
1877
|
-
setValue(config,
|
|
1929
|
+
setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
|
|
1878
1930
|
}
|
|
1879
1931
|
if (!pluginChain && core) {
|
|
1880
|
-
pluginChain = core
|
|
1932
|
+
pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
|
|
1881
1933
|
}
|
|
1882
1934
|
var nextPlugin = _nextPlugin;
|
|
1883
1935
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
1884
1936
|
nextPlugin = _nextPlugin[strGetPlugin]();
|
|
1885
1937
|
}
|
|
1886
|
-
_self
|
|
1938
|
+
_self[STR_CORE ] = core;
|
|
1887
1939
|
_rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
|
|
1888
1940
|
}
|
|
1889
1941
|
function _initDefaults() {
|
|
1890
1942
|
_isinitialized = false;
|
|
1891
|
-
_self
|
|
1943
|
+
_self[STR_CORE ] = null;
|
|
1892
1944
|
_rootCtx = null;
|
|
1893
1945
|
_nextPlugin = null;
|
|
1894
1946
|
_hooks = [];
|
|
1895
1947
|
_unloadHandlerContainer = createUnloadHandlerContainer();
|
|
1896
1948
|
}
|
|
1897
1949
|
}
|
|
1950
|
+
BaseTelemetryPlugin.__ieDyn=1;
|
|
1898
1951
|
return BaseTelemetryPlugin;
|
|
1899
1952
|
}());
|
|
1900
1953
|
|
|
1954
|
+
var _a;
|
|
1955
|
+
var FAILED = "Failed";
|
|
1956
|
+
var FAILED_MONITOR_AJAX = FAILED + "MonitorAjax";
|
|
1957
|
+
var TRACK = "Track";
|
|
1958
|
+
var START = "Start";
|
|
1959
|
+
var STOP = "Stop";
|
|
1960
|
+
var EVENT = "Event";
|
|
1961
|
+
var AUTH_CONTEXT = "AuthContext";
|
|
1962
|
+
var EXCEPTION = "Exception";
|
|
1963
|
+
var LOCAL = "Local";
|
|
1964
|
+
var SESSION = "Session";
|
|
1965
|
+
var STORAGE = "Storage";
|
|
1966
|
+
var BROWSER = "Browser";
|
|
1967
|
+
var CANNOT = "Cannot";
|
|
1968
|
+
var BUFFER = "Buffer";
|
|
1969
|
+
var INSTRUMENTATION_KEY = "InstrumentationKey";
|
|
1901
1970
|
createEnumStyle({
|
|
1902
1971
|
CRITICAL: 1 ,
|
|
1903
1972
|
WARNING: 2
|
|
1904
1973
|
});
|
|
1905
|
-
var _InternalMessageId = createEnumStyle({
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
ClientPerformanceMathError
|
|
1915
|
-
|
|
1916
|
-
ErrorPVCalc
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
MessageLimitPerPVExceeded
|
|
1930
|
-
MissingRequiredFieldSpecification
|
|
1931
|
-
NavigationTimingNotSupported
|
|
1932
|
-
OnError
|
|
1933
|
-
|
|
1934
|
-
SenderNotInitialized
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
TelemetrySampledAndNotSent
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
InvalidBackendResponse
|
|
1950
|
-
|
|
1951
|
-
InvalidDurationValue
|
|
1952
|
-
TelemetryEnvelopeInvalid
|
|
1953
|
-
CreateEnvelopeError
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
CircularReferenceDetected
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
IllegalCharsInName
|
|
1960
|
-
ItemNotInArray
|
|
1961
|
-
MaxAjaxPerPVExceeded
|
|
1962
|
-
MessageTruncated
|
|
1963
|
-
NameTooLong
|
|
1964
|
-
SampleRateOutOfRange
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
StringValueTooLong
|
|
1968
|
-
StartCalledMoreThanOnce
|
|
1969
|
-
StopCalledWithoutStart
|
|
1970
|
-
|
|
1971
|
-
TrackArgumentsNotSpecified
|
|
1972
|
-
UrlTooLong
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
IdTooLong
|
|
1976
|
-
InvalidEvent
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
SnippetScriptLoadFailure
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
InvalidContentBlob
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1974
|
+
var _InternalMessageId = createEnumStyle((_a = {},
|
|
1975
|
+
_a[BROWSER + "DoesNotSupport" + LOCAL + STORAGE] = 0 ,
|
|
1976
|
+
_a[BROWSER + CANNOT + "Read" + LOCAL + STORAGE] = 1 ,
|
|
1977
|
+
_a[BROWSER + CANNOT + "Read" + SESSION + STORAGE] = 2 ,
|
|
1978
|
+
_a[BROWSER + CANNOT + "Write" + LOCAL + STORAGE] = 3 ,
|
|
1979
|
+
_a[BROWSER + CANNOT + "Write" + SESSION + STORAGE] = 4 ,
|
|
1980
|
+
_a[BROWSER + FAILED + "RemovalFrom" + LOCAL + STORAGE] = 5 ,
|
|
1981
|
+
_a[BROWSER + FAILED + "RemovalFrom" + SESSION + STORAGE] = 6 ,
|
|
1982
|
+
_a[CANNOT + "SendEmptyTelemetry"] = 7 ,
|
|
1983
|
+
_a.ClientPerformanceMathError = 8 ,
|
|
1984
|
+
_a["ErrorParsingAI" + SESSION + "Cookie"] = 9 ,
|
|
1985
|
+
_a.ErrorPVCalc = 10 ,
|
|
1986
|
+
_a[EXCEPTION + "WhileLoggingError"] = 11 ,
|
|
1987
|
+
_a[FAILED + "AddingTelemetryTo" + BUFFER] = 12 ,
|
|
1988
|
+
_a[FAILED_MONITOR_AJAX + "Abort"] = 13 ,
|
|
1989
|
+
_a[FAILED_MONITOR_AJAX + "Dur"] = 14 ,
|
|
1990
|
+
_a[FAILED_MONITOR_AJAX + "Open"] = 15 ,
|
|
1991
|
+
_a[FAILED_MONITOR_AJAX + "RSC"] = 16 ,
|
|
1992
|
+
_a[FAILED_MONITOR_AJAX + "Send"] = 17 ,
|
|
1993
|
+
_a[FAILED_MONITOR_AJAX + "GetCorrelationHeader"] = 18 ,
|
|
1994
|
+
_a[FAILED + "ToAddHandlerForOnBeforeUnload"] = 19 ,
|
|
1995
|
+
_a[FAILED + "ToSendQueuedTelemetry"] = 20 ,
|
|
1996
|
+
_a[FAILED + "ToReportDataLoss"] = 21 ,
|
|
1997
|
+
_a["Flush" + FAILED] = 22 ,
|
|
1998
|
+
_a.MessageLimitPerPVExceeded = 23 ,
|
|
1999
|
+
_a.MissingRequiredFieldSpecification = 24 ,
|
|
2000
|
+
_a.NavigationTimingNotSupported = 25 ,
|
|
2001
|
+
_a.OnError = 26 ,
|
|
2002
|
+
_a[SESSION + "RenewalDateIsZero"] = 27 ,
|
|
2003
|
+
_a.SenderNotInitialized = 28 ,
|
|
2004
|
+
_a[START + TRACK + EVENT + FAILED] = 29 ,
|
|
2005
|
+
_a[STOP + TRACK + EVENT + FAILED] = 30 ,
|
|
2006
|
+
_a[START + TRACK + FAILED] = 31 ,
|
|
2007
|
+
_a[STOP + TRACK + FAILED] = 32 ,
|
|
2008
|
+
_a.TelemetrySampledAndNotSent = 33 ,
|
|
2009
|
+
_a[TRACK + EVENT + FAILED] = 34 ,
|
|
2010
|
+
_a[TRACK + EXCEPTION + FAILED] = 35 ,
|
|
2011
|
+
_a[TRACK + "Metric" + FAILED] = 36 ,
|
|
2012
|
+
_a[TRACK + "PV" + FAILED] = 37 ,
|
|
2013
|
+
_a[TRACK + "PV" + FAILED + "Calc"] = 38 ,
|
|
2014
|
+
_a[TRACK + "Trace" + FAILED] = 39 ,
|
|
2015
|
+
_a["Transmission" + FAILED] = 40 ,
|
|
2016
|
+
_a[FAILED + "ToSet" + STORAGE + BUFFER] = 41 ,
|
|
2017
|
+
_a[FAILED + "ToRestore" + STORAGE + BUFFER] = 42 ,
|
|
2018
|
+
_a.InvalidBackendResponse = 43 ,
|
|
2019
|
+
_a[FAILED + "ToFixDepricatedValues"] = 44 ,
|
|
2020
|
+
_a.InvalidDurationValue = 45 ,
|
|
2021
|
+
_a.TelemetryEnvelopeInvalid = 46 ,
|
|
2022
|
+
_a.CreateEnvelopeError = 47 ,
|
|
2023
|
+
_a[CANNOT + "SerializeObject"] = 48 ,
|
|
2024
|
+
_a[CANNOT + "SerializeObjectNonSerializable"] = 49 ,
|
|
2025
|
+
_a.CircularReferenceDetected = 50 ,
|
|
2026
|
+
_a["Clear" + AUTH_CONTEXT + FAILED] = 51 ,
|
|
2027
|
+
_a[EXCEPTION + "Truncated"] = 52 ,
|
|
2028
|
+
_a.IllegalCharsInName = 53 ,
|
|
2029
|
+
_a.ItemNotInArray = 54 ,
|
|
2030
|
+
_a.MaxAjaxPerPVExceeded = 55 ,
|
|
2031
|
+
_a.MessageTruncated = 56 ,
|
|
2032
|
+
_a.NameTooLong = 57 ,
|
|
2033
|
+
_a.SampleRateOutOfRange = 58 ,
|
|
2034
|
+
_a["Set" + AUTH_CONTEXT + FAILED] = 59 ,
|
|
2035
|
+
_a["Set" + AUTH_CONTEXT + FAILED + "AccountName"] = 60 ,
|
|
2036
|
+
_a.StringValueTooLong = 61 ,
|
|
2037
|
+
_a.StartCalledMoreThanOnce = 62 ,
|
|
2038
|
+
_a.StopCalledWithoutStart = 63 ,
|
|
2039
|
+
_a["TelemetryInitializer" + FAILED] = 64 ,
|
|
2040
|
+
_a.TrackArgumentsNotSpecified = 65 ,
|
|
2041
|
+
_a.UrlTooLong = 66 ,
|
|
2042
|
+
_a[SESSION + STORAGE + BUFFER + "Full"] = 67 ,
|
|
2043
|
+
_a[CANNOT + "AccessCookie"] = 68 ,
|
|
2044
|
+
_a.IdTooLong = 69 ,
|
|
2045
|
+
_a.InvalidEvent = 70 ,
|
|
2046
|
+
_a[FAILED_MONITOR_AJAX + "SetRequestHeader"] = 71 ,
|
|
2047
|
+
_a["Send" + BROWSER + "InfoOnUserInit"] = 72 ,
|
|
2048
|
+
_a["Plugin" + EXCEPTION] = 73 ,
|
|
2049
|
+
_a["Notification" + EXCEPTION] = 74 ,
|
|
2050
|
+
_a.SnippetScriptLoadFailure = 99 ,
|
|
2051
|
+
_a["Invalid" + INSTRUMENTATION_KEY] = 100 ,
|
|
2052
|
+
_a[CANNOT + "ParseAiBlobValue"] = 101 ,
|
|
2053
|
+
_a.InvalidContentBlob = 102 ,
|
|
2054
|
+
_a[TRACK + "PageAction" + EVENT + FAILED] = 103 ,
|
|
2055
|
+
_a[FAILED + "AddingCustomDefinedRequestContext"] = 104 ,
|
|
2056
|
+
_a["InMemory" + STORAGE + BUFFER + "Full"] = 105 ,
|
|
2057
|
+
_a[INSTRUMENTATION_KEY + "Deprecation"] = 106 ,
|
|
2058
|
+
_a));
|
|
1990
2059
|
|
|
1991
2060
|
var strNotSpecified = "not_specified";
|
|
1992
2061
|
|
|
1993
2062
|
var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
|
|
1994
2063
|
|
|
1995
|
-
var
|
|
2064
|
+
var _DYN_EXTENSION_CONFIG = "extensionConfig";
|
|
2065
|
+
var _DYN_PAGE_ACTION_PAGE_TAG0 = "pageActionPageTags";
|
|
2066
|
+
var _DYN_TRACK_PAGE_ACTION = "trackPageAction";
|
|
2067
|
+
var _DYN_LENGTH = "length";
|
|
2068
|
+
var _DYN_TAG_NAME = "tagName";
|
|
2069
|
+
var _DYN_TO_UPPER_CASE = "toUpperCase";
|
|
2070
|
+
var _DYN_PATHNAME = "pathname";
|
|
2071
|
+
var _DYN_PAGE_NAME = "pageName";
|
|
2072
|
+
var _DYN_CORE_DATA = "coreData";
|
|
2073
|
+
var _DYN_REQUEST_URI = "requestUri";
|
|
2074
|
+
var _DYN_GET_ATTRIBUTE = "getAttribute";
|
|
2075
|
+
var _DYN_PARENT_NODE = "parentNode";
|
|
2076
|
+
var _DYN_CUSTOM_DATA_PREFIX = "customDataPrefix";
|
|
2077
|
+
var _DYN_INDEX_OF = "indexOf";
|
|
2078
|
+
var _DYN_DATA_TAGS = "dataTags";
|
|
2079
|
+
var _DYN_USE_DEFAULT_CONTENT_1 = "useDefaultContentNameOrId";
|
|
2080
|
+
var _DYN_AI_BLOB_ATTRIBUTE_TA2 = "aiBlobAttributeTag";
|
|
2081
|
+
var _DYN_CAPTURE_ALL_META_DAT3 = "captureAllMetaDataContent";
|
|
2082
|
+
var _DYN_BEHAVIOR_VALIDATOR = "behaviorValidator";
|
|
2083
|
+
var _DYN_NAME = "name";
|
|
2084
|
+
var _DYN_DATA = "data";
|
|
2085
|
+
var _DYN_PAGE_TYPE = "pageType";
|
|
2086
|
+
var _DYN_PROPERTIES = "properties";
|
|
2087
|
+
var _DYN_ACTION_TYPE = "actionType";
|
|
2088
|
+
var _DYN_BEHAVIOR = "behavior";
|
|
2089
|
+
var _DYN_CLICK_COORDINATES = "clickCoordinates";
|
|
2090
|
+
var _DYN_CONTENT = "content";
|
|
2091
|
+
var _DYN_REF_URI = "refUri";
|
|
2092
|
+
var _DYN_PARENT_ID = "parentId";
|
|
2093
|
+
var _DYN_CAPTURE_PAGE_ACTION = "capturePageAction";
|
|
2094
|
+
var _DYN_SET_COMMON_PROPERTIE4 = "setCommonProperties";
|
|
2095
|
+
var _DYN_GET_ELEMENT_CONTENT = "getElementContent";
|
|
2096
|
+
var _DYN__GET_VALID_BEHAVIOR = "_getValidBehavior";
|
|
2097
|
+
var _DYN_CONTENT_NAME = "contentName";
|
|
2098
|
+
var _DYN__TRACE_LOGGER = "_traceLogger";
|
|
2099
|
+
var _DYN_CLICK_COORDINATE_X = "clickCoordinateX";
|
|
2100
|
+
var _DYN_CLICK_COORDINATE_Y = "clickCoordinateY";
|
|
2101
|
+
var _DYN__CONFIG = "_config";
|
|
2102
|
+
var _DYN_PARENT_DATA_TAG = "parentDataTag";
|
|
2103
|
+
var _DYN__PAGE_TAGS = "_pageTags";
|
|
2104
|
+
var _DYN__PAGE_TAGS_CALLBACK = "_pageTagsCallback";
|
|
2105
|
+
var _DYN__META_TAGS = "_metaTags";
|
|
2106
|
+
var _DYN_SET_BASIC_PROPERTIES = "setBasicProperties";
|
|
2107
|
+
var _DYN__PAGE_TYPE_META_TAG = "_pageTypeMetaTag";
|
|
2108
|
+
var _DYN__BEHAVIOR_META_TAG = "_behaviorMetaTag";
|
|
2109
|
+
var _DYN_PARENT_ELEMENT = "parentElement";
|
|
2110
|
+
var _DYN_ATTRIBUTES = "attributes";
|
|
2111
|
+
|
|
1996
2112
|
var DEFAULT_DONOT_TRACK_TAG = "ai-dnt";
|
|
1997
2113
|
var DEFAULT_AI_BLOB_ATTRIBUTE_TAG = "ai-blob";
|
|
1998
2114
|
var DEFAULT_DATA_PREFIX = "data-";
|
|
1999
|
-
__assignFn(__assignFn({}, _InternalMessageId), {
|
|
2115
|
+
__assignFn(__assignFn({}, _InternalMessageId), createEnumStyle({
|
|
2116
|
+
CannotParseAiBlobValue: 101 ,
|
|
2117
|
+
InvalidContentBlob: 102 ,
|
|
2118
|
+
TrackPageActionEventFailed: 103
|
|
2119
|
+
}));
|
|
2000
2120
|
function removeNonObjectsAndInvalidElements(overrideConfig, attributeNamesExpectedObjects) {
|
|
2001
2121
|
removeInvalidElements(overrideConfig);
|
|
2002
2122
|
for (var i in attributeNamesExpectedObjects) {
|
|
2003
|
-
if (
|
|
2123
|
+
if (hasOwnProperty(attributeNamesExpectedObjects, i)) {
|
|
2004
2124
|
var objectName = attributeNamesExpectedObjects[i];
|
|
2005
2125
|
if (typeof overrideConfig[objectName] === "object") {
|
|
2006
2126
|
removeInvalidElements(overrideConfig[objectName]);
|
|
@@ -2087,15 +2207,15 @@
|
|
|
2087
2207
|
return walkUpDomChainWithElementValidation(el, isAttributeInElement, attribute);
|
|
2088
2208
|
}
|
|
2089
2209
|
function isAttributeInElement(element, attributeToLookFor) {
|
|
2090
|
-
var value = element
|
|
2210
|
+
var value = element[_DYN_GET_ATTRIBUTE ](attributeToLookFor);
|
|
2091
2211
|
return isValueAssigned(value);
|
|
2092
2212
|
}
|
|
2093
2213
|
function walkUpDomChainWithElementValidation(el, validationMethod, validationMethodParam) {
|
|
2094
2214
|
var element = el;
|
|
2095
2215
|
if (element) {
|
|
2096
2216
|
while (!validationMethod(element, validationMethodParam)) {
|
|
2097
|
-
element = element
|
|
2098
|
-
if (!element || !(element
|
|
2217
|
+
element = element[_DYN_PARENT_NODE ];
|
|
2218
|
+
if (!element || !(element[_DYN_GET_ATTRIBUTE ])) {
|
|
2099
2219
|
return null;
|
|
2100
2220
|
}
|
|
2101
2221
|
}
|
|
@@ -2119,62 +2239,35 @@
|
|
|
2119
2239
|
function bracketIt(str) {
|
|
2120
2240
|
return "[" + str + "]";
|
|
2121
2241
|
}
|
|
2122
|
-
function extend(obj, obj2, obj3, obj4, obj5) {
|
|
2123
|
-
var extended = {};
|
|
2124
|
-
var deep = false;
|
|
2125
|
-
var i = 0;
|
|
2126
|
-
var length = arguments.length;
|
|
2127
|
-
var objProto = Object[Prototype];
|
|
2128
|
-
var theArgs = arguments;
|
|
2129
|
-
if (objProto.toString.call(theArgs[0]) === "[object Boolean]") {
|
|
2130
|
-
deep = theArgs[0];
|
|
2131
|
-
i++;
|
|
2132
|
-
}
|
|
2133
|
-
var merge = function (obj) {
|
|
2134
|
-
for (var prop in obj) {
|
|
2135
|
-
if (hasOwnProperty(obj, prop)) {
|
|
2136
|
-
if (deep && objProto.toString.call(obj[prop]) === "[object Object]") {
|
|
2137
|
-
extended[prop] = extend(true, extended[prop], obj[prop]);
|
|
2138
|
-
}
|
|
2139
|
-
else {
|
|
2140
|
-
extended[prop] = obj[prop];
|
|
2141
|
-
}
|
|
2142
|
-
}
|
|
2143
|
-
}
|
|
2144
|
-
};
|
|
2145
|
-
for (; i < length; i++) {
|
|
2146
|
-
var obj = theArgs[i];
|
|
2147
|
-
merge(obj);
|
|
2148
|
-
}
|
|
2149
|
-
return extended;
|
|
2150
|
-
}
|
|
2151
2242
|
function validateContentNamePrefix(config, defaultDataPrefix) {
|
|
2152
|
-
return isValueAssigned(config.dataTags
|
|
2243
|
+
return isValueAssigned(config.dataTags[_DYN_CUSTOM_DATA_PREFIX ]) && (config[_DYN_DATA_TAGS ][_DYN_CUSTOM_DATA_PREFIX ][_DYN_INDEX_OF ](defaultDataPrefix) === 0);
|
|
2153
2244
|
}
|
|
2154
2245
|
function mergeConfig(overrideConfig) {
|
|
2155
|
-
var
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2246
|
+
var _a, _b, _c;
|
|
2247
|
+
var defaultConfig = (_a = {
|
|
2248
|
+
autoCapture: true,
|
|
2249
|
+
callback: (_b = {},
|
|
2250
|
+
_b[_DYN_PAGE_ACTION_PAGE_TAG0 ] = null,
|
|
2251
|
+
_b),
|
|
2252
|
+
pageTags: {},
|
|
2253
|
+
coreData: {
|
|
2254
|
+
referrerUri: hasDocument ? document.referrer : "",
|
|
2255
|
+
requestUri: "",
|
|
2256
|
+
pageName: "",
|
|
2257
|
+
pageType: ""
|
|
2258
|
+
},
|
|
2259
|
+
dataTags: (_c = {},
|
|
2260
|
+
_c[_DYN_USE_DEFAULT_CONTENT_1 ] = false,
|
|
2261
|
+
_c[_DYN_AI_BLOB_ATTRIBUTE_TA2 ] = DEFAULT_AI_BLOB_ATTRIBUTE_TAG,
|
|
2262
|
+
_c[_DYN_CUSTOM_DATA_PREFIX ] = DEFAULT_DATA_PREFIX,
|
|
2263
|
+
_c[_DYN_CAPTURE_ALL_META_DAT3 ] = false,
|
|
2264
|
+
_c.dntDataTag = DEFAULT_DONOT_TRACK_TAG,
|
|
2265
|
+
_c)
|
|
2173
2266
|
},
|
|
2174
|
-
|
|
2175
|
-
defaultRightClickBhvr
|
|
2176
|
-
dropInvalidEvents
|
|
2177
|
-
|
|
2267
|
+
_a[_DYN_BEHAVIOR_VALIDATOR ] = function (key) { return key || ""; },
|
|
2268
|
+
_a.defaultRightClickBhvr = "",
|
|
2269
|
+
_a.dropInvalidEvents = false,
|
|
2270
|
+
_a);
|
|
2178
2271
|
var attributesThatAreObjectsInConfig = [];
|
|
2179
2272
|
for (var attribute in defaultConfig) {
|
|
2180
2273
|
if (typeof defaultConfig[attribute] === "object") {
|
|
@@ -2183,10 +2276,10 @@
|
|
|
2183
2276
|
}
|
|
2184
2277
|
if (overrideConfig) {
|
|
2185
2278
|
removeNonObjectsAndInvalidElements(overrideConfig, attributesThatAreObjectsInConfig);
|
|
2186
|
-
if (isValueAssigned(overrideConfig
|
|
2187
|
-
overrideConfig.dataTags
|
|
2279
|
+
if (isValueAssigned(overrideConfig[_DYN_DATA_TAGS ])) {
|
|
2280
|
+
overrideConfig.dataTags[_DYN_CUSTOM_DATA_PREFIX ] = validateContentNamePrefix(overrideConfig, DEFAULT_DATA_PREFIX) ? overrideConfig[_DYN_DATA_TAGS ][_DYN_CUSTOM_DATA_PREFIX ] : DEFAULT_DATA_PREFIX;
|
|
2188
2281
|
}
|
|
2189
|
-
return
|
|
2282
|
+
return objExtend(true, defaultConfig, overrideConfig);
|
|
2190
2283
|
}
|
|
2191
2284
|
}
|
|
2192
2285
|
function BehaviorMapValidator(map) {
|
|
@@ -2213,7 +2306,7 @@
|
|
|
2213
2306
|
var temp = element;
|
|
2214
2307
|
if (temp) {
|
|
2215
2308
|
var parent = findClosestAnchor(temp);
|
|
2216
|
-
if (parent
|
|
2309
|
+
if (parent[_DYN_LENGTH ] === 1) {
|
|
2217
2310
|
var firstParent = parent[0];
|
|
2218
2311
|
if (firstParent.href) {
|
|
2219
2312
|
return firstParent.href;
|
|
@@ -2227,7 +2320,7 @@
|
|
|
2227
2320
|
}
|
|
2228
2321
|
function getClickTarget(element) {
|
|
2229
2322
|
var clickTarget = "";
|
|
2230
|
-
switch (element
|
|
2323
|
+
switch (element[_DYN_TAG_NAME ]) {
|
|
2231
2324
|
case "A":
|
|
2232
2325
|
case "AREA":
|
|
2233
2326
|
clickTarget = element.href || "";
|
|
@@ -2237,13 +2330,13 @@
|
|
|
2237
2330
|
break;
|
|
2238
2331
|
case "INPUT":
|
|
2239
2332
|
var type = element.type;
|
|
2240
|
-
if (type && (clickCaptureInputTypes$1[type
|
|
2333
|
+
if (type && (clickCaptureInputTypes$1[type[_DYN_TO_UPPER_CASE ]()])) {
|
|
2241
2334
|
var loc = getLocation() || {};
|
|
2242
2335
|
if (element.form) {
|
|
2243
|
-
clickTarget = element.form.action || (loc
|
|
2336
|
+
clickTarget = element.form.action || (loc[_DYN_PATHNAME ] || "");
|
|
2244
2337
|
}
|
|
2245
2338
|
else {
|
|
2246
|
-
clickTarget = loc
|
|
2339
|
+
clickTarget = loc[_DYN_PATHNAME ] || "";
|
|
2247
2340
|
}
|
|
2248
2341
|
}
|
|
2249
2342
|
break;
|
|
@@ -2251,14 +2344,14 @@
|
|
|
2251
2344
|
return clickTarget;
|
|
2252
2345
|
}
|
|
2253
2346
|
function getPageName(config, overrideValues) {
|
|
2254
|
-
if (overrideValues && overrideValues
|
|
2255
|
-
return overrideValues
|
|
2347
|
+
if (overrideValues && overrideValues[_DYN_PAGE_NAME ]) {
|
|
2348
|
+
return overrideValues[_DYN_PAGE_NAME ];
|
|
2256
2349
|
}
|
|
2257
|
-
else if (config.callback && isFunction(config.callback
|
|
2258
|
-
return config.callback
|
|
2350
|
+
else if (config.callback && isFunction(config.callback[_DYN_PAGE_NAME ])) {
|
|
2351
|
+
return config.callback[_DYN_PAGE_NAME ]();
|
|
2259
2352
|
}
|
|
2260
|
-
else if (config.coreData && config.coreData
|
|
2261
|
-
return config.coreData
|
|
2353
|
+
else if (config.coreData && config.coreData[_DYN_PAGE_NAME ]) {
|
|
2354
|
+
return config.coreData[_DYN_PAGE_NAME ];
|
|
2262
2355
|
}
|
|
2263
2356
|
else {
|
|
2264
2357
|
var doc = getDocument();
|
|
@@ -2271,12 +2364,12 @@
|
|
|
2271
2364
|
}
|
|
2272
2365
|
var url = location.protocol + "//" + (location.hostname || location.host) +
|
|
2273
2366
|
(isValueAssigned(location.port) ? ":" + location.port : "") +
|
|
2274
|
-
location
|
|
2367
|
+
location[_DYN_PATHNAME ];
|
|
2275
2368
|
return url;
|
|
2276
2369
|
}
|
|
2277
2370
|
function getUri(config, location) {
|
|
2278
|
-
if (config
|
|
2279
|
-
return config
|
|
2371
|
+
if (config[_DYN_CORE_DATA ] && config[_DYN_CORE_DATA ][_DYN_REQUEST_URI ] && config[_DYN_CORE_DATA ][_DYN_REQUEST_URI ] !== "") {
|
|
2372
|
+
return config[_DYN_CORE_DATA ][_DYN_REQUEST_URI ];
|
|
2280
2373
|
}
|
|
2281
2374
|
return sanitizeUrl(config, location);
|
|
2282
2375
|
}
|
|
@@ -2286,64 +2379,64 @@
|
|
|
2286
2379
|
dynamicProto(WebEvent, this, function (_self) {
|
|
2287
2380
|
_initDefaults();
|
|
2288
2381
|
function _initDefaults() {
|
|
2289
|
-
_self
|
|
2382
|
+
_self[_DYN__PAGE_TAGS ] = {};
|
|
2290
2383
|
_self._clickAnalyticsPlugin = clickAnalyticsPlugin;
|
|
2291
|
-
_self
|
|
2384
|
+
_self[_DYN__CONFIG ] = config;
|
|
2292
2385
|
_self._contentHandler = contentHandler;
|
|
2293
|
-
_self
|
|
2294
|
-
_self
|
|
2295
|
-
_self
|
|
2386
|
+
_self[_DYN__PAGE_TAGS_CALLBACK ] = pageTagsCallback;
|
|
2387
|
+
_self[_DYN__META_TAGS ] = metaTags;
|
|
2388
|
+
_self[_DYN__TRACE_LOGGER ] = traceLogger;
|
|
2296
2389
|
}
|
|
2297
|
-
_self
|
|
2298
|
-
if (!isValueAssigned(event
|
|
2299
|
-
event
|
|
2390
|
+
_self[_DYN_SET_BASIC_PROPERTIES ] = function (event, overrideValues) {
|
|
2391
|
+
if (!isValueAssigned(event[_DYN_NAME ])) {
|
|
2392
|
+
event[_DYN_PAGE_NAME ] = getPageName(_self[_DYN__CONFIG ], overrideValues);
|
|
2300
2393
|
}
|
|
2301
2394
|
if (!isValueAssigned(event.uri) && hasWindow) {
|
|
2302
|
-
event.uri = getUri(_self
|
|
2395
|
+
event.uri = getUri(_self[_DYN__CONFIG ], getLocation());
|
|
2303
2396
|
}
|
|
2304
2397
|
};
|
|
2305
|
-
_self
|
|
2306
|
-
_self
|
|
2398
|
+
_self[_DYN_SET_COMMON_PROPERTIE4 ] = function (event, overrideValues) {
|
|
2399
|
+
_self[_DYN_SET_BASIC_PROPERTIES ](event, overrideValues);
|
|
2307
2400
|
_self._setPageTags(event, overrideValues);
|
|
2308
|
-
_self._pageTypeMetaTag = _getMetaData(_self._metaTags, _self._config
|
|
2309
|
-
_self._behaviorMetaTag = _getMetaData(_self._metaTags, _self._config
|
|
2310
|
-
if (isValueAssigned(overrideValues
|
|
2311
|
-
event
|
|
2401
|
+
_self._pageTypeMetaTag = _getMetaData(_self._metaTags, _self._config[_DYN_CORE_DATA ], "pageType");
|
|
2402
|
+
_self._behaviorMetaTag = _getMetaData(_self._metaTags, _self._config[_DYN_CORE_DATA ], "behavior");
|
|
2403
|
+
if (isValueAssigned(overrideValues[_DYN_PAGE_TYPE ])) {
|
|
2404
|
+
event[_DYN_PAGE_TYPE ] = overrideValues[_DYN_PAGE_TYPE ];
|
|
2312
2405
|
}
|
|
2313
|
-
if (isValueAssigned(_self._pageTypeMetaTag) && !isValueAssigned(event
|
|
2314
|
-
event
|
|
2406
|
+
if (isValueAssigned(_self._pageTypeMetaTag) && !isValueAssigned(event[_DYN_PAGE_TYPE ])) {
|
|
2407
|
+
event[_DYN_PAGE_TYPE ] = _self[_DYN__PAGE_TYPE_META_TAG ];
|
|
2315
2408
|
}
|
|
2316
2409
|
};
|
|
2317
2410
|
_self._setPageTags = function (event, overrideValues) {
|
|
2318
|
-
if (_self
|
|
2319
|
-
_self
|
|
2411
|
+
if (_self[_DYN__PAGE_TAGS_CALLBACK ]) {
|
|
2412
|
+
_self[_DYN__PAGE_TAGS ] = objExtend(true, _self[_DYN__PAGE_TAGS ], _self[_DYN__PAGE_TAGS_CALLBACK ]());
|
|
2320
2413
|
}
|
|
2321
2414
|
if (isValueAssigned(overrideValues.pageTags)) {
|
|
2322
|
-
_self
|
|
2415
|
+
_self[_DYN__PAGE_TAGS ] = objExtend(true, _self[_DYN__PAGE_TAGS ], overrideValues.pageTags);
|
|
2323
2416
|
}
|
|
2324
|
-
if (_self
|
|
2325
|
-
_self.
|
|
2326
|
-
for (var metaTag in _self
|
|
2417
|
+
if (_self[_DYN__META_TAGS ]) {
|
|
2418
|
+
_self[_DYN__PAGE_TAGS ].metaTags = {};
|
|
2419
|
+
for (var metaTag in _self[_DYN__META_TAGS ]) {
|
|
2327
2420
|
if (metaTag != "behavior" && metaTag != "market" && metaTag != "pageType") {
|
|
2328
|
-
_self.
|
|
2421
|
+
_self[_DYN__PAGE_TAGS ].metaTags[metaTag] = _self[_DYN__META_TAGS ][metaTag];
|
|
2329
2422
|
}
|
|
2330
2423
|
}
|
|
2331
2424
|
}
|
|
2332
|
-
event
|
|
2333
|
-
event
|
|
2425
|
+
event[_DYN_PROPERTIES ] = event[_DYN_PROPERTIES ] || {};
|
|
2426
|
+
event[_DYN_PROPERTIES ]["pageTags"] = _self[_DYN__PAGE_TAGS ];
|
|
2334
2427
|
};
|
|
2335
2428
|
_self._getBehavior = function (overrideValues) {
|
|
2336
2429
|
var behavior;
|
|
2337
|
-
if (overrideValues && isValueAssigned(overrideValues
|
|
2338
|
-
behavior = overrideValues
|
|
2430
|
+
if (overrideValues && isValueAssigned(overrideValues[_DYN_BEHAVIOR ])) {
|
|
2431
|
+
behavior = overrideValues[_DYN_BEHAVIOR ];
|
|
2339
2432
|
}
|
|
2340
|
-
else if (isValueAssigned(_self
|
|
2341
|
-
behavior = _self
|
|
2433
|
+
else if (isValueAssigned(_self[_DYN__BEHAVIOR_META_TAG ])) {
|
|
2434
|
+
behavior = _self[_DYN__BEHAVIOR_META_TAG ];
|
|
2342
2435
|
}
|
|
2343
|
-
return _self
|
|
2436
|
+
return _self[_DYN__GET_VALID_BEHAVIOR ](behavior);
|
|
2344
2437
|
};
|
|
2345
|
-
_self
|
|
2346
|
-
return _self._config
|
|
2438
|
+
_self[_DYN__GET_VALID_BEHAVIOR ] = function (behavior) {
|
|
2439
|
+
return _self._config[_DYN_BEHAVIOR_VALIDATOR ](behavior);
|
|
2347
2440
|
};
|
|
2348
2441
|
_self._doUnload = function (unloadCtx, unloadState, asyncCallback) {
|
|
2349
2442
|
_initDefaults();
|
|
@@ -2359,6 +2452,7 @@
|
|
|
2359
2452
|
}
|
|
2360
2453
|
});
|
|
2361
2454
|
}
|
|
2455
|
+
WebEvent.__ieDyn=1;
|
|
2362
2456
|
return WebEvent;
|
|
2363
2457
|
}());
|
|
2364
2458
|
|
|
@@ -2367,7 +2461,7 @@
|
|
|
2367
2461
|
function PageAction(clickAnalyticsPlugin, config, contentHandler, pageTagsCallback, metaTags, traceLogger) {
|
|
2368
2462
|
var _this = _super.call(this, clickAnalyticsPlugin, config, contentHandler, pageTagsCallback, metaTags, traceLogger) || this;
|
|
2369
2463
|
dynamicProto(PageAction, _this, function (_self, _base) {
|
|
2370
|
-
_self
|
|
2464
|
+
_self[_DYN_TRACK_PAGE_ACTION ] = function (pageActionEvent, properties) {
|
|
2371
2465
|
var ext = {};
|
|
2372
2466
|
ext["web"] = {};
|
|
2373
2467
|
var event = {
|
|
@@ -2377,66 +2471,66 @@
|
|
|
2377
2471
|
data: {},
|
|
2378
2472
|
baseData: {}
|
|
2379
2473
|
};
|
|
2380
|
-
_populateEventDataIfPresent(event.baseData, "name", pageActionEvent
|
|
2381
|
-
_populateEventDataIfPresent(event
|
|
2382
|
-
_populateEventDataIfPresent(event
|
|
2383
|
-
_populateEventDataIfPresent(event
|
|
2384
|
-
_populateEventDataIfPresent(event
|
|
2385
|
-
_populateEventDataIfPresent(event
|
|
2386
|
-
_populateEventDataIfPresent(event
|
|
2387
|
-
_populateEventDataIfPresent(event
|
|
2388
|
-
_populateEventDataIfPresent(event
|
|
2389
|
-
_populateEventDataIfPresent(event
|
|
2390
|
-
_populateEventDataIfPresent(event
|
|
2391
|
-
_populateEventDataIfPresent(event
|
|
2392
|
-
_populateEventDataIfPresent(event.data, "pageName", pageActionEvent
|
|
2393
|
-
_populateEventDataIfPresent(event
|
|
2474
|
+
_populateEventDataIfPresent(event.baseData, "name", pageActionEvent[_DYN_NAME ]);
|
|
2475
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "baseTypeSource", "ClickEvent");
|
|
2476
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "uri", pageActionEvent.uri);
|
|
2477
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "pageType", pageActionEvent[_DYN_PAGE_TYPE ]);
|
|
2478
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "properties", pageActionEvent[_DYN_PROPERTIES ]);
|
|
2479
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "actionType", pageActionEvent[_DYN_ACTION_TYPE ]);
|
|
2480
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "behavior", pageActionEvent[_DYN_BEHAVIOR ]);
|
|
2481
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "clickCoordinates", pageActionEvent[_DYN_CLICK_COORDINATES ]);
|
|
2482
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "content", pageActionEvent[_DYN_CONTENT ]);
|
|
2483
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "targetUri", pageActionEvent.targetUri);
|
|
2484
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "timeToAction", pageActionEvent.timeToAction);
|
|
2485
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "refUri", pageActionEvent[_DYN_REF_URI ]);
|
|
2486
|
+
_populateEventDataIfPresent(event.data, "pageName", pageActionEvent[_DYN_PAGE_NAME ]);
|
|
2487
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], "parentId", pageActionEvent[_DYN_PARENT_ID ]);
|
|
2394
2488
|
if (properties) {
|
|
2395
2489
|
objForEachKey(properties, function (property, value) {
|
|
2396
|
-
if (!event
|
|
2397
|
-
_populateEventDataIfPresent(event
|
|
2490
|
+
if (!event[_DYN_DATA ][property]) {
|
|
2491
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], property, value);
|
|
2398
2492
|
}
|
|
2399
2493
|
});
|
|
2400
2494
|
}
|
|
2401
2495
|
_self._clickAnalyticsPlugin.core.track(event);
|
|
2402
2496
|
};
|
|
2403
|
-
_self
|
|
2497
|
+
_self[_DYN_CAPTURE_PAGE_ACTION ] = function (element, overrideValues, customProperties, isRightClick) {
|
|
2404
2498
|
overrideValues = !isValueAssigned(overrideValues) ? {} : overrideValues;
|
|
2405
2499
|
var pageActionEvent = { name: "" };
|
|
2406
2500
|
var pageActionProperties = isValueAssigned(customProperties) ? customProperties : {};
|
|
2407
|
-
_self
|
|
2408
|
-
pageActionEvent
|
|
2501
|
+
_self[_DYN_SET_COMMON_PROPERTIE4 ](pageActionEvent, overrideValues);
|
|
2502
|
+
pageActionEvent[_DYN_BEHAVIOR ] = _self._getBehavior(overrideValues);
|
|
2409
2503
|
var elementContent = {};
|
|
2410
2504
|
if (isRightClick) {
|
|
2411
|
-
pageActionEvent
|
|
2505
|
+
pageActionEvent[_DYN_BEHAVIOR ] = _self[_DYN__CONFIG ].defaultRightClickBhvr;
|
|
2412
2506
|
}
|
|
2413
2507
|
if (element) {
|
|
2414
2508
|
pageActionEvent.targetUri = getClickTarget(element);
|
|
2415
|
-
elementContent = _self._contentHandler
|
|
2416
|
-
if (elementContent.bhvr && !isValueAssigned(overrideValues
|
|
2509
|
+
elementContent = _self._contentHandler[_DYN_GET_ELEMENT_CONTENT ](element);
|
|
2510
|
+
if (elementContent.bhvr && !isValueAssigned(overrideValues[_DYN_BEHAVIOR ])) {
|
|
2417
2511
|
var currentBehavior = extractFieldFromObject(elementContent, "bhvr");
|
|
2418
|
-
pageActionEvent
|
|
2512
|
+
pageActionEvent[_DYN_BEHAVIOR ] = _self[_DYN__GET_VALID_BEHAVIOR ](currentBehavior);
|
|
2419
2513
|
}
|
|
2420
|
-
if (!isValueAssigned(elementContent.id) && !isValueAssigned(elementContent
|
|
2421
|
-
_throwInternal(_self
|
|
2514
|
+
if (!isValueAssigned(elementContent.id) && !isValueAssigned(elementContent[_DYN_CONTENT_NAME ])) {
|
|
2515
|
+
_throwInternal(_self[_DYN__TRACE_LOGGER ], 2 , 102 , "Missing attributes id or contentName in click event. Click event information will still be collected!");
|
|
2422
2516
|
}
|
|
2423
2517
|
}
|
|
2424
|
-
pageActionEvent
|
|
2425
|
-
pageActionEvent
|
|
2426
|
-
if (isValueAssigned(overrideValues
|
|
2427
|
-
pageActionEvent
|
|
2518
|
+
pageActionEvent[_DYN_NAME ] = elementContent.id || elementContent[_DYN_CONTENT_NAME ] || strNotSpecified;
|
|
2519
|
+
pageActionEvent[_DYN_PARENT_ID ] = elementContent.parentid || elementContent.parentName || strNotSpecified;
|
|
2520
|
+
if (isValueAssigned(overrideValues[_DYN_ACTION_TYPE ])) {
|
|
2521
|
+
pageActionEvent[_DYN_ACTION_TYPE ] = overrideValues[_DYN_ACTION_TYPE ];
|
|
2428
2522
|
}
|
|
2429
|
-
if (isValueAssigned(overrideValues
|
|
2430
|
-
pageActionEvent
|
|
2523
|
+
if (isValueAssigned(overrideValues[_DYN_CLICK_COORDINATE_X ]) && isValueAssigned(overrideValues[_DYN_CLICK_COORDINATE_Y ])) {
|
|
2524
|
+
pageActionEvent[_DYN_CLICK_COORDINATES ] = overrideValues[_DYN_CLICK_COORDINATE_X ] + "X" + overrideValues[_DYN_CLICK_COORDINATE_Y ];
|
|
2431
2525
|
}
|
|
2432
2526
|
_sanitizePageActionEventContent(elementContent);
|
|
2433
|
-
pageActionEvent
|
|
2527
|
+
pageActionEvent[_DYN_CONTENT ] = bracketIt(JSON.stringify(objExtend(elementContent, overrideValues && overrideValues.contentTags ? overrideValues.contentTags : {})));
|
|
2434
2528
|
pageActionEvent.timeToAction = _getTimeToClick();
|
|
2435
|
-
pageActionEvent.refUri = isValueAssigned(overrideValues.refUri) ? overrideValues.refUri : _self._config.
|
|
2529
|
+
pageActionEvent.refUri = isValueAssigned(overrideValues.refUri) ? overrideValues.refUri : _self._config[_DYN_CORE_DATA ].referrerUri;
|
|
2436
2530
|
if (_isUndefinedEvent(pageActionEvent)) {
|
|
2437
2531
|
return;
|
|
2438
2532
|
}
|
|
2439
|
-
_self
|
|
2533
|
+
_self[_DYN_TRACK_PAGE_ACTION ](pageActionEvent, pageActionProperties);
|
|
2440
2534
|
};
|
|
2441
2535
|
function _getTimeToClick() {
|
|
2442
2536
|
var perf = getPerformance();
|
|
@@ -2458,16 +2552,16 @@
|
|
|
2458
2552
|
delete pageActionContent.id;
|
|
2459
2553
|
delete pageActionContent.parentid;
|
|
2460
2554
|
delete pageActionContent.parentname;
|
|
2461
|
-
if (_self._config && _self._config
|
|
2462
|
-
delete pageActionContent[_self._config.
|
|
2555
|
+
if (_self._config && _self._config[_DYN_DATA_TAGS ] && isValueAssigned(_self[_DYN__CONFIG ][_DYN_DATA_TAGS ][_DYN_PARENT_DATA_TAG ])) {
|
|
2556
|
+
delete pageActionContent[_self._config[_DYN_DATA_TAGS ].parentDataTag];
|
|
2463
2557
|
}
|
|
2464
2558
|
}
|
|
2465
2559
|
}
|
|
2466
2560
|
function _isUndefinedEvent(pageActionEvent) {
|
|
2467
|
-
if (_self.
|
|
2468
|
-
if (pageActionEvent
|
|
2469
|
-
&& pageActionEvent
|
|
2470
|
-
&& pageActionEvent
|
|
2561
|
+
if (_self[_DYN__CONFIG ].dropInvalidEvents) {
|
|
2562
|
+
if (pageActionEvent[_DYN_NAME ] === strNotSpecified
|
|
2563
|
+
&& pageActionEvent[_DYN_PARENT_ID ] === strNotSpecified
|
|
2564
|
+
&& pageActionEvent[_DYN_CONTENT ] === "[{}]") {
|
|
2471
2565
|
return true;
|
|
2472
2566
|
}
|
|
2473
2567
|
}
|
|
@@ -2476,6 +2570,7 @@
|
|
|
2476
2570
|
});
|
|
2477
2571
|
return _this;
|
|
2478
2572
|
}
|
|
2573
|
+
PageAction.__ieDyn=1;
|
|
2479
2574
|
return PageAction;
|
|
2480
2575
|
}(WebEvent));
|
|
2481
2576
|
|
|
@@ -2504,7 +2599,7 @@
|
|
|
2504
2599
|
var win = getWindow();
|
|
2505
2600
|
var doc = getDocument();
|
|
2506
2601
|
if (win) {
|
|
2507
|
-
var event_1 = (navigator.appVersion
|
|
2602
|
+
var event_1 = (navigator.appVersion[_DYN_INDEX_OF ]("MSIE") !== -1) ? "click" : "mousedown";
|
|
2508
2603
|
eventOn(win, event_1, _processClick, _evtNamespace);
|
|
2509
2604
|
eventOn(win, "keyup", _processClick, _evtNamespace);
|
|
2510
2605
|
}
|
|
@@ -2518,12 +2613,13 @@
|
|
|
2518
2613
|
eventOff(getDocument(), null, null, _evtNamespace);
|
|
2519
2614
|
};
|
|
2520
2615
|
function _capturePageAction(element, overrideValues, customProperties, isRightClick) {
|
|
2521
|
-
var donotTrackTag = _self._config.dataTags
|
|
2616
|
+
var donotTrackTag = _self._config.dataTags[_DYN_CUSTOM_DATA_PREFIX ] + _self[_DYN__CONFIG ][_DYN_DATA_TAGS ].dntDataTag;
|
|
2522
2617
|
if (!isElementDnt(element, donotTrackTag)) {
|
|
2523
|
-
_self._pageAction
|
|
2618
|
+
_self._pageAction[_DYN_CAPTURE_PAGE_ACTION ](element, overrideValues, customProperties, isRightClick);
|
|
2524
2619
|
}
|
|
2525
2620
|
}
|
|
2526
2621
|
function _processClick(clickEvent) {
|
|
2622
|
+
var _a;
|
|
2527
2623
|
var clickCaptureElements = { A: true, BUTTON: true, AREA: true, INPUT: true };
|
|
2528
2624
|
var win = getWindow();
|
|
2529
2625
|
if (isNullOrUndefined(clickEvent) && win) {
|
|
@@ -2531,40 +2627,40 @@
|
|
|
2531
2627
|
}
|
|
2532
2628
|
if (clickEvent) {
|
|
2533
2629
|
var element = clickEvent.srcElement || clickEvent.target;
|
|
2534
|
-
var overrideValues = {
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2630
|
+
var overrideValues = (_a = {},
|
|
2631
|
+
_a[_DYN_CLICK_COORDINATE_X ] = clickEvent.pageX,
|
|
2632
|
+
_a[_DYN_CLICK_COORDINATE_Y ] = clickEvent.pageY,
|
|
2633
|
+
_a);
|
|
2538
2634
|
var isRightClickObj = isRightClick(clickEvent);
|
|
2539
2635
|
if (isRightClickObj) {
|
|
2540
|
-
overrideValues
|
|
2636
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.CLICKRIGHT;
|
|
2541
2637
|
}
|
|
2542
2638
|
else if (isLeftClick(clickEvent)) {
|
|
2543
|
-
overrideValues
|
|
2639
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.CLICKLEFT;
|
|
2544
2640
|
}
|
|
2545
2641
|
else if (isKeyboardEnter(clickEvent)) {
|
|
2546
|
-
overrideValues
|
|
2642
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.KEYBOARDENTER;
|
|
2547
2643
|
}
|
|
2548
2644
|
else if (isKeyboardSpace(clickEvent)) {
|
|
2549
|
-
overrideValues
|
|
2645
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.KEYBOARDSPACE;
|
|
2550
2646
|
}
|
|
2551
2647
|
else if (isMiddleClick(clickEvent)) {
|
|
2552
|
-
overrideValues
|
|
2648
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.CLICKMIDDLE;
|
|
2553
2649
|
}
|
|
2554
2650
|
else {
|
|
2555
2651
|
return;
|
|
2556
2652
|
}
|
|
2557
|
-
while (element && element
|
|
2558
|
-
if (element.control && clickCaptureElements[element.control
|
|
2653
|
+
while (element && element[_DYN_TAG_NAME ]) {
|
|
2654
|
+
if (element.control && clickCaptureElements[element.control[_DYN_TAG_NAME ][_DYN_TO_UPPER_CASE ]()]) {
|
|
2559
2655
|
element = element.control;
|
|
2560
2656
|
}
|
|
2561
|
-
var tagNameUpperCased = element
|
|
2657
|
+
var tagNameUpperCased = element[_DYN_TAG_NAME ][_DYN_TO_UPPER_CASE ]();
|
|
2562
2658
|
if (!clickCaptureElements[tagNameUpperCased]) {
|
|
2563
|
-
element = element.parentElement || element
|
|
2659
|
+
element = element.parentElement || element[_DYN_PARENT_NODE ];
|
|
2564
2660
|
continue;
|
|
2565
2661
|
}
|
|
2566
2662
|
else {
|
|
2567
|
-
var sendEvent = tagNameUpperCased === "INPUT" ? clickCaptureInputTypes[element.type
|
|
2663
|
+
var sendEvent = tagNameUpperCased === "INPUT" ? clickCaptureInputTypes[element.type[_DYN_TO_UPPER_CASE ]()] : true;
|
|
2568
2664
|
if (sendEvent) {
|
|
2569
2665
|
_capturePageAction(element, overrideValues, {}, isRightClickObj);
|
|
2570
2666
|
}
|
|
@@ -2575,6 +2671,7 @@
|
|
|
2575
2671
|
}
|
|
2576
2672
|
});
|
|
2577
2673
|
}
|
|
2674
|
+
AutoCaptureHandler.__ieDyn=1;
|
|
2578
2675
|
return AutoCaptureHandler;
|
|
2579
2676
|
}());
|
|
2580
2677
|
|
|
@@ -2585,57 +2682,57 @@
|
|
|
2585
2682
|
this._traceLogger = _traceLogger;
|
|
2586
2683
|
dynamicProto(DomContentHandler, this, function (_self) {
|
|
2587
2684
|
_self.getMetadata = function () {
|
|
2588
|
-
var dataTags = (_self._config || {})
|
|
2685
|
+
var dataTags = (_self._config || {})[_DYN_DATA_TAGS ];
|
|
2589
2686
|
var metaTags = {};
|
|
2590
2687
|
if (hasDocument) {
|
|
2591
|
-
metaTags = isValueAssigned(dataTags.metaDataPrefix) ? _getMetaDataFromDOM(dataTags
|
|
2592
|
-
_getMetaDataFromDOM(dataTags
|
|
2688
|
+
metaTags = isValueAssigned(dataTags.metaDataPrefix) ? _getMetaDataFromDOM(dataTags[_DYN_CAPTURE_ALL_META_DAT3 ], dataTags.metaDataPrefix, false) :
|
|
2689
|
+
_getMetaDataFromDOM(dataTags[_DYN_CAPTURE_ALL_META_DAT3 ], "", false);
|
|
2593
2690
|
}
|
|
2594
2691
|
return metaTags;
|
|
2595
2692
|
};
|
|
2596
|
-
_self
|
|
2693
|
+
_self[_DYN_GET_ELEMENT_CONTENT ] = function (element) {
|
|
2597
2694
|
if (!element) {
|
|
2598
2695
|
return {};
|
|
2599
2696
|
}
|
|
2600
|
-
var dataTags = (_self._config || {})
|
|
2697
|
+
var dataTags = (_self._config || {})[_DYN_DATA_TAGS ];
|
|
2601
2698
|
var elementContent = {};
|
|
2602
2699
|
var biBlobValue;
|
|
2603
2700
|
var parentDataTagPrefix;
|
|
2604
|
-
var dataTagPrefix = dataTags
|
|
2605
|
-
var aiBlobAttributeTag = dataTagPrefix + dataTags
|
|
2606
|
-
if (isValueAssigned(dataTags
|
|
2607
|
-
parentDataTagPrefix = dataTagPrefix + dataTags
|
|
2701
|
+
var dataTagPrefix = dataTags[_DYN_CUSTOM_DATA_PREFIX ];
|
|
2702
|
+
var aiBlobAttributeTag = dataTagPrefix + dataTags[_DYN_AI_BLOB_ATTRIBUTE_TA2 ];
|
|
2703
|
+
if (isValueAssigned(dataTags[_DYN_PARENT_DATA_TAG ])) {
|
|
2704
|
+
parentDataTagPrefix = dataTagPrefix + dataTags[_DYN_PARENT_DATA_TAG ];
|
|
2608
2705
|
}
|
|
2609
2706
|
if (!_isTracked(element, dataTagPrefix, aiBlobAttributeTag)) {
|
|
2610
|
-
biBlobValue = element
|
|
2707
|
+
biBlobValue = element[_DYN_GET_ATTRIBUTE ](aiBlobAttributeTag);
|
|
2611
2708
|
if (biBlobValue) {
|
|
2612
2709
|
try {
|
|
2613
2710
|
elementContent = JSON.parse(biBlobValue);
|
|
2614
2711
|
}
|
|
2615
2712
|
catch (e) {
|
|
2616
|
-
_throwInternal(_self
|
|
2713
|
+
_throwInternal(_self[_DYN__TRACE_LOGGER ], 1 , 101 , "Can not parse " + biBlobValue);
|
|
2617
2714
|
}
|
|
2618
2715
|
}
|
|
2619
2716
|
else {
|
|
2620
|
-
elementContent =
|
|
2717
|
+
elementContent = objExtend(elementContent, _populateElementContent(element, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag));
|
|
2621
2718
|
}
|
|
2622
2719
|
}
|
|
2623
2720
|
else {
|
|
2624
|
-
elementContent =
|
|
2721
|
+
elementContent = objExtend(elementContent, _populateElementContentwithDataTag(element, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag));
|
|
2625
2722
|
}
|
|
2626
2723
|
removeInvalidElements(elementContent);
|
|
2627
2724
|
if (parentDataTagPrefix) {
|
|
2628
|
-
elementContent =
|
|
2725
|
+
elementContent = objExtend(elementContent, _getParentDetails(element, elementContent, dataTagPrefix, aiBlobAttributeTag));
|
|
2629
2726
|
}
|
|
2630
2727
|
return elementContent;
|
|
2631
2728
|
};
|
|
2632
2729
|
function _captureElementContentWithDataTag(contentElement, elementContent, dataTagPrefix) {
|
|
2633
|
-
for (var i = 0, attrib; i < contentElement.attributes
|
|
2634
|
-
attrib = contentElement
|
|
2635
|
-
if (attrib.name
|
|
2730
|
+
for (var i = 0, attrib; i < contentElement.attributes[_DYN_LENGTH ]; i++) {
|
|
2731
|
+
attrib = contentElement[_DYN_ATTRIBUTES ][i];
|
|
2732
|
+
if (attrib.name[_DYN_INDEX_OF ](dataTagPrefix) !== 0) {
|
|
2636
2733
|
continue;
|
|
2637
2734
|
}
|
|
2638
|
-
var attribName = attrib.
|
|
2735
|
+
var attribName = attrib[_DYN_NAME ].replace(dataTagPrefix, "");
|
|
2639
2736
|
elementContent[attribName] = attrib.value;
|
|
2640
2737
|
}
|
|
2641
2738
|
}
|
|
@@ -2643,20 +2740,20 @@
|
|
|
2643
2740
|
var element = el;
|
|
2644
2741
|
var parentDataTagFound = false;
|
|
2645
2742
|
var elementLevelFlag = false;
|
|
2646
|
-
while (!isNullOrUndefined(element) && !isNullOrUndefined(element
|
|
2647
|
-
var attributes = element
|
|
2648
|
-
for (var i = 0; i < attributes
|
|
2743
|
+
while (!isNullOrUndefined(element) && !isNullOrUndefined(element[_DYN_ATTRIBUTES ])) {
|
|
2744
|
+
var attributes = element[_DYN_ATTRIBUTES ];
|
|
2745
|
+
for (var i = 0; i < attributes[_DYN_LENGTH ]; i++) {
|
|
2649
2746
|
var attrib = attributes[i];
|
|
2650
|
-
if (attrib.name
|
|
2747
|
+
if (attrib.name[_DYN_INDEX_OF ](dataTagPrefix) !== 0) {
|
|
2651
2748
|
continue;
|
|
2652
2749
|
}
|
|
2653
|
-
if (attrib.name
|
|
2750
|
+
if (attrib.name[_DYN_INDEX_OF ](parentDataTagPrefix) === 0) {
|
|
2654
2751
|
parentDataTagFound = true;
|
|
2655
2752
|
}
|
|
2656
|
-
if (attrib.name
|
|
2753
|
+
if (attrib.name[_DYN_INDEX_OF ](aiBlobAttributeTag) === 0) {
|
|
2657
2754
|
continue;
|
|
2658
2755
|
}
|
|
2659
|
-
var attribName = attrib.
|
|
2756
|
+
var attribName = attrib[_DYN_NAME ].replace(dataTagPrefix, "");
|
|
2660
2757
|
if (elementLevelFlag && attribName === "id") {
|
|
2661
2758
|
continue;
|
|
2662
2759
|
}
|
|
@@ -2668,7 +2765,7 @@
|
|
|
2668
2765
|
break;
|
|
2669
2766
|
}
|
|
2670
2767
|
elementLevelFlag = true;
|
|
2671
|
-
element = element
|
|
2768
|
+
element = element[_DYN_PARENT_NODE ];
|
|
2672
2769
|
}
|
|
2673
2770
|
}
|
|
2674
2771
|
function _populateElementContent(element, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag) {
|
|
@@ -2679,19 +2776,19 @@
|
|
|
2679
2776
|
var htmlContent = _getHtmlIdAndContentName(element);
|
|
2680
2777
|
elementContent = {
|
|
2681
2778
|
id: htmlContent.id || "",
|
|
2682
|
-
contentName: htmlContent
|
|
2779
|
+
contentName: htmlContent[_DYN_CONTENT_NAME ] || ""
|
|
2683
2780
|
};
|
|
2684
2781
|
if (isValueAssigned(parentDataTagPrefix)) {
|
|
2685
2782
|
_walkUpDomChainCaptureData(element, elementContent, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag);
|
|
2686
2783
|
}
|
|
2687
|
-
if (!elementContent.id && !elementContent
|
|
2784
|
+
if (!elementContent.id && !elementContent[_DYN_CONTENT_NAME ]) {
|
|
2688
2785
|
_throwInternal(_traceLogger, 2 , 102 , "Invalid content blob. Missing required attributes (id, contentName. " +
|
|
2689
2786
|
" Content information will still be collected!");
|
|
2690
2787
|
}
|
|
2691
2788
|
return elementContent;
|
|
2692
2789
|
}
|
|
2693
2790
|
function _populateElementContentwithDataTag(element, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag) {
|
|
2694
|
-
var dataTags = (_self._config || {})
|
|
2791
|
+
var dataTags = (_self._config || {})[_DYN_DATA_TAGS ];
|
|
2695
2792
|
var elementContent = {};
|
|
2696
2793
|
if (!element) {
|
|
2697
2794
|
return elementContent;
|
|
@@ -2703,13 +2800,13 @@
|
|
|
2703
2800
|
else {
|
|
2704
2801
|
_captureElementContentWithDataTag(element, elementContent, dataTagPrefix);
|
|
2705
2802
|
}
|
|
2706
|
-
if (dataTags
|
|
2803
|
+
if (dataTags[_DYN_USE_DEFAULT_CONTENT_1 ]) {
|
|
2707
2804
|
if (!isValueAssigned(elementContent.id)) {
|
|
2708
2805
|
elementContent.id = htmlContent.id || "";
|
|
2709
2806
|
}
|
|
2710
|
-
elementContent
|
|
2807
|
+
elementContent[_DYN_CONTENT_NAME ] = htmlContent[_DYN_CONTENT_NAME ] || "";
|
|
2711
2808
|
}
|
|
2712
|
-
if (!elementContent.id && !elementContent
|
|
2809
|
+
if (!elementContent.id && !elementContent[_DYN_CONTENT_NAME ]) {
|
|
2713
2810
|
_throwInternal(_traceLogger, 2 , 102 , "Invalid content blob. Missing required attributes (id, contentName. " +
|
|
2714
2811
|
" Content information will still be collected!");
|
|
2715
2812
|
}
|
|
@@ -2720,12 +2817,12 @@
|
|
|
2720
2817
|
var metaData = {};
|
|
2721
2818
|
if (hasDocument) {
|
|
2722
2819
|
metaElements = document.querySelectorAll("meta");
|
|
2723
|
-
for (var i = 0; i < metaElements
|
|
2820
|
+
for (var i = 0; i < metaElements[_DYN_LENGTH ]; i++) {
|
|
2724
2821
|
var meta = metaElements[i];
|
|
2725
|
-
if (meta
|
|
2726
|
-
if (captureAllMetaDataContent || meta.name
|
|
2727
|
-
var name_1 = removePrefix ? meta.
|
|
2728
|
-
metaData[name_1] = meta
|
|
2822
|
+
if (meta[_DYN_NAME ]) {
|
|
2823
|
+
if (captureAllMetaDataContent || meta.name[_DYN_INDEX_OF ](prefix) === 0) {
|
|
2824
|
+
var name_1 = removePrefix ? meta[_DYN_NAME ].replace(prefix, "") : meta[_DYN_NAME ];
|
|
2825
|
+
metaData[name_1] = meta[_DYN_CONTENT ];
|
|
2729
2826
|
}
|
|
2730
2827
|
}
|
|
2731
2828
|
}
|
|
@@ -2733,12 +2830,12 @@
|
|
|
2733
2830
|
return metaData;
|
|
2734
2831
|
}
|
|
2735
2832
|
function _getDefaultContentName(element, useDefaultContentName) {
|
|
2736
|
-
if (useDefaultContentName === false || !element
|
|
2833
|
+
if (useDefaultContentName === false || !element[_DYN_TAG_NAME ]) {
|
|
2737
2834
|
return "";
|
|
2738
2835
|
}
|
|
2739
2836
|
var doc = getDocument() || {};
|
|
2740
2837
|
var contentName;
|
|
2741
|
-
switch (element
|
|
2838
|
+
switch (element[_DYN_TAG_NAME ]) {
|
|
2742
2839
|
case "A":
|
|
2743
2840
|
contentName = doc.all ? element.innerText || element.innerHTML : element.text || element.innerHTML;
|
|
2744
2841
|
break;
|
|
@@ -2747,37 +2844,37 @@
|
|
|
2747
2844
|
contentName = element.alt;
|
|
2748
2845
|
break;
|
|
2749
2846
|
default:
|
|
2750
|
-
contentName = element.value || element
|
|
2847
|
+
contentName = element.value || element[_DYN_NAME ] || element.alt || element.innerText || element.id;
|
|
2751
2848
|
}
|
|
2752
2849
|
return contentName.substring(0, MAX_CONTENTNAME_LENGTH);
|
|
2753
2850
|
}
|
|
2754
2851
|
function _isTracked(element, dataTag, aiBlobAttributeTag) {
|
|
2755
|
-
var attrs = element
|
|
2852
|
+
var attrs = element[_DYN_ATTRIBUTES ];
|
|
2756
2853
|
var dataTagFound = false;
|
|
2757
|
-
for (var i = 0; i < attrs
|
|
2758
|
-
var attributeName = attrs[i]
|
|
2854
|
+
for (var i = 0; i < attrs[_DYN_LENGTH ]; i++) {
|
|
2855
|
+
var attributeName = attrs[i][_DYN_NAME ];
|
|
2759
2856
|
if (attributeName === aiBlobAttributeTag) {
|
|
2760
2857
|
return false;
|
|
2761
2858
|
}
|
|
2762
|
-
else if (attributeName
|
|
2859
|
+
else if (attributeName[_DYN_INDEX_OF ](dataTag) === 0) {
|
|
2763
2860
|
dataTagFound = true;
|
|
2764
2861
|
}
|
|
2765
2862
|
}
|
|
2766
2863
|
return dataTagFound;
|
|
2767
2864
|
}
|
|
2768
2865
|
function _getHtmlIdAndContentName(element) {
|
|
2769
|
-
var dataTags = (_self._config || {})
|
|
2770
|
-
var callback = (_self
|
|
2866
|
+
var dataTags = (_self._config || {})[_DYN_DATA_TAGS ];
|
|
2867
|
+
var callback = (_self[_DYN__CONFIG ] || {}).callback;
|
|
2771
2868
|
var htmlContent = {};
|
|
2772
2869
|
if (!element) {
|
|
2773
2870
|
return htmlContent;
|
|
2774
2871
|
}
|
|
2775
|
-
if (dataTags
|
|
2776
|
-
var customizedContentName = callback.contentName ? callback.contentName(element, dataTags
|
|
2777
|
-
var defaultContentName = _getDefaultContentName(element, dataTags
|
|
2872
|
+
if (dataTags[_DYN_USE_DEFAULT_CONTENT_1 ]) {
|
|
2873
|
+
var customizedContentName = callback.contentName ? callback.contentName(element, dataTags[_DYN_USE_DEFAULT_CONTENT_1 ]) : "";
|
|
2874
|
+
var defaultContentName = _getDefaultContentName(element, dataTags[_DYN_USE_DEFAULT_CONTENT_1 ]);
|
|
2778
2875
|
htmlContent = {
|
|
2779
2876
|
id: element.id,
|
|
2780
|
-
contentName: customizedContentName || defaultContentName || element
|
|
2877
|
+
contentName: customizedContentName || defaultContentName || element[_DYN_GET_ATTRIBUTE ]("alt")
|
|
2781
2878
|
};
|
|
2782
2879
|
}
|
|
2783
2880
|
return htmlContent;
|
|
@@ -2794,9 +2891,9 @@
|
|
|
2794
2891
|
function _populateParentInfo(element, dataTagPrefix, aiBlobAttributeTag) {
|
|
2795
2892
|
var parentInfo = {};
|
|
2796
2893
|
var parentId;
|
|
2797
|
-
var closestParentElement = walkUpDomChainWithElementValidation(element
|
|
2894
|
+
var closestParentElement = walkUpDomChainWithElementValidation(element[_DYN_PARENT_ELEMENT ], _isTracked, dataTagPrefix);
|
|
2798
2895
|
if (closestParentElement) {
|
|
2799
|
-
var dataAttr = closestParentElement
|
|
2896
|
+
var dataAttr = closestParentElement[_DYN_GET_ATTRIBUTE ](aiBlobAttributeTag) || element[aiBlobAttributeTag];
|
|
2800
2897
|
if (dataAttr) {
|
|
2801
2898
|
try {
|
|
2802
2899
|
var telemetryObject = JSON.parse(dataAttr);
|
|
@@ -2809,21 +2906,22 @@
|
|
|
2809
2906
|
}
|
|
2810
2907
|
}
|
|
2811
2908
|
else {
|
|
2812
|
-
parentId = closestParentElement
|
|
2909
|
+
parentId = closestParentElement[_DYN_GET_ATTRIBUTE ](dataTagPrefix + "id");
|
|
2813
2910
|
}
|
|
2814
2911
|
}
|
|
2815
2912
|
if (parentId) {
|
|
2816
2913
|
parentInfo["parentid"] = parentId;
|
|
2817
2914
|
}
|
|
2818
2915
|
else {
|
|
2819
|
-
var htmlContent = _getHtmlIdAndContentName(element
|
|
2916
|
+
var htmlContent = _getHtmlIdAndContentName(element[_DYN_PARENT_ELEMENT ]);
|
|
2820
2917
|
parentInfo["parentid"] = htmlContent.id;
|
|
2821
|
-
parentInfo["parentname"] = htmlContent
|
|
2918
|
+
parentInfo["parentname"] = htmlContent[_DYN_CONTENT_NAME ];
|
|
2822
2919
|
}
|
|
2823
2920
|
return parentInfo;
|
|
2824
2921
|
}
|
|
2825
2922
|
});
|
|
2826
2923
|
}
|
|
2924
|
+
DomContentHandler.__ieDyn=1;
|
|
2827
2925
|
return DomContentHandler;
|
|
2828
2926
|
}());
|
|
2829
2927
|
|
|
@@ -2844,14 +2942,14 @@
|
|
|
2844
2942
|
if (isNullOrUndefined(core)) {
|
|
2845
2943
|
throwError("Error initializing");
|
|
2846
2944
|
}
|
|
2847
|
-
config
|
|
2848
|
-
config
|
|
2849
|
-
_config = mergeConfig(config
|
|
2945
|
+
config[_DYN_EXTENSION_CONFIG ] = config[_DYN_EXTENSION_CONFIG ] || [];
|
|
2946
|
+
config[_DYN_EXTENSION_CONFIG ][_identifier] = config[_DYN_EXTENSION_CONFIG ][_identifier] || {};
|
|
2947
|
+
_config = mergeConfig(config[_DYN_EXTENSION_CONFIG ][_identifier]);
|
|
2850
2948
|
_super.prototype.initialize.call(_this, config, core, extensions, pluginChain);
|
|
2851
2949
|
var logger = _self.diagLog();
|
|
2852
2950
|
_contentHandler = _contentHandler ? _contentHandler : new DomContentHandler(_config, logger);
|
|
2853
2951
|
var metaTags = _contentHandler.getMetadata();
|
|
2854
|
-
_pageAction = new PageAction(_this, _config, _contentHandler, _config.callback
|
|
2952
|
+
_pageAction = new PageAction(_this, _config, _contentHandler, _config.callback[_DYN_PAGE_ACTION_PAGE_TAG0 ], metaTags, logger);
|
|
2855
2953
|
_autoCaptureHandler = _autoCaptureHandler ? _autoCaptureHandler : new AutoCaptureHandler(_self, _config, _pageAction, logger);
|
|
2856
2954
|
if (_config.autoCapture) {
|
|
2857
2955
|
_autoCaptureHandler.click();
|
|
@@ -2870,9 +2968,9 @@
|
|
|
2870
2968
|
_self.processTelemetry = function (env, itemCtx) {
|
|
2871
2969
|
_self.processNext(env, itemCtx);
|
|
2872
2970
|
};
|
|
2873
|
-
_self
|
|
2971
|
+
_self[_DYN_TRACK_PAGE_ACTION ] = function (pageAction, customProperties) {
|
|
2874
2972
|
try {
|
|
2875
|
-
_pageAction
|
|
2973
|
+
_pageAction[_DYN_TRACK_PAGE_ACTION ](pageAction, customProperties);
|
|
2876
2974
|
}
|
|
2877
2975
|
catch (e) {
|
|
2878
2976
|
_throwInternal(_self.diagLog(), 1 , 103 , "trackPageAction failed, page action event will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
@@ -2894,7 +2992,7 @@
|
|
|
2894
2992
|
}
|
|
2895
2993
|
return _this;
|
|
2896
2994
|
}
|
|
2897
|
-
ClickAnalyticsPlugin.Version = "2.8.5-nightly.2206-
|
|
2995
|
+
ClickAnalyticsPlugin.Version = "2.8.5-nightly.2206-06";
|
|
2898
2996
|
return ClickAnalyticsPlugin;
|
|
2899
2997
|
}(BaseTelemetryPlugin));
|
|
2900
2998
|
|
|
@@ -2906,4 +3004,4 @@
|
|
|
2906
3004
|
(function(obj, prop, descriptor) { /* ai_es3_polyfil defineProperty */ var func = Object["defineProperty"]; if (func) { try { return func(obj, prop, descriptor); } catch(e) { /* IE8 defines defineProperty, but will throw */ } } if (descriptor && typeof descriptor.value !== undefined) { obj[prop] = descriptor.value; } return obj; })(exports, '__esModule', { value: true });
|
|
2907
3005
|
|
|
2908
3006
|
}));
|
|
2909
|
-
//# sourceMappingURL=ai.clck.2.8.5-nightly.2206-
|
|
3007
|
+
//# sourceMappingURL=ai.clck.2.8.5-nightly.2206-06.js.map
|