@microsoft/applicationinsights-clickanalytics-js 2.8.5-nightly.2206-03 → 2.8.5-nightly.2207-01
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-03.cjs.js → ai.clck.2.8.5-nightly.2207-01.cjs.js} +658 -566
- package/browser/ai.clck.2.8.5-nightly.2207-01.cjs.js.map +1 -0
- package/browser/ai.clck.2.8.5-nightly.2207-01.cjs.min.js +6 -0
- package/browser/ai.clck.2.8.5-nightly.2207-01.cjs.min.js.map +1 -0
- package/browser/{ai.clck.2.8.5-nightly.2206-03.gbl.js → ai.clck.2.8.5-nightly.2207-01.gbl.js} +658 -566
- package/browser/ai.clck.2.8.5-nightly.2207-01.gbl.js.map +1 -0
- package/browser/ai.clck.2.8.5-nightly.2207-01.gbl.min.js +6 -0
- package/browser/ai.clck.2.8.5-nightly.2207-01.gbl.min.js.map +1 -0
- package/browser/ai.clck.2.8.5-nightly.2207-01.integrity.json +66 -0
- package/browser/{ai.clck.2.8.5-nightly.2206-03.js → ai.clck.2.8.5-nightly.2207-01.js} +658 -566
- package/browser/ai.clck.2.8.5-nightly.2207-01.js.map +1 -0
- package/browser/ai.clck.2.8.5-nightly.2207-01.min.js +6 -0
- package/browser/ai.clck.2.8.5-nightly.2207-01.min.js.map +1 -0
- package/browser/ai.clck.2.cjs.js +657 -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 +657 -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 +657 -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 +5 -2
- package/dist/applicationinsights-clickanalytics-js.d.ts +1 -1
- package/dist/applicationinsights-clickanalytics-js.js +657 -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 +50 -49
- package/dist-esm/events/PageAction.js.map +1 -1
- package/dist-esm/events/WebEvent.js +40 -39
- package/dist-esm/events/WebEvent.js.map +1 -1
- package/dist-esm/handlers/AutoCaptureHandler.js +24 -22
- package/dist-esm/handlers/AutoCaptureHandler.js.map +1 -1
- package/dist-esm/handlers/DomContentHandler.js +61 -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-03.cjs.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-03.cjs.min.js +0 -6
- package/browser/ai.clck.2.8.5-nightly.2206-03.cjs.min.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-03.gbl.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-03.gbl.min.js +0 -6
- package/browser/ai.clck.2.8.5-nightly.2206-03.gbl.min.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-03.integrity.json +0 -66
- package/browser/ai.clck.2.8.5-nightly.2206-03.js.map +0 -1
- package/browser/ai.clck.2.8.5-nightly.2206-03.min.js +0 -6
- package/browser/ai.clck.2.8.5-nightly.2206-03.min.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Click Analytics, 2.8.5-nightly.
|
|
2
|
+
* Application Insights JavaScript SDK - Click Analytics, 2.8.5-nightly.2207-01
|
|
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,38 +932,37 @@
|
|
|
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
|
});
|
|
@@ -927,20 +970,25 @@
|
|
|
927
970
|
DiagnosticLogger.__ieDyn=1;
|
|
928
971
|
return DiagnosticLogger;
|
|
929
972
|
}());
|
|
973
|
+
function _getLogger(logger) {
|
|
974
|
+
return (logger || new DiagnosticLogger());
|
|
975
|
+
}
|
|
930
976
|
function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
|
|
931
977
|
if (isUserAct === void 0) { isUserAct = false; }
|
|
932
|
-
(logger
|
|
978
|
+
_getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
|
|
933
979
|
}
|
|
934
980
|
|
|
935
981
|
var strExecutionContextKey = "ctx";
|
|
982
|
+
var strParentContextKey = "ParentContextKey";
|
|
983
|
+
var strChildrenContextKey = "ChildrenContextKey";
|
|
936
984
|
var PerfEvent = /** @class */ (function () {
|
|
937
985
|
function PerfEvent(name, payloadDetails, isAsync) {
|
|
938
986
|
var _self = this;
|
|
939
987
|
var accessorDefined = false;
|
|
940
988
|
_self.start = dateNow();
|
|
941
|
-
_self
|
|
942
|
-
_self
|
|
943
|
-
_self
|
|
989
|
+
_self[_DYN_NAME$1 ] = name;
|
|
990
|
+
_self[_DYN_IS_ASYNC ] = isAsync;
|
|
991
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return false; };
|
|
944
992
|
if (isFunction(payloadDetails)) {
|
|
945
993
|
var theDetails_1;
|
|
946
994
|
accessorDefined = objDefineAccessors(_self, "payload", function () {
|
|
@@ -951,24 +999,24 @@
|
|
|
951
999
|
return theDetails_1;
|
|
952
1000
|
});
|
|
953
1001
|
}
|
|
954
|
-
_self
|
|
1002
|
+
_self[_DYN_GET_CTX ] = function (key) {
|
|
955
1003
|
if (key) {
|
|
956
|
-
if (key === PerfEvent
|
|
1004
|
+
if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {
|
|
957
1005
|
return _self[key];
|
|
958
1006
|
}
|
|
959
1007
|
return (_self[strExecutionContextKey] || {})[key];
|
|
960
1008
|
}
|
|
961
1009
|
return null;
|
|
962
1010
|
};
|
|
963
|
-
_self
|
|
1011
|
+
_self[_DYN_SET_CTX ] = function (key, value) {
|
|
964
1012
|
if (key) {
|
|
965
|
-
if (key === PerfEvent
|
|
1013
|
+
if (key === PerfEvent[strParentContextKey]) {
|
|
966
1014
|
if (!_self[key]) {
|
|
967
|
-
_self
|
|
1015
|
+
_self[_DYN_IS_CHILD_EVT ] = function () { return true; };
|
|
968
1016
|
}
|
|
969
1017
|
_self[key] = value;
|
|
970
1018
|
}
|
|
971
|
-
else if (key === PerfEvent
|
|
1019
|
+
else if (key === PerfEvent[strChildrenContextKey]) {
|
|
972
1020
|
_self[key] = value;
|
|
973
1021
|
}
|
|
974
1022
|
else {
|
|
@@ -977,20 +1025,20 @@
|
|
|
977
1025
|
}
|
|
978
1026
|
}
|
|
979
1027
|
};
|
|
980
|
-
_self
|
|
1028
|
+
_self[_DYN_COMPLETE ] = function () {
|
|
981
1029
|
var childTime = 0;
|
|
982
|
-
var childEvts = _self
|
|
1030
|
+
var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
|
|
983
1031
|
if (isArray(childEvts)) {
|
|
984
|
-
for (var lp = 0; lp < childEvts
|
|
1032
|
+
for (var lp = 0; lp < childEvts[_DYN_LENGTH$1 ]; lp++) {
|
|
985
1033
|
var childEvt = childEvts[lp];
|
|
986
1034
|
if (childEvt) {
|
|
987
|
-
childTime += childEvt
|
|
1035
|
+
childTime += childEvt[_DYN_TIME ];
|
|
988
1036
|
}
|
|
989
1037
|
}
|
|
990
1038
|
}
|
|
991
|
-
_self
|
|
992
|
-
_self.exTime = _self
|
|
993
|
-
_self
|
|
1039
|
+
_self[_DYN_TIME ] = dateNow() - _self.start;
|
|
1040
|
+
_self.exTime = _self[_DYN_TIME ] - childTime;
|
|
1041
|
+
_self[_DYN_COMPLETE ] = function () { };
|
|
994
1042
|
if (!accessorDefined && isFunction(payloadDetails)) {
|
|
995
1043
|
_self.payload = payloadDetails();
|
|
996
1044
|
}
|
|
@@ -1004,40 +1052,40 @@
|
|
|
1004
1052
|
function doPerf(mgrSource, getSource, func, details, isAsync) {
|
|
1005
1053
|
if (mgrSource) {
|
|
1006
1054
|
var perfMgr = mgrSource;
|
|
1007
|
-
if (
|
|
1008
|
-
perfMgr = perfMgr[
|
|
1055
|
+
if (perfMgr[STR_GET_PERF_MGR]) {
|
|
1056
|
+
perfMgr = perfMgr[STR_GET_PERF_MGR]();
|
|
1009
1057
|
}
|
|
1010
1058
|
if (perfMgr) {
|
|
1011
1059
|
var perfEvt = void 0;
|
|
1012
|
-
var currentActive = perfMgr
|
|
1060
|
+
var currentActive = perfMgr[_DYN_GET_CTX ](doPerfActiveKey);
|
|
1013
1061
|
try {
|
|
1014
1062
|
perfEvt = perfMgr.create(getSource(), details, isAsync);
|
|
1015
1063
|
if (perfEvt) {
|
|
1016
|
-
if (currentActive && perfEvt
|
|
1017
|
-
perfEvt
|
|
1018
|
-
if (currentActive
|
|
1019
|
-
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]);
|
|
1020
1068
|
if (!children) {
|
|
1021
1069
|
children = [];
|
|
1022
|
-
currentActive
|
|
1070
|
+
currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
|
|
1023
1071
|
}
|
|
1024
|
-
children
|
|
1072
|
+
children[_DYN_PUSH ](perfEvt);
|
|
1025
1073
|
}
|
|
1026
1074
|
}
|
|
1027
|
-
perfMgr
|
|
1075
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
|
|
1028
1076
|
return func(perfEvt);
|
|
1029
1077
|
}
|
|
1030
1078
|
}
|
|
1031
1079
|
catch (ex) {
|
|
1032
|
-
if (perfEvt && perfEvt
|
|
1033
|
-
perfEvt
|
|
1080
|
+
if (perfEvt && perfEvt[_DYN_SET_CTX ]) {
|
|
1081
|
+
perfEvt[_DYN_SET_CTX ]("exception", ex);
|
|
1034
1082
|
}
|
|
1035
1083
|
}
|
|
1036
1084
|
finally {
|
|
1037
1085
|
if (perfEvt) {
|
|
1038
1086
|
perfMgr.fire(perfEvt);
|
|
1039
1087
|
}
|
|
1040
|
-
perfMgr
|
|
1088
|
+
perfMgr[_DYN_SET_CTX ](doPerfActiveKey, currentActive);
|
|
1041
1089
|
}
|
|
1042
1090
|
}
|
|
1043
1091
|
}
|
|
@@ -1099,8 +1147,8 @@
|
|
|
1099
1147
|
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1100
1148
|
var number = random32() >>> 0;
|
|
1101
1149
|
var chars = 0;
|
|
1102
|
-
var result =
|
|
1103
|
-
while (result
|
|
1150
|
+
var result = STR_EMPTY;
|
|
1151
|
+
while (result[_DYN_LENGTH$1 ] < maxLength) {
|
|
1104
1152
|
chars++;
|
|
1105
1153
|
result += base64chars.charAt(number & 0x3F);
|
|
1106
1154
|
number >>>= 6;
|
|
@@ -1113,7 +1161,7 @@
|
|
|
1113
1161
|
}
|
|
1114
1162
|
|
|
1115
1163
|
var _objDefineProperty = ObjDefineProperty;
|
|
1116
|
-
var version = "2.8.5-nightly.
|
|
1164
|
+
var version = "2.8.5-nightly.2207-01";
|
|
1117
1165
|
var instanceName = "." + newId(6);
|
|
1118
1166
|
var _dataUid = 0;
|
|
1119
1167
|
function _createAccessor(target, prop, value) {
|
|
@@ -1132,7 +1180,7 @@
|
|
|
1132
1180
|
return false;
|
|
1133
1181
|
}
|
|
1134
1182
|
function _canAcceptData(target) {
|
|
1135
|
-
return target
|
|
1183
|
+
return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
|
|
1136
1184
|
}
|
|
1137
1185
|
function _getCache(data, target) {
|
|
1138
1186
|
var theCache = target[data.id];
|
|
@@ -1152,11 +1200,11 @@
|
|
|
1152
1200
|
}
|
|
1153
1201
|
function createUniqueNamespace(name, includeVersion) {
|
|
1154
1202
|
if (includeVersion === void 0) { includeVersion = false; }
|
|
1155
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version :
|
|
1203
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1156
1204
|
}
|
|
1157
1205
|
function createElmNodeData(name) {
|
|
1158
1206
|
var data = {
|
|
1159
|
-
id: createUniqueNamespace("_aiData-" + (name ||
|
|
1207
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1160
1208
|
accept: function (target) {
|
|
1161
1209
|
return _canAcceptData(target);
|
|
1162
1210
|
},
|
|
@@ -1198,16 +1246,17 @@
|
|
|
1198
1246
|
var elmNodeData = createElmNodeData("events");
|
|
1199
1247
|
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
1200
1248
|
function _normalizeNamespace(name) {
|
|
1201
|
-
if (name && name
|
|
1202
|
-
return name.replace(/^\s*\.*|\.*\s*$/g,
|
|
1249
|
+
if (name && name[_DYN_REPLACE ]) {
|
|
1250
|
+
return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
|
|
1203
1251
|
}
|
|
1204
1252
|
return name;
|
|
1205
1253
|
}
|
|
1206
1254
|
function _getEvtNamespace(eventName, evtNamespace) {
|
|
1255
|
+
var _a;
|
|
1207
1256
|
if (evtNamespace) {
|
|
1208
|
-
var theNamespace_1 =
|
|
1257
|
+
var theNamespace_1 = STR_EMPTY;
|
|
1209
1258
|
if (isArray(evtNamespace)) {
|
|
1210
|
-
theNamespace_1 =
|
|
1259
|
+
theNamespace_1 = STR_EMPTY;
|
|
1211
1260
|
arrForEach(evtNamespace, function (name) {
|
|
1212
1261
|
name = _normalizeNamespace(name);
|
|
1213
1262
|
if (name) {
|
|
@@ -1225,14 +1274,14 @@
|
|
|
1225
1274
|
if (theNamespace_1[0] !== ".") {
|
|
1226
1275
|
theNamespace_1 = "." + theNamespace_1;
|
|
1227
1276
|
}
|
|
1228
|
-
eventName = (eventName ||
|
|
1277
|
+
eventName = (eventName || STR_EMPTY) + theNamespace_1;
|
|
1229
1278
|
}
|
|
1230
1279
|
}
|
|
1231
|
-
var parsedEvent = (eventNamespace.exec(eventName ||
|
|
1232
|
-
return {
|
|
1233
|
-
|
|
1234
|
-
ns
|
|
1235
|
-
|
|
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;
|
|
1236
1285
|
}
|
|
1237
1286
|
function _getRegisteredEvents(target, evtName, addDefault) {
|
|
1238
1287
|
if (addDefault === void 0) { addDefault = true; }
|
|
@@ -1244,53 +1293,53 @@
|
|
|
1244
1293
|
return registeredEvents;
|
|
1245
1294
|
}
|
|
1246
1295
|
function _doDetach(obj, evtName, handlerRef, useCapture) {
|
|
1247
|
-
if (obj && evtName && evtName
|
|
1296
|
+
if (obj && evtName && evtName[_DYN_TYPE ]) {
|
|
1248
1297
|
if (obj[strRemoveEventListener]) {
|
|
1249
|
-
obj[strRemoveEventListener](evtName
|
|
1298
|
+
obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
1250
1299
|
}
|
|
1251
1300
|
else if (obj[strDetachEvent]) {
|
|
1252
|
-
obj[strDetachEvent](strOnPrefix + evtName
|
|
1301
|
+
obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
1253
1302
|
}
|
|
1254
1303
|
}
|
|
1255
1304
|
}
|
|
1256
1305
|
function _doAttach(obj, evtName, handlerRef, useCapture) {
|
|
1257
1306
|
var result = false;
|
|
1258
|
-
if (obj && evtName && evtName
|
|
1307
|
+
if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
|
|
1259
1308
|
if (obj[strAddEventHelper]) {
|
|
1260
|
-
obj[strAddEventHelper](evtName
|
|
1309
|
+
obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
|
|
1261
1310
|
result = true;
|
|
1262
1311
|
}
|
|
1263
1312
|
else if (obj[strAttachEvent]) {
|
|
1264
|
-
obj[strAttachEvent](strOnPrefix + evtName
|
|
1313
|
+
obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
|
|
1265
1314
|
result = true;
|
|
1266
1315
|
}
|
|
1267
1316
|
}
|
|
1268
1317
|
return result;
|
|
1269
1318
|
}
|
|
1270
1319
|
function _doUnregister(target, events, evtName, unRegFn) {
|
|
1271
|
-
var idx = events
|
|
1320
|
+
var idx = events[_DYN_LENGTH$1 ];
|
|
1272
1321
|
while (idx--) {
|
|
1273
1322
|
var theEvent = events[idx];
|
|
1274
1323
|
if (theEvent) {
|
|
1275
1324
|
if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
|
|
1276
1325
|
if (!unRegFn || unRegFn(theEvent)) {
|
|
1277
|
-
_doDetach(target, theEvent.evtName, theEvent
|
|
1278
|
-
events
|
|
1326
|
+
_doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
|
|
1327
|
+
events[_DYN_SPLICE ](idx, 1);
|
|
1279
1328
|
}
|
|
1280
1329
|
}
|
|
1281
1330
|
}
|
|
1282
1331
|
}
|
|
1283
1332
|
}
|
|
1284
1333
|
function _unregisterEvents(target, evtName, unRegFn) {
|
|
1285
|
-
if (evtName
|
|
1286
|
-
_doUnregister(target, _getRegisteredEvents(target, evtName
|
|
1334
|
+
if (evtName[_DYN_TYPE ]) {
|
|
1335
|
+
_doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
|
|
1287
1336
|
}
|
|
1288
1337
|
else {
|
|
1289
1338
|
var eventCache = elmNodeData.get(target, strEvents, {});
|
|
1290
1339
|
objForEachKey(eventCache, function (evtType, events) {
|
|
1291
1340
|
_doUnregister(target, events, evtName, unRegFn);
|
|
1292
1341
|
});
|
|
1293
|
-
if (objKeys(eventCache)
|
|
1342
|
+
if (objKeys(eventCache)[_DYN_LENGTH$1 ] === 0) {
|
|
1294
1343
|
elmNodeData.kill(target, strEvents);
|
|
1295
1344
|
}
|
|
1296
1345
|
}
|
|
@@ -1304,7 +1353,7 @@
|
|
|
1304
1353
|
else {
|
|
1305
1354
|
newNamespaces = [theNamespace, namespaces];
|
|
1306
1355
|
}
|
|
1307
|
-
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)
|
|
1356
|
+
newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT ](".");
|
|
1308
1357
|
}
|
|
1309
1358
|
else {
|
|
1310
1359
|
newNamespaces = theNamespace;
|
|
@@ -1312,6 +1361,7 @@
|
|
|
1312
1361
|
return newNamespaces;
|
|
1313
1362
|
}
|
|
1314
1363
|
function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
|
|
1364
|
+
var _a;
|
|
1315
1365
|
if (useCapture === void 0) { useCapture = false; }
|
|
1316
1366
|
var result = false;
|
|
1317
1367
|
if (target) {
|
|
@@ -1319,13 +1369,14 @@
|
|
|
1319
1369
|
var evtName = _getEvtNamespace(eventName, evtNamespace);
|
|
1320
1370
|
result = _doAttach(target, evtName, handlerRef, useCapture);
|
|
1321
1371
|
if (result && elmNodeData.accept(target)) {
|
|
1322
|
-
var registeredEvent = {
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
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);
|
|
1329
1380
|
}
|
|
1330
1381
|
}
|
|
1331
1382
|
catch (e) {
|
|
@@ -1340,7 +1391,7 @@
|
|
|
1340
1391
|
var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
|
|
1341
1392
|
var found_1 = false;
|
|
1342
1393
|
_unregisterEvents(target, evtName_1, function (regEvent) {
|
|
1343
|
-
if ((evtName_1.ns && !handlerRef) || regEvent
|
|
1394
|
+
if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
|
|
1344
1395
|
found_1 = true;
|
|
1345
1396
|
return true;
|
|
1346
1397
|
}
|
|
@@ -1355,7 +1406,6 @@
|
|
|
1355
1406
|
}
|
|
1356
1407
|
}
|
|
1357
1408
|
|
|
1358
|
-
var strDoUnload = "_doUnload";
|
|
1359
1409
|
var pluginStateData = createElmNodeData("plugin");
|
|
1360
1410
|
function _getPluginState(plugin) {
|
|
1361
1411
|
return pluginStateData.get(plugin, "state", {}, true);
|
|
@@ -1363,12 +1413,12 @@
|
|
|
1363
1413
|
function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {
|
|
1364
1414
|
var idx = 0;
|
|
1365
1415
|
function _doUnload() {
|
|
1366
|
-
while (idx < components
|
|
1416
|
+
while (idx < components[_DYN_LENGTH$1 ]) {
|
|
1367
1417
|
var component = components[idx++];
|
|
1368
1418
|
if (component) {
|
|
1369
|
-
var func = component
|
|
1419
|
+
var func = component._doUnload || component[_DYN__DO_TEARDOWN ];
|
|
1370
1420
|
if (isFunction(func)) {
|
|
1371
|
-
if (func
|
|
1421
|
+
if (func[_DYN_CALL ](component, unloadCtx, unloadState, _doUnload) === true) {
|
|
1372
1422
|
return true;
|
|
1373
1423
|
}
|
|
1374
1424
|
}
|
|
@@ -1384,12 +1434,12 @@
|
|
|
1384
1434
|
var _chainId = 0;
|
|
1385
1435
|
function _getNextProxyStart(proxy, core, startAt) {
|
|
1386
1436
|
while (proxy) {
|
|
1387
|
-
if (proxy
|
|
1437
|
+
if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
|
|
1388
1438
|
return proxy;
|
|
1389
1439
|
}
|
|
1390
|
-
proxy = proxy
|
|
1440
|
+
proxy = proxy[_DYN_GET_NEXT ]();
|
|
1391
1441
|
}
|
|
1392
|
-
return createTelemetryProxyChain([startAt], core
|
|
1442
|
+
return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
|
|
1393
1443
|
}
|
|
1394
1444
|
function _createInternalContext(telemetryChain, config, core, startAt) {
|
|
1395
1445
|
var _nextProxy = null;
|
|
@@ -1430,7 +1480,7 @@
|
|
|
1430
1480
|
args[_i - 2] = arguments[_i];
|
|
1431
1481
|
}
|
|
1432
1482
|
if (onComplete) {
|
|
1433
|
-
_onComplete
|
|
1483
|
+
_onComplete[_DYN_PUSH ]({
|
|
1434
1484
|
func: onComplete,
|
|
1435
1485
|
self: !isUndefined(that) ? that : context.ctx,
|
|
1436
1486
|
args: args
|
|
@@ -1439,16 +1489,16 @@
|
|
|
1439
1489
|
}
|
|
1440
1490
|
function _moveNext() {
|
|
1441
1491
|
var nextProxy = _nextProxy;
|
|
1442
|
-
_nextProxy = nextProxy ? nextProxy
|
|
1492
|
+
_nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
|
|
1443
1493
|
if (!nextProxy) {
|
|
1444
1494
|
var onComplete = _onComplete;
|
|
1445
|
-
if (onComplete && onComplete
|
|
1495
|
+
if (onComplete && onComplete[_DYN_LENGTH$1 ] > 0) {
|
|
1446
1496
|
arrForEach(onComplete, function (completeDetails) {
|
|
1447
1497
|
try {
|
|
1448
|
-
completeDetails.func
|
|
1498
|
+
completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
|
|
1449
1499
|
}
|
|
1450
1500
|
catch (e) {
|
|
1451
|
-
_throwInternal(core
|
|
1501
|
+
_throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
|
|
1452
1502
|
}
|
|
1453
1503
|
});
|
|
1454
1504
|
_onComplete = [];
|
|
@@ -1461,7 +1511,7 @@
|
|
|
1461
1511
|
if (mergeDefault === void 0) { mergeDefault = 0 ; }
|
|
1462
1512
|
var theConfig;
|
|
1463
1513
|
if (config) {
|
|
1464
|
-
var extConfig = config
|
|
1514
|
+
var extConfig = config[STR_EXTENSION_CONFIG ];
|
|
1465
1515
|
if (extConfig && identifier) {
|
|
1466
1516
|
theConfig = extConfig[identifier];
|
|
1467
1517
|
}
|
|
@@ -1502,7 +1552,7 @@
|
|
|
1502
1552
|
function _iterateChain(cb) {
|
|
1503
1553
|
var nextPlugin;
|
|
1504
1554
|
while (!!(nextPlugin = context._next())) {
|
|
1505
|
-
var plugin = nextPlugin
|
|
1555
|
+
var plugin = nextPlugin[_DYN_GET_PLUGIN ]();
|
|
1506
1556
|
if (plugin) {
|
|
1507
1557
|
cb(plugin);
|
|
1508
1558
|
}
|
|
@@ -1515,7 +1565,7 @@
|
|
|
1515
1565
|
var context = internalContext.ctx;
|
|
1516
1566
|
function _processNext(env) {
|
|
1517
1567
|
var nextPlugin = internalContext._next();
|
|
1518
|
-
nextPlugin && nextPlugin
|
|
1568
|
+
nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
|
|
1519
1569
|
return !nextPlugin;
|
|
1520
1570
|
}
|
|
1521
1571
|
function _createNew(plugins, startAt) {
|
|
@@ -1523,14 +1573,14 @@
|
|
|
1523
1573
|
if (isArray(plugins)) {
|
|
1524
1574
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1525
1575
|
}
|
|
1526
|
-
return createProcessTelemetryContext(plugins || context
|
|
1576
|
+
return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
|
|
1527
1577
|
}
|
|
1528
|
-
context
|
|
1529
|
-
context
|
|
1578
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1579
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1530
1580
|
return context;
|
|
1531
1581
|
}
|
|
1532
1582
|
function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
|
|
1533
|
-
var config = core
|
|
1583
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1534
1584
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1535
1585
|
var context = internalContext.ctx;
|
|
1536
1586
|
function _processNext(unloadState) {
|
|
@@ -1543,20 +1593,20 @@
|
|
|
1543
1593
|
if (isArray(plugins)) {
|
|
1544
1594
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1545
1595
|
}
|
|
1546
|
-
return createProcessTelemetryUnloadContext(plugins || context
|
|
1596
|
+
return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1547
1597
|
}
|
|
1548
|
-
context
|
|
1549
|
-
context
|
|
1598
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1599
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1550
1600
|
return context;
|
|
1551
1601
|
}
|
|
1552
1602
|
function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
|
|
1553
|
-
var config = core
|
|
1603
|
+
var config = core[_DYN_CONFIG ] || {};
|
|
1554
1604
|
var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
|
|
1555
1605
|
var context = internalContext.ctx;
|
|
1556
1606
|
function _processNext(updateState) {
|
|
1557
1607
|
return context.iterate(function (plugin) {
|
|
1558
|
-
if (isFunction(plugin
|
|
1559
|
-
plugin
|
|
1608
|
+
if (isFunction(plugin[_DYN_UPDATE ])) {
|
|
1609
|
+
plugin[_DYN_UPDATE ](context, updateState);
|
|
1560
1610
|
}
|
|
1561
1611
|
});
|
|
1562
1612
|
}
|
|
@@ -1565,22 +1615,22 @@
|
|
|
1565
1615
|
if (isArray(plugins)) {
|
|
1566
1616
|
plugins = createTelemetryProxyChain(plugins, config, core, startAt);
|
|
1567
1617
|
}
|
|
1568
|
-
return createProcessTelemetryUpdateContext(plugins || context
|
|
1618
|
+
return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
|
|
1569
1619
|
}
|
|
1570
|
-
context
|
|
1571
|
-
context
|
|
1620
|
+
context[_DYN_PROCESS_NEXT ] = _processNext;
|
|
1621
|
+
context[_DYN_CREATE_NEW ] = _createNew;
|
|
1572
1622
|
return context;
|
|
1573
1623
|
}
|
|
1574
1624
|
function createTelemetryProxyChain(plugins, config, core, startAt) {
|
|
1575
1625
|
var firstProxy = null;
|
|
1576
1626
|
var add = startAt ? false : true;
|
|
1577
|
-
if (isArray(plugins) && plugins
|
|
1627
|
+
if (isArray(plugins) && plugins[_DYN_LENGTH$1 ] > 0) {
|
|
1578
1628
|
var lastProxy_1 = null;
|
|
1579
1629
|
arrForEach(plugins, function (thePlugin) {
|
|
1580
1630
|
if (!add && startAt === thePlugin) {
|
|
1581
1631
|
add = true;
|
|
1582
1632
|
}
|
|
1583
|
-
if (add && thePlugin && isFunction(thePlugin
|
|
1633
|
+
if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
|
|
1584
1634
|
var newProxy = createTelemetryPluginProxy(thePlugin, config, core);
|
|
1585
1635
|
if (!firstProxy) {
|
|
1586
1636
|
firstProxy = newProxy;
|
|
@@ -1599,11 +1649,11 @@
|
|
|
1599
1649
|
}
|
|
1600
1650
|
function createTelemetryPluginProxy(plugin, config, core) {
|
|
1601
1651
|
var nextProxy = null;
|
|
1602
|
-
var hasProcessTelemetry = isFunction(plugin
|
|
1603
|
-
var hasSetNext = isFunction(plugin
|
|
1652
|
+
var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
|
|
1653
|
+
var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
|
|
1604
1654
|
var chainId;
|
|
1605
1655
|
if (plugin) {
|
|
1606
|
-
chainId = plugin
|
|
1656
|
+
chainId = plugin[_DYN_IDENTIFIER ] + "-" + plugin[STR_PRIORITY ] + "-" + _chainId++;
|
|
1607
1657
|
}
|
|
1608
1658
|
else {
|
|
1609
1659
|
chainId = "Unknown-0-" + _chainId++;
|
|
@@ -1635,17 +1685,17 @@
|
|
|
1635
1685
|
}
|
|
1636
1686
|
function _processChain(itemCtx, processPluginFn, name, details, isAsync) {
|
|
1637
1687
|
var hasRun = false;
|
|
1638
|
-
var identifier = plugin ? plugin
|
|
1688
|
+
var identifier = plugin ? plugin[_DYN_IDENTIFIER ] : strTelemetryPluginChain;
|
|
1639
1689
|
var hasRunContext = itemCtx[strHasRunFlags];
|
|
1640
1690
|
if (!hasRunContext) {
|
|
1641
1691
|
hasRunContext = itemCtx[strHasRunFlags] = {};
|
|
1642
1692
|
}
|
|
1643
1693
|
itemCtx.setNext(nextProxy);
|
|
1644
1694
|
if (plugin) {
|
|
1645
|
-
doPerf(itemCtx[
|
|
1695
|
+
doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
|
|
1646
1696
|
hasRunContext[chainId] = true;
|
|
1647
1697
|
try {
|
|
1648
|
-
var nextId = nextProxy ? nextProxy._id :
|
|
1698
|
+
var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
|
|
1649
1699
|
if (nextId) {
|
|
1650
1700
|
hasRunContext[nextId] = false;
|
|
1651
1701
|
}
|
|
@@ -1657,7 +1707,7 @@
|
|
|
1657
1707
|
hasRun = true;
|
|
1658
1708
|
}
|
|
1659
1709
|
if (!nextProxy || !hasNextRun) {
|
|
1660
|
-
_throwInternal(itemCtx
|
|
1710
|
+
_throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 73 , "Plugin [" + identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
|
|
1661
1711
|
}
|
|
1662
1712
|
}
|
|
1663
1713
|
}, details, isAsync);
|
|
@@ -1671,17 +1721,17 @@
|
|
|
1671
1721
|
return false;
|
|
1672
1722
|
}
|
|
1673
1723
|
var pluginState = _getPluginState(plugin);
|
|
1674
|
-
if (pluginState
|
|
1724
|
+
if (pluginState[_DYN_TEARDOWN ] || pluginState[STR_DISABLED]) {
|
|
1675
1725
|
return false;
|
|
1676
1726
|
}
|
|
1677
1727
|
if (hasSetNext) {
|
|
1678
|
-
plugin
|
|
1728
|
+
plugin[_DYN_SET_NEXT_PLUGIN ](nextProxy);
|
|
1679
1729
|
}
|
|
1680
|
-
plugin
|
|
1730
|
+
plugin[STR_PROCESS_TELEMETRY ](env, itemCtx);
|
|
1681
1731
|
return true;
|
|
1682
1732
|
}
|
|
1683
1733
|
if (!_processChain(itemCtx, _callProcessTelemetry, "processTelemetry", function () { return ({ item: env }); }, !(env.sync))) {
|
|
1684
|
-
itemCtx
|
|
1734
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
1685
1735
|
}
|
|
1686
1736
|
}
|
|
1687
1737
|
function _unloadPlugin(unloadCtx, unloadState) {
|
|
@@ -1689,20 +1739,20 @@
|
|
|
1689
1739
|
var hasRun = false;
|
|
1690
1740
|
if (plugin) {
|
|
1691
1741
|
var pluginState = _getPluginState(plugin);
|
|
1692
|
-
var pluginCore = plugin[
|
|
1693
|
-
if (plugin && (!pluginCore || pluginCore === unloadCtx
|
|
1694
|
-
pluginState[
|
|
1695
|
-
pluginState[
|
|
1696
|
-
pluginState[
|
|
1697
|
-
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) {
|
|
1698
1748
|
hasRun = true;
|
|
1699
1749
|
}
|
|
1700
1750
|
}
|
|
1701
1751
|
}
|
|
1702
1752
|
return hasRun;
|
|
1703
1753
|
}
|
|
1704
|
-
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState
|
|
1705
|
-
unloadCtx
|
|
1754
|
+
if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState[_DYN_IS_ASYNC ])) {
|
|
1755
|
+
unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
|
|
1706
1756
|
}
|
|
1707
1757
|
}
|
|
1708
1758
|
function _updatePlugin(updateCtx, updateState) {
|
|
@@ -1710,9 +1760,9 @@
|
|
|
1710
1760
|
var hasRun = false;
|
|
1711
1761
|
if (plugin) {
|
|
1712
1762
|
var pluginState = _getPluginState(plugin);
|
|
1713
|
-
var pluginCore = plugin[
|
|
1714
|
-
if (plugin && (!pluginCore || pluginCore === updateCtx
|
|
1715
|
-
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) {
|
|
1716
1766
|
hasRun = true;
|
|
1717
1767
|
}
|
|
1718
1768
|
}
|
|
@@ -1720,19 +1770,17 @@
|
|
|
1720
1770
|
return hasRun;
|
|
1721
1771
|
}
|
|
1722
1772
|
if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
|
|
1723
|
-
updateCtx
|
|
1773
|
+
updateCtx[_DYN_PROCESS_NEXT ](updateState);
|
|
1724
1774
|
}
|
|
1725
1775
|
}
|
|
1726
1776
|
return objFreeze(proxyChain);
|
|
1727
1777
|
}
|
|
1728
1778
|
|
|
1729
|
-
var strExtensionConfig = "extensionConfig";
|
|
1730
|
-
|
|
1731
1779
|
function createUnloadHandlerContainer() {
|
|
1732
1780
|
var handlers = [];
|
|
1733
1781
|
function _addHandler(handler) {
|
|
1734
1782
|
if (handler) {
|
|
1735
|
-
handlers
|
|
1783
|
+
handlers[_DYN_PUSH ](handler);
|
|
1736
1784
|
}
|
|
1737
1785
|
}
|
|
1738
1786
|
function _runHandlers(unloadCtx, unloadState) {
|
|
@@ -1741,7 +1789,7 @@
|
|
|
1741
1789
|
handler(unloadCtx, unloadState);
|
|
1742
1790
|
}
|
|
1743
1791
|
catch (e) {
|
|
1744
|
-
_throwInternal(unloadCtx
|
|
1792
|
+
_throwInternal(unloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
|
|
1745
1793
|
}
|
|
1746
1794
|
});
|
|
1747
1795
|
handlers = [];
|
|
@@ -1763,37 +1811,40 @@
|
|
|
1763
1811
|
var _hooks;
|
|
1764
1812
|
_initDefaults();
|
|
1765
1813
|
dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
|
|
1766
|
-
_self
|
|
1814
|
+
_self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
|
|
1767
1815
|
_setDefaults(config, core, pluginChain);
|
|
1768
1816
|
_isinitialized = true;
|
|
1769
1817
|
};
|
|
1770
|
-
_self
|
|
1771
|
-
var
|
|
1772
|
-
|
|
1818
|
+
_self[_DYN_TEARDOWN ] = function (unloadCtx, unloadState) {
|
|
1819
|
+
var _a;
|
|
1820
|
+
var core = _self[STR_CORE ];
|
|
1821
|
+
if (!core || (unloadCtx && core !== unloadCtx[STR_CORE ]())) {
|
|
1773
1822
|
return;
|
|
1774
1823
|
}
|
|
1775
1824
|
var result;
|
|
1776
1825
|
var unloadDone = false;
|
|
1777
1826
|
var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
|
|
1778
|
-
var theUnloadState = unloadState || {
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1827
|
+
var theUnloadState = unloadState || (_a = {
|
|
1828
|
+
reason: 0
|
|
1829
|
+
},
|
|
1830
|
+
_a[_DYN_IS_ASYNC ] = false,
|
|
1831
|
+
_a);
|
|
1782
1832
|
function _unloadCallback() {
|
|
1783
1833
|
if (!unloadDone) {
|
|
1784
1834
|
unloadDone = true;
|
|
1785
1835
|
_unloadHandlerContainer.run(theUnloadCtx, unloadState);
|
|
1786
|
-
|
|
1836
|
+
var oldHooks = _hooks;
|
|
1837
|
+
_hooks = [];
|
|
1838
|
+
arrForEach(oldHooks, function (fn) {
|
|
1787
1839
|
fn.rm();
|
|
1788
1840
|
});
|
|
1789
|
-
_hooks = [];
|
|
1790
1841
|
if (result === true) {
|
|
1791
|
-
theUnloadCtx
|
|
1842
|
+
theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
|
|
1792
1843
|
}
|
|
1793
1844
|
_initDefaults();
|
|
1794
1845
|
}
|
|
1795
1846
|
}
|
|
1796
|
-
if (!_self[
|
|
1847
|
+
if (!_self[_DYN__DO_TEARDOWN ] || _self[_DYN__DO_TEARDOWN ](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {
|
|
1797
1848
|
_unloadCallback();
|
|
1798
1849
|
}
|
|
1799
1850
|
else {
|
|
@@ -1801,9 +1852,9 @@
|
|
|
1801
1852
|
}
|
|
1802
1853
|
return result;
|
|
1803
1854
|
};
|
|
1804
|
-
_self
|
|
1805
|
-
var core = _self
|
|
1806
|
-
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 ]())) {
|
|
1807
1858
|
return;
|
|
1808
1859
|
}
|
|
1809
1860
|
var result;
|
|
@@ -1815,7 +1866,7 @@
|
|
|
1815
1866
|
function _updateCallback() {
|
|
1816
1867
|
if (!updateDone) {
|
|
1817
1868
|
updateDone = true;
|
|
1818
|
-
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx
|
|
1869
|
+
_setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT ]());
|
|
1819
1870
|
}
|
|
1820
1871
|
}
|
|
1821
1872
|
if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
|
|
@@ -1832,30 +1883,30 @@
|
|
|
1832
1883
|
_hooks = _hooks.concat(hooks);
|
|
1833
1884
|
}
|
|
1834
1885
|
else {
|
|
1835
|
-
_hooks
|
|
1886
|
+
_hooks[_DYN_PUSH ](hooks);
|
|
1836
1887
|
}
|
|
1837
1888
|
}
|
|
1838
1889
|
};
|
|
1839
1890
|
proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
|
|
1840
1891
|
});
|
|
1841
|
-
_self
|
|
1842
|
-
return _getTelCtx(itemCtx)
|
|
1892
|
+
_self[_DYN_DIAG_LOG ] = function (itemCtx) {
|
|
1893
|
+
return _getTelCtx(itemCtx)[_DYN_DIAG_LOG ]();
|
|
1843
1894
|
};
|
|
1844
|
-
_self[
|
|
1895
|
+
_self[_DYN_IS_INITIALIZED ] = function () {
|
|
1845
1896
|
return _isinitialized;
|
|
1846
1897
|
};
|
|
1847
1898
|
_self.setInitialized = function (isInitialized) {
|
|
1848
1899
|
_isinitialized = isInitialized;
|
|
1849
1900
|
};
|
|
1850
|
-
_self[
|
|
1901
|
+
_self[_DYN_SET_NEXT_PLUGIN ] = function (next) {
|
|
1851
1902
|
_nextPlugin = next;
|
|
1852
1903
|
};
|
|
1853
|
-
_self
|
|
1904
|
+
_self[_DYN_PROCESS_NEXT ] = function (env, itemCtx) {
|
|
1854
1905
|
if (itemCtx) {
|
|
1855
|
-
itemCtx
|
|
1906
|
+
itemCtx[_DYN_PROCESS_NEXT ](env);
|
|
1856
1907
|
}
|
|
1857
|
-
else if (_nextPlugin && isFunction(_nextPlugin
|
|
1858
|
-
_nextPlugin
|
|
1908
|
+
else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY ])) {
|
|
1909
|
+
_nextPlugin[STR_PROCESS_TELEMETRY ](env, null);
|
|
1859
1910
|
}
|
|
1860
1911
|
};
|
|
1861
1912
|
_self._getTelCtx = _getTelCtx;
|
|
@@ -1863,33 +1914,33 @@
|
|
|
1863
1914
|
if (currentCtx === void 0) { currentCtx = null; }
|
|
1864
1915
|
var itemCtx = currentCtx;
|
|
1865
1916
|
if (!itemCtx) {
|
|
1866
|
-
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self
|
|
1917
|
+
var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE ]);
|
|
1867
1918
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
1868
|
-
itemCtx = rootCtx
|
|
1919
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin[strGetPlugin]);
|
|
1869
1920
|
}
|
|
1870
1921
|
else {
|
|
1871
|
-
itemCtx = rootCtx
|
|
1922
|
+
itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
|
|
1872
1923
|
}
|
|
1873
1924
|
}
|
|
1874
1925
|
return itemCtx;
|
|
1875
1926
|
}
|
|
1876
1927
|
function _setDefaults(config, core, pluginChain) {
|
|
1877
1928
|
if (config) {
|
|
1878
|
-
setValue(config,
|
|
1929
|
+
setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
|
|
1879
1930
|
}
|
|
1880
1931
|
if (!pluginChain && core) {
|
|
1881
|
-
pluginChain = core
|
|
1932
|
+
pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
|
|
1882
1933
|
}
|
|
1883
1934
|
var nextPlugin = _nextPlugin;
|
|
1884
1935
|
if (_nextPlugin && _nextPlugin[strGetPlugin]) {
|
|
1885
1936
|
nextPlugin = _nextPlugin[strGetPlugin]();
|
|
1886
1937
|
}
|
|
1887
|
-
_self
|
|
1938
|
+
_self[STR_CORE ] = core;
|
|
1888
1939
|
_rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
|
|
1889
1940
|
}
|
|
1890
1941
|
function _initDefaults() {
|
|
1891
1942
|
_isinitialized = false;
|
|
1892
|
-
_self
|
|
1943
|
+
_self[STR_CORE ] = null;
|
|
1893
1944
|
_rootCtx = null;
|
|
1894
1945
|
_nextPlugin = null;
|
|
1895
1946
|
_hooks = [];
|
|
@@ -1900,109 +1951,176 @@
|
|
|
1900
1951
|
return BaseTelemetryPlugin;
|
|
1901
1952
|
}());
|
|
1902
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";
|
|
1903
1970
|
createEnumStyle({
|
|
1904
1971
|
CRITICAL: 1 ,
|
|
1905
1972
|
WARNING: 2
|
|
1906
1973
|
});
|
|
1907
|
-
var _InternalMessageId = createEnumStyle({
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
ClientPerformanceMathError
|
|
1917
|
-
|
|
1918
|
-
ErrorPVCalc
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
MessageLimitPerPVExceeded
|
|
1932
|
-
MissingRequiredFieldSpecification
|
|
1933
|
-
NavigationTimingNotSupported
|
|
1934
|
-
OnError
|
|
1935
|
-
|
|
1936
|
-
SenderNotInitialized
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
TelemetrySampledAndNotSent
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
InvalidBackendResponse
|
|
1952
|
-
|
|
1953
|
-
InvalidDurationValue
|
|
1954
|
-
TelemetryEnvelopeInvalid
|
|
1955
|
-
CreateEnvelopeError
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
CircularReferenceDetected
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
IllegalCharsInName
|
|
1962
|
-
ItemNotInArray
|
|
1963
|
-
MaxAjaxPerPVExceeded
|
|
1964
|
-
MessageTruncated
|
|
1965
|
-
NameTooLong
|
|
1966
|
-
SampleRateOutOfRange
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
StringValueTooLong
|
|
1970
|
-
StartCalledMoreThanOnce
|
|
1971
|
-
StopCalledWithoutStart
|
|
1972
|
-
|
|
1973
|
-
TrackArgumentsNotSpecified
|
|
1974
|
-
UrlTooLong
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
IdTooLong
|
|
1978
|
-
InvalidEvent
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
SnippetScriptLoadFailure
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
InvalidContentBlob
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
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));
|
|
1992
2059
|
|
|
1993
2060
|
var strNotSpecified = "not_specified";
|
|
1994
2061
|
|
|
1995
2062
|
var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
|
|
1996
2063
|
|
|
1997
|
-
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
|
+
|
|
1998
2112
|
var DEFAULT_DONOT_TRACK_TAG = "ai-dnt";
|
|
1999
2113
|
var DEFAULT_AI_BLOB_ATTRIBUTE_TAG = "ai-blob";
|
|
2000
2114
|
var DEFAULT_DATA_PREFIX = "data-";
|
|
2001
|
-
__assignFn(__assignFn({}, _InternalMessageId), {
|
|
2115
|
+
__assignFn(__assignFn({}, _InternalMessageId), createEnumStyle({
|
|
2116
|
+
CannotParseAiBlobValue: 101 ,
|
|
2117
|
+
InvalidContentBlob: 102 ,
|
|
2118
|
+
TrackPageActionEventFailed: 103
|
|
2119
|
+
}));
|
|
2002
2120
|
function removeNonObjectsAndInvalidElements(overrideConfig, attributeNamesExpectedObjects) {
|
|
2003
2121
|
removeInvalidElements(overrideConfig);
|
|
2004
2122
|
for (var i in attributeNamesExpectedObjects) {
|
|
2005
|
-
if (
|
|
2123
|
+
if (hasOwnProperty(attributeNamesExpectedObjects, i)) {
|
|
2006
2124
|
var objectName = attributeNamesExpectedObjects[i];
|
|
2007
2125
|
if (typeof overrideConfig[objectName] === "object") {
|
|
2008
2126
|
removeInvalidElements(overrideConfig[objectName]);
|
|
@@ -2089,15 +2207,15 @@
|
|
|
2089
2207
|
return walkUpDomChainWithElementValidation(el, isAttributeInElement, attribute);
|
|
2090
2208
|
}
|
|
2091
2209
|
function isAttributeInElement(element, attributeToLookFor) {
|
|
2092
|
-
var value = element
|
|
2210
|
+
var value = element[_DYN_GET_ATTRIBUTE ](attributeToLookFor);
|
|
2093
2211
|
return isValueAssigned(value);
|
|
2094
2212
|
}
|
|
2095
2213
|
function walkUpDomChainWithElementValidation(el, validationMethod, validationMethodParam) {
|
|
2096
2214
|
var element = el;
|
|
2097
2215
|
if (element) {
|
|
2098
2216
|
while (!validationMethod(element, validationMethodParam)) {
|
|
2099
|
-
element = element
|
|
2100
|
-
if (!element || !(element
|
|
2217
|
+
element = element[_DYN_PARENT_NODE ];
|
|
2218
|
+
if (!element || !(element[_DYN_GET_ATTRIBUTE ])) {
|
|
2101
2219
|
return null;
|
|
2102
2220
|
}
|
|
2103
2221
|
}
|
|
@@ -2121,62 +2239,35 @@
|
|
|
2121
2239
|
function bracketIt(str) {
|
|
2122
2240
|
return "[" + str + "]";
|
|
2123
2241
|
}
|
|
2124
|
-
function extend(obj, obj2, obj3, obj4, obj5) {
|
|
2125
|
-
var extended = {};
|
|
2126
|
-
var deep = false;
|
|
2127
|
-
var i = 0;
|
|
2128
|
-
var length = arguments.length;
|
|
2129
|
-
var objProto = Object[Prototype];
|
|
2130
|
-
var theArgs = arguments;
|
|
2131
|
-
if (objProto.toString.call(theArgs[0]) === "[object Boolean]") {
|
|
2132
|
-
deep = theArgs[0];
|
|
2133
|
-
i++;
|
|
2134
|
-
}
|
|
2135
|
-
var merge = function (obj) {
|
|
2136
|
-
for (var prop in obj) {
|
|
2137
|
-
if (hasOwnProperty(obj, prop)) {
|
|
2138
|
-
if (deep && objProto.toString.call(obj[prop]) === "[object Object]") {
|
|
2139
|
-
extended[prop] = extend(true, extended[prop], obj[prop]);
|
|
2140
|
-
}
|
|
2141
|
-
else {
|
|
2142
|
-
extended[prop] = obj[prop];
|
|
2143
|
-
}
|
|
2144
|
-
}
|
|
2145
|
-
}
|
|
2146
|
-
};
|
|
2147
|
-
for (; i < length; i++) {
|
|
2148
|
-
var obj = theArgs[i];
|
|
2149
|
-
merge(obj);
|
|
2150
|
-
}
|
|
2151
|
-
return extended;
|
|
2152
|
-
}
|
|
2153
2242
|
function validateContentNamePrefix(config, defaultDataPrefix) {
|
|
2154
|
-
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);
|
|
2155
2244
|
}
|
|
2156
2245
|
function mergeConfig(overrideConfig) {
|
|
2157
|
-
var
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
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)
|
|
2175
2266
|
},
|
|
2176
|
-
|
|
2177
|
-
defaultRightClickBhvr
|
|
2178
|
-
dropInvalidEvents
|
|
2179
|
-
|
|
2267
|
+
_a[_DYN_BEHAVIOR_VALIDATOR ] = function (key) { return key || ""; },
|
|
2268
|
+
_a.defaultRightClickBhvr = "",
|
|
2269
|
+
_a.dropInvalidEvents = false,
|
|
2270
|
+
_a);
|
|
2180
2271
|
var attributesThatAreObjectsInConfig = [];
|
|
2181
2272
|
for (var attribute in defaultConfig) {
|
|
2182
2273
|
if (typeof defaultConfig[attribute] === "object") {
|
|
@@ -2185,10 +2276,10 @@
|
|
|
2185
2276
|
}
|
|
2186
2277
|
if (overrideConfig) {
|
|
2187
2278
|
removeNonObjectsAndInvalidElements(overrideConfig, attributesThatAreObjectsInConfig);
|
|
2188
|
-
if (isValueAssigned(overrideConfig
|
|
2189
|
-
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;
|
|
2190
2281
|
}
|
|
2191
|
-
return
|
|
2282
|
+
return objExtend(true, defaultConfig, overrideConfig);
|
|
2192
2283
|
}
|
|
2193
2284
|
}
|
|
2194
2285
|
function BehaviorMapValidator(map) {
|
|
@@ -2215,7 +2306,7 @@
|
|
|
2215
2306
|
var temp = element;
|
|
2216
2307
|
if (temp) {
|
|
2217
2308
|
var parent = findClosestAnchor(temp);
|
|
2218
|
-
if (parent
|
|
2309
|
+
if (parent[_DYN_LENGTH ] === 1) {
|
|
2219
2310
|
var firstParent = parent[0];
|
|
2220
2311
|
if (firstParent.href) {
|
|
2221
2312
|
return firstParent.href;
|
|
@@ -2229,7 +2320,7 @@
|
|
|
2229
2320
|
}
|
|
2230
2321
|
function getClickTarget(element) {
|
|
2231
2322
|
var clickTarget = "";
|
|
2232
|
-
switch (element
|
|
2323
|
+
switch (element[_DYN_TAG_NAME ]) {
|
|
2233
2324
|
case "A":
|
|
2234
2325
|
case "AREA":
|
|
2235
2326
|
clickTarget = element.href || "";
|
|
@@ -2239,13 +2330,13 @@
|
|
|
2239
2330
|
break;
|
|
2240
2331
|
case "INPUT":
|
|
2241
2332
|
var type = element.type;
|
|
2242
|
-
if (type && (clickCaptureInputTypes$1[type
|
|
2333
|
+
if (type && (clickCaptureInputTypes$1[type[_DYN_TO_UPPER_CASE ]()])) {
|
|
2243
2334
|
var loc = getLocation() || {};
|
|
2244
2335
|
if (element.form) {
|
|
2245
|
-
clickTarget = element.form.action || (loc
|
|
2336
|
+
clickTarget = element.form.action || (loc[_DYN_PATHNAME ] || "");
|
|
2246
2337
|
}
|
|
2247
2338
|
else {
|
|
2248
|
-
clickTarget = loc
|
|
2339
|
+
clickTarget = loc[_DYN_PATHNAME ] || "";
|
|
2249
2340
|
}
|
|
2250
2341
|
}
|
|
2251
2342
|
break;
|
|
@@ -2253,14 +2344,14 @@
|
|
|
2253
2344
|
return clickTarget;
|
|
2254
2345
|
}
|
|
2255
2346
|
function getPageName(config, overrideValues) {
|
|
2256
|
-
if (overrideValues && overrideValues
|
|
2257
|
-
return overrideValues
|
|
2347
|
+
if (overrideValues && overrideValues[_DYN_PAGE_NAME ]) {
|
|
2348
|
+
return overrideValues[_DYN_PAGE_NAME ];
|
|
2258
2349
|
}
|
|
2259
|
-
else if (config.callback && isFunction(config.callback
|
|
2260
|
-
return config.callback
|
|
2350
|
+
else if (config.callback && isFunction(config.callback[_DYN_PAGE_NAME ])) {
|
|
2351
|
+
return config.callback[_DYN_PAGE_NAME ]();
|
|
2261
2352
|
}
|
|
2262
|
-
else if (config.coreData && config.coreData
|
|
2263
|
-
return config.coreData
|
|
2353
|
+
else if (config.coreData && config.coreData[_DYN_PAGE_NAME ]) {
|
|
2354
|
+
return config.coreData[_DYN_PAGE_NAME ];
|
|
2264
2355
|
}
|
|
2265
2356
|
else {
|
|
2266
2357
|
var doc = getDocument();
|
|
@@ -2273,12 +2364,12 @@
|
|
|
2273
2364
|
}
|
|
2274
2365
|
var url = location.protocol + "//" + (location.hostname || location.host) +
|
|
2275
2366
|
(isValueAssigned(location.port) ? ":" + location.port : "") +
|
|
2276
|
-
location
|
|
2367
|
+
location[_DYN_PATHNAME ];
|
|
2277
2368
|
return url;
|
|
2278
2369
|
}
|
|
2279
2370
|
function getUri(config, location) {
|
|
2280
|
-
if (config
|
|
2281
|
-
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 ];
|
|
2282
2373
|
}
|
|
2283
2374
|
return sanitizeUrl(config, location);
|
|
2284
2375
|
}
|
|
@@ -2288,64 +2379,64 @@
|
|
|
2288
2379
|
dynamicProto(WebEvent, this, function (_self) {
|
|
2289
2380
|
_initDefaults();
|
|
2290
2381
|
function _initDefaults() {
|
|
2291
|
-
_self
|
|
2382
|
+
_self[_DYN__PAGE_TAGS ] = {};
|
|
2292
2383
|
_self._clickAnalyticsPlugin = clickAnalyticsPlugin;
|
|
2293
|
-
_self
|
|
2384
|
+
_self[_DYN__CONFIG ] = config;
|
|
2294
2385
|
_self._contentHandler = contentHandler;
|
|
2295
|
-
_self
|
|
2296
|
-
_self
|
|
2297
|
-
_self
|
|
2386
|
+
_self[_DYN__PAGE_TAGS_CALLBACK ] = pageTagsCallback;
|
|
2387
|
+
_self[_DYN__META_TAGS ] = metaTags;
|
|
2388
|
+
_self[_DYN__TRACE_LOGGER ] = traceLogger;
|
|
2298
2389
|
}
|
|
2299
|
-
_self
|
|
2300
|
-
if (!isValueAssigned(event
|
|
2301
|
-
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);
|
|
2302
2393
|
}
|
|
2303
2394
|
if (!isValueAssigned(event.uri) && hasWindow) {
|
|
2304
|
-
event.uri = getUri(_self
|
|
2395
|
+
event.uri = getUri(_self[_DYN__CONFIG ], getLocation());
|
|
2305
2396
|
}
|
|
2306
2397
|
};
|
|
2307
|
-
_self
|
|
2308
|
-
_self
|
|
2398
|
+
_self[_DYN_SET_COMMON_PROPERTIE4 ] = function (event, overrideValues) {
|
|
2399
|
+
_self[_DYN_SET_BASIC_PROPERTIES ](event, overrideValues);
|
|
2309
2400
|
_self._setPageTags(event, overrideValues);
|
|
2310
|
-
_self._pageTypeMetaTag = _getMetaData(_self._metaTags, _self._config
|
|
2311
|
-
_self._behaviorMetaTag = _getMetaData(_self._metaTags, _self._config
|
|
2312
|
-
if (isValueAssigned(overrideValues
|
|
2313
|
-
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 ];
|
|
2314
2405
|
}
|
|
2315
|
-
if (isValueAssigned(_self._pageTypeMetaTag) && !isValueAssigned(event
|
|
2316
|
-
event
|
|
2406
|
+
if (isValueAssigned(_self._pageTypeMetaTag) && !isValueAssigned(event[_DYN_PAGE_TYPE ])) {
|
|
2407
|
+
event[_DYN_PAGE_TYPE ] = _self[_DYN__PAGE_TYPE_META_TAG ];
|
|
2317
2408
|
}
|
|
2318
2409
|
};
|
|
2319
2410
|
_self._setPageTags = function (event, overrideValues) {
|
|
2320
|
-
if (_self
|
|
2321
|
-
_self
|
|
2411
|
+
if (_self[_DYN__PAGE_TAGS_CALLBACK ]) {
|
|
2412
|
+
_self[_DYN__PAGE_TAGS ] = objExtend(true, _self[_DYN__PAGE_TAGS ], _self[_DYN__PAGE_TAGS_CALLBACK ]());
|
|
2322
2413
|
}
|
|
2323
2414
|
if (isValueAssigned(overrideValues.pageTags)) {
|
|
2324
|
-
_self
|
|
2415
|
+
_self[_DYN__PAGE_TAGS ] = objExtend(true, _self[_DYN__PAGE_TAGS ], overrideValues.pageTags);
|
|
2325
2416
|
}
|
|
2326
|
-
if (_self
|
|
2327
|
-
_self.
|
|
2328
|
-
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 ]) {
|
|
2329
2420
|
if (metaTag != "behavior" && metaTag != "market" && metaTag != "pageType") {
|
|
2330
|
-
_self.
|
|
2421
|
+
_self[_DYN__PAGE_TAGS ].metaTags[metaTag] = _self[_DYN__META_TAGS ][metaTag];
|
|
2331
2422
|
}
|
|
2332
2423
|
}
|
|
2333
2424
|
}
|
|
2334
|
-
event
|
|
2335
|
-
event
|
|
2425
|
+
event[_DYN_PROPERTIES ] = event[_DYN_PROPERTIES ] || {};
|
|
2426
|
+
event[_DYN_PROPERTIES ]["pageTags"] = _self[_DYN__PAGE_TAGS ];
|
|
2336
2427
|
};
|
|
2337
2428
|
_self._getBehavior = function (overrideValues) {
|
|
2338
2429
|
var behavior;
|
|
2339
|
-
if (overrideValues && isValueAssigned(overrideValues
|
|
2340
|
-
behavior = overrideValues
|
|
2430
|
+
if (overrideValues && isValueAssigned(overrideValues[_DYN_BEHAVIOR ])) {
|
|
2431
|
+
behavior = overrideValues[_DYN_BEHAVIOR ];
|
|
2341
2432
|
}
|
|
2342
|
-
else if (isValueAssigned(_self
|
|
2343
|
-
behavior = _self
|
|
2433
|
+
else if (isValueAssigned(_self[_DYN__BEHAVIOR_META_TAG ])) {
|
|
2434
|
+
behavior = _self[_DYN__BEHAVIOR_META_TAG ];
|
|
2344
2435
|
}
|
|
2345
|
-
return _self
|
|
2436
|
+
return _self[_DYN__GET_VALID_BEHAVIOR ](behavior);
|
|
2346
2437
|
};
|
|
2347
|
-
_self
|
|
2348
|
-
return _self._config
|
|
2438
|
+
_self[_DYN__GET_VALID_BEHAVIOR ] = function (behavior) {
|
|
2439
|
+
return _self._config[_DYN_BEHAVIOR_VALIDATOR ](behavior);
|
|
2349
2440
|
};
|
|
2350
2441
|
_self._doUnload = function (unloadCtx, unloadState, asyncCallback) {
|
|
2351
2442
|
_initDefaults();
|
|
@@ -2370,7 +2461,7 @@
|
|
|
2370
2461
|
function PageAction(clickAnalyticsPlugin, config, contentHandler, pageTagsCallback, metaTags, traceLogger) {
|
|
2371
2462
|
var _this = _super.call(this, clickAnalyticsPlugin, config, contentHandler, pageTagsCallback, metaTags, traceLogger) || this;
|
|
2372
2463
|
dynamicProto(PageAction, _this, function (_self, _base) {
|
|
2373
|
-
_self
|
|
2464
|
+
_self[_DYN_TRACK_PAGE_ACTION ] = function (pageActionEvent, properties) {
|
|
2374
2465
|
var ext = {};
|
|
2375
2466
|
ext["web"] = {};
|
|
2376
2467
|
var event = {
|
|
@@ -2380,66 +2471,66 @@
|
|
|
2380
2471
|
data: {},
|
|
2381
2472
|
baseData: {}
|
|
2382
2473
|
};
|
|
2383
|
-
_populateEventDataIfPresent(event.baseData, "name", pageActionEvent
|
|
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
|
|
2393
|
-
_populateEventDataIfPresent(event
|
|
2394
|
-
_populateEventDataIfPresent(event
|
|
2395
|
-
_populateEventDataIfPresent(event.data, "pageName", pageActionEvent
|
|
2396
|
-
_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 ]);
|
|
2397
2488
|
if (properties) {
|
|
2398
2489
|
objForEachKey(properties, function (property, value) {
|
|
2399
|
-
if (!event
|
|
2400
|
-
_populateEventDataIfPresent(event
|
|
2490
|
+
if (!event[_DYN_DATA ][property]) {
|
|
2491
|
+
_populateEventDataIfPresent(event[_DYN_DATA ], property, value);
|
|
2401
2492
|
}
|
|
2402
2493
|
});
|
|
2403
2494
|
}
|
|
2404
2495
|
_self._clickAnalyticsPlugin.core.track(event);
|
|
2405
2496
|
};
|
|
2406
|
-
_self
|
|
2497
|
+
_self[_DYN_CAPTURE_PAGE_ACTION ] = function (element, overrideValues, customProperties, isRightClick) {
|
|
2407
2498
|
overrideValues = !isValueAssigned(overrideValues) ? {} : overrideValues;
|
|
2408
2499
|
var pageActionEvent = { name: "" };
|
|
2409
2500
|
var pageActionProperties = isValueAssigned(customProperties) ? customProperties : {};
|
|
2410
|
-
_self
|
|
2411
|
-
pageActionEvent
|
|
2501
|
+
_self[_DYN_SET_COMMON_PROPERTIE4 ](pageActionEvent, overrideValues);
|
|
2502
|
+
pageActionEvent[_DYN_BEHAVIOR ] = _self._getBehavior(overrideValues);
|
|
2412
2503
|
var elementContent = {};
|
|
2413
2504
|
if (isRightClick) {
|
|
2414
|
-
pageActionEvent
|
|
2505
|
+
pageActionEvent[_DYN_BEHAVIOR ] = _self[_DYN__CONFIG ].defaultRightClickBhvr;
|
|
2415
2506
|
}
|
|
2416
2507
|
if (element) {
|
|
2417
2508
|
pageActionEvent.targetUri = getClickTarget(element);
|
|
2418
|
-
elementContent = _self._contentHandler
|
|
2419
|
-
if (elementContent.bhvr && !isValueAssigned(overrideValues
|
|
2509
|
+
elementContent = _self._contentHandler[_DYN_GET_ELEMENT_CONTENT ](element);
|
|
2510
|
+
if (elementContent.bhvr && !isValueAssigned(overrideValues[_DYN_BEHAVIOR ])) {
|
|
2420
2511
|
var currentBehavior = extractFieldFromObject(elementContent, "bhvr");
|
|
2421
|
-
pageActionEvent
|
|
2512
|
+
pageActionEvent[_DYN_BEHAVIOR ] = _self[_DYN__GET_VALID_BEHAVIOR ](currentBehavior);
|
|
2422
2513
|
}
|
|
2423
|
-
if (!isValueAssigned(elementContent.id) && !isValueAssigned(elementContent
|
|
2424
|
-
_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!");
|
|
2425
2516
|
}
|
|
2426
2517
|
}
|
|
2427
|
-
pageActionEvent
|
|
2428
|
-
pageActionEvent
|
|
2429
|
-
if (isValueAssigned(overrideValues
|
|
2430
|
-
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 ];
|
|
2431
2522
|
}
|
|
2432
|
-
if (isValueAssigned(overrideValues
|
|
2433
|
-
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 ];
|
|
2434
2525
|
}
|
|
2435
2526
|
_sanitizePageActionEventContent(elementContent);
|
|
2436
|
-
pageActionEvent
|
|
2527
|
+
pageActionEvent[_DYN_CONTENT ] = bracketIt(JSON.stringify(objExtend(elementContent, overrideValues && overrideValues.contentTags ? overrideValues.contentTags : {})));
|
|
2437
2528
|
pageActionEvent.timeToAction = _getTimeToClick();
|
|
2438
|
-
pageActionEvent.refUri = isValueAssigned(overrideValues.refUri) ? overrideValues.refUri : _self._config.
|
|
2529
|
+
pageActionEvent.refUri = isValueAssigned(overrideValues.refUri) ? overrideValues.refUri : _self._config[_DYN_CORE_DATA ].referrerUri;
|
|
2439
2530
|
if (_isUndefinedEvent(pageActionEvent)) {
|
|
2440
2531
|
return;
|
|
2441
2532
|
}
|
|
2442
|
-
_self
|
|
2533
|
+
_self[_DYN_TRACK_PAGE_ACTION ](pageActionEvent, pageActionProperties);
|
|
2443
2534
|
};
|
|
2444
2535
|
function _getTimeToClick() {
|
|
2445
2536
|
var perf = getPerformance();
|
|
@@ -2461,16 +2552,16 @@
|
|
|
2461
2552
|
delete pageActionContent.id;
|
|
2462
2553
|
delete pageActionContent.parentid;
|
|
2463
2554
|
delete pageActionContent.parentname;
|
|
2464
|
-
if (_self._config && _self._config
|
|
2465
|
-
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];
|
|
2466
2557
|
}
|
|
2467
2558
|
}
|
|
2468
2559
|
}
|
|
2469
2560
|
function _isUndefinedEvent(pageActionEvent) {
|
|
2470
|
-
if (_self.
|
|
2471
|
-
if (pageActionEvent
|
|
2472
|
-
&& pageActionEvent
|
|
2473
|
-
&& pageActionEvent
|
|
2561
|
+
if (_self[_DYN__CONFIG ].dropInvalidEvents) {
|
|
2562
|
+
if (pageActionEvent[_DYN_NAME ] === strNotSpecified
|
|
2563
|
+
&& pageActionEvent[_DYN_PARENT_ID ] === strNotSpecified
|
|
2564
|
+
&& pageActionEvent[_DYN_CONTENT ] === "[{}]") {
|
|
2474
2565
|
return true;
|
|
2475
2566
|
}
|
|
2476
2567
|
}
|
|
@@ -2508,7 +2599,7 @@
|
|
|
2508
2599
|
var win = getWindow();
|
|
2509
2600
|
var doc = getDocument();
|
|
2510
2601
|
if (win) {
|
|
2511
|
-
var event_1 = (navigator.appVersion
|
|
2602
|
+
var event_1 = (navigator.appVersion[_DYN_INDEX_OF ]("MSIE") !== -1) ? "click" : "mousedown";
|
|
2512
2603
|
eventOn(win, event_1, _processClick, _evtNamespace);
|
|
2513
2604
|
eventOn(win, "keyup", _processClick, _evtNamespace);
|
|
2514
2605
|
}
|
|
@@ -2522,12 +2613,13 @@
|
|
|
2522
2613
|
eventOff(getDocument(), null, null, _evtNamespace);
|
|
2523
2614
|
};
|
|
2524
2615
|
function _capturePageAction(element, overrideValues, customProperties, isRightClick) {
|
|
2525
|
-
var donotTrackTag = _self._config.dataTags
|
|
2616
|
+
var donotTrackTag = _self._config.dataTags[_DYN_CUSTOM_DATA_PREFIX ] + _self[_DYN__CONFIG ][_DYN_DATA_TAGS ].dntDataTag;
|
|
2526
2617
|
if (!isElementDnt(element, donotTrackTag)) {
|
|
2527
|
-
_self._pageAction
|
|
2618
|
+
_self._pageAction[_DYN_CAPTURE_PAGE_ACTION ](element, overrideValues, customProperties, isRightClick);
|
|
2528
2619
|
}
|
|
2529
2620
|
}
|
|
2530
2621
|
function _processClick(clickEvent) {
|
|
2622
|
+
var _a;
|
|
2531
2623
|
var clickCaptureElements = { A: true, BUTTON: true, AREA: true, INPUT: true };
|
|
2532
2624
|
var win = getWindow();
|
|
2533
2625
|
if (isNullOrUndefined(clickEvent) && win) {
|
|
@@ -2535,40 +2627,40 @@
|
|
|
2535
2627
|
}
|
|
2536
2628
|
if (clickEvent) {
|
|
2537
2629
|
var element = clickEvent.srcElement || clickEvent.target;
|
|
2538
|
-
var overrideValues = {
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2630
|
+
var overrideValues = (_a = {},
|
|
2631
|
+
_a[_DYN_CLICK_COORDINATE_X ] = clickEvent.pageX,
|
|
2632
|
+
_a[_DYN_CLICK_COORDINATE_Y ] = clickEvent.pageY,
|
|
2633
|
+
_a);
|
|
2542
2634
|
var isRightClickObj = isRightClick(clickEvent);
|
|
2543
2635
|
if (isRightClickObj) {
|
|
2544
|
-
overrideValues
|
|
2636
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.CLICKRIGHT;
|
|
2545
2637
|
}
|
|
2546
2638
|
else if (isLeftClick(clickEvent)) {
|
|
2547
|
-
overrideValues
|
|
2639
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.CLICKLEFT;
|
|
2548
2640
|
}
|
|
2549
2641
|
else if (isKeyboardEnter(clickEvent)) {
|
|
2550
|
-
overrideValues
|
|
2642
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.KEYBOARDENTER;
|
|
2551
2643
|
}
|
|
2552
2644
|
else if (isKeyboardSpace(clickEvent)) {
|
|
2553
|
-
overrideValues
|
|
2645
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.KEYBOARDSPACE;
|
|
2554
2646
|
}
|
|
2555
2647
|
else if (isMiddleClick(clickEvent)) {
|
|
2556
|
-
overrideValues
|
|
2648
|
+
overrideValues[_DYN_ACTION_TYPE ] = ActionType.CLICKMIDDLE;
|
|
2557
2649
|
}
|
|
2558
2650
|
else {
|
|
2559
2651
|
return;
|
|
2560
2652
|
}
|
|
2561
|
-
while (element && element
|
|
2562
|
-
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 ]()]) {
|
|
2563
2655
|
element = element.control;
|
|
2564
2656
|
}
|
|
2565
|
-
var tagNameUpperCased = element
|
|
2657
|
+
var tagNameUpperCased = element[_DYN_TAG_NAME ][_DYN_TO_UPPER_CASE ]();
|
|
2566
2658
|
if (!clickCaptureElements[tagNameUpperCased]) {
|
|
2567
|
-
element = element.parentElement || element
|
|
2659
|
+
element = element.parentElement || element[_DYN_PARENT_NODE ];
|
|
2568
2660
|
continue;
|
|
2569
2661
|
}
|
|
2570
2662
|
else {
|
|
2571
|
-
var sendEvent = tagNameUpperCased === "INPUT" ? clickCaptureInputTypes[element.type
|
|
2663
|
+
var sendEvent = tagNameUpperCased === "INPUT" ? clickCaptureInputTypes[element.type[_DYN_TO_UPPER_CASE ]()] : true;
|
|
2572
2664
|
if (sendEvent) {
|
|
2573
2665
|
_capturePageAction(element, overrideValues, {}, isRightClickObj);
|
|
2574
2666
|
}
|
|
@@ -2590,57 +2682,57 @@
|
|
|
2590
2682
|
this._traceLogger = _traceLogger;
|
|
2591
2683
|
dynamicProto(DomContentHandler, this, function (_self) {
|
|
2592
2684
|
_self.getMetadata = function () {
|
|
2593
|
-
var dataTags = (_self._config || {})
|
|
2685
|
+
var dataTags = (_self._config || {})[_DYN_DATA_TAGS ];
|
|
2594
2686
|
var metaTags = {};
|
|
2595
2687
|
if (hasDocument) {
|
|
2596
|
-
metaTags = isValueAssigned(dataTags.metaDataPrefix) ? _getMetaDataFromDOM(dataTags
|
|
2597
|
-
_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);
|
|
2598
2690
|
}
|
|
2599
2691
|
return metaTags;
|
|
2600
2692
|
};
|
|
2601
|
-
_self
|
|
2693
|
+
_self[_DYN_GET_ELEMENT_CONTENT ] = function (element) {
|
|
2602
2694
|
if (!element) {
|
|
2603
2695
|
return {};
|
|
2604
2696
|
}
|
|
2605
|
-
var dataTags = (_self._config || {})
|
|
2697
|
+
var dataTags = (_self._config || {})[_DYN_DATA_TAGS ];
|
|
2606
2698
|
var elementContent = {};
|
|
2607
2699
|
var biBlobValue;
|
|
2608
2700
|
var parentDataTagPrefix;
|
|
2609
|
-
var dataTagPrefix = dataTags
|
|
2610
|
-
var aiBlobAttributeTag = dataTagPrefix + dataTags
|
|
2611
|
-
if (isValueAssigned(dataTags
|
|
2612
|
-
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 ];
|
|
2613
2705
|
}
|
|
2614
2706
|
if (!_isTracked(element, dataTagPrefix, aiBlobAttributeTag)) {
|
|
2615
|
-
biBlobValue = element
|
|
2707
|
+
biBlobValue = element[_DYN_GET_ATTRIBUTE ](aiBlobAttributeTag);
|
|
2616
2708
|
if (biBlobValue) {
|
|
2617
2709
|
try {
|
|
2618
2710
|
elementContent = JSON.parse(biBlobValue);
|
|
2619
2711
|
}
|
|
2620
2712
|
catch (e) {
|
|
2621
|
-
_throwInternal(_self
|
|
2713
|
+
_throwInternal(_self[_DYN__TRACE_LOGGER ], 1 , 101 , "Can not parse " + biBlobValue);
|
|
2622
2714
|
}
|
|
2623
2715
|
}
|
|
2624
2716
|
else {
|
|
2625
|
-
elementContent =
|
|
2717
|
+
elementContent = objExtend(elementContent, _populateElementContent(element, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag));
|
|
2626
2718
|
}
|
|
2627
2719
|
}
|
|
2628
2720
|
else {
|
|
2629
|
-
elementContent =
|
|
2721
|
+
elementContent = objExtend(elementContent, _populateElementContentwithDataTag(element, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag));
|
|
2630
2722
|
}
|
|
2631
2723
|
removeInvalidElements(elementContent);
|
|
2632
2724
|
if (parentDataTagPrefix) {
|
|
2633
|
-
elementContent =
|
|
2725
|
+
elementContent = objExtend(elementContent, _getParentDetails(element, elementContent, dataTagPrefix, aiBlobAttributeTag));
|
|
2634
2726
|
}
|
|
2635
2727
|
return elementContent;
|
|
2636
2728
|
};
|
|
2637
2729
|
function _captureElementContentWithDataTag(contentElement, elementContent, dataTagPrefix) {
|
|
2638
|
-
for (var i = 0, attrib; i < contentElement.attributes
|
|
2639
|
-
attrib = contentElement
|
|
2640
|
-
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) {
|
|
2641
2733
|
continue;
|
|
2642
2734
|
}
|
|
2643
|
-
var attribName = attrib.
|
|
2735
|
+
var attribName = attrib[_DYN_NAME ].replace(dataTagPrefix, "");
|
|
2644
2736
|
elementContent[attribName] = attrib.value;
|
|
2645
2737
|
}
|
|
2646
2738
|
}
|
|
@@ -2648,20 +2740,20 @@
|
|
|
2648
2740
|
var element = el;
|
|
2649
2741
|
var parentDataTagFound = false;
|
|
2650
2742
|
var elementLevelFlag = false;
|
|
2651
|
-
while (!isNullOrUndefined(element) && !isNullOrUndefined(element
|
|
2652
|
-
var attributes = element
|
|
2653
|
-
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++) {
|
|
2654
2746
|
var attrib = attributes[i];
|
|
2655
|
-
if (attrib.name
|
|
2747
|
+
if (attrib.name[_DYN_INDEX_OF ](dataTagPrefix) !== 0) {
|
|
2656
2748
|
continue;
|
|
2657
2749
|
}
|
|
2658
|
-
if (attrib.name
|
|
2750
|
+
if (attrib.name[_DYN_INDEX_OF ](parentDataTagPrefix) === 0) {
|
|
2659
2751
|
parentDataTagFound = true;
|
|
2660
2752
|
}
|
|
2661
|
-
if (attrib.name
|
|
2753
|
+
if (attrib.name[_DYN_INDEX_OF ](aiBlobAttributeTag) === 0) {
|
|
2662
2754
|
continue;
|
|
2663
2755
|
}
|
|
2664
|
-
var attribName = attrib.
|
|
2756
|
+
var attribName = attrib[_DYN_NAME ].replace(dataTagPrefix, "");
|
|
2665
2757
|
if (elementLevelFlag && attribName === "id") {
|
|
2666
2758
|
continue;
|
|
2667
2759
|
}
|
|
@@ -2673,7 +2765,7 @@
|
|
|
2673
2765
|
break;
|
|
2674
2766
|
}
|
|
2675
2767
|
elementLevelFlag = true;
|
|
2676
|
-
element = element
|
|
2768
|
+
element = element[_DYN_PARENT_NODE ];
|
|
2677
2769
|
}
|
|
2678
2770
|
}
|
|
2679
2771
|
function _populateElementContent(element, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag) {
|
|
@@ -2684,19 +2776,19 @@
|
|
|
2684
2776
|
var htmlContent = _getHtmlIdAndContentName(element);
|
|
2685
2777
|
elementContent = {
|
|
2686
2778
|
id: htmlContent.id || "",
|
|
2687
|
-
contentName: htmlContent
|
|
2779
|
+
contentName: htmlContent[_DYN_CONTENT_NAME ] || ""
|
|
2688
2780
|
};
|
|
2689
2781
|
if (isValueAssigned(parentDataTagPrefix)) {
|
|
2690
2782
|
_walkUpDomChainCaptureData(element, elementContent, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag);
|
|
2691
2783
|
}
|
|
2692
|
-
if (!elementContent.id && !elementContent
|
|
2784
|
+
if (!elementContent.id && !elementContent[_DYN_CONTENT_NAME ]) {
|
|
2693
2785
|
_throwInternal(_traceLogger, 2 , 102 , "Invalid content blob. Missing required attributes (id, contentName. " +
|
|
2694
2786
|
" Content information will still be collected!");
|
|
2695
2787
|
}
|
|
2696
2788
|
return elementContent;
|
|
2697
2789
|
}
|
|
2698
2790
|
function _populateElementContentwithDataTag(element, dataTagPrefix, parentDataTagPrefix, aiBlobAttributeTag) {
|
|
2699
|
-
var dataTags = (_self._config || {})
|
|
2791
|
+
var dataTags = (_self._config || {})[_DYN_DATA_TAGS ];
|
|
2700
2792
|
var elementContent = {};
|
|
2701
2793
|
if (!element) {
|
|
2702
2794
|
return elementContent;
|
|
@@ -2708,13 +2800,13 @@
|
|
|
2708
2800
|
else {
|
|
2709
2801
|
_captureElementContentWithDataTag(element, elementContent, dataTagPrefix);
|
|
2710
2802
|
}
|
|
2711
|
-
if (dataTags
|
|
2803
|
+
if (dataTags[_DYN_USE_DEFAULT_CONTENT_1 ]) {
|
|
2712
2804
|
if (!isValueAssigned(elementContent.id)) {
|
|
2713
2805
|
elementContent.id = htmlContent.id || "";
|
|
2714
2806
|
}
|
|
2715
|
-
elementContent
|
|
2807
|
+
elementContent[_DYN_CONTENT_NAME ] = htmlContent[_DYN_CONTENT_NAME ] || "";
|
|
2716
2808
|
}
|
|
2717
|
-
if (!elementContent.id && !elementContent
|
|
2809
|
+
if (!elementContent.id && !elementContent[_DYN_CONTENT_NAME ]) {
|
|
2718
2810
|
_throwInternal(_traceLogger, 2 , 102 , "Invalid content blob. Missing required attributes (id, contentName. " +
|
|
2719
2811
|
" Content information will still be collected!");
|
|
2720
2812
|
}
|
|
@@ -2725,12 +2817,12 @@
|
|
|
2725
2817
|
var metaData = {};
|
|
2726
2818
|
if (hasDocument) {
|
|
2727
2819
|
metaElements = document.querySelectorAll("meta");
|
|
2728
|
-
for (var i = 0; i < metaElements
|
|
2820
|
+
for (var i = 0; i < metaElements[_DYN_LENGTH ]; i++) {
|
|
2729
2821
|
var meta = metaElements[i];
|
|
2730
|
-
if (meta
|
|
2731
|
-
if (captureAllMetaDataContent || meta.name
|
|
2732
|
-
var name_1 = removePrefix ? meta.
|
|
2733
|
-
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 ];
|
|
2734
2826
|
}
|
|
2735
2827
|
}
|
|
2736
2828
|
}
|
|
@@ -2738,12 +2830,12 @@
|
|
|
2738
2830
|
return metaData;
|
|
2739
2831
|
}
|
|
2740
2832
|
function _getDefaultContentName(element, useDefaultContentName) {
|
|
2741
|
-
if (useDefaultContentName === false || !element
|
|
2833
|
+
if (useDefaultContentName === false || !element[_DYN_TAG_NAME ]) {
|
|
2742
2834
|
return "";
|
|
2743
2835
|
}
|
|
2744
2836
|
var doc = getDocument() || {};
|
|
2745
2837
|
var contentName;
|
|
2746
|
-
switch (element
|
|
2838
|
+
switch (element[_DYN_TAG_NAME ]) {
|
|
2747
2839
|
case "A":
|
|
2748
2840
|
contentName = doc.all ? element.innerText || element.innerHTML : element.text || element.innerHTML;
|
|
2749
2841
|
break;
|
|
@@ -2752,37 +2844,37 @@
|
|
|
2752
2844
|
contentName = element.alt;
|
|
2753
2845
|
break;
|
|
2754
2846
|
default:
|
|
2755
|
-
contentName = element.value || element
|
|
2847
|
+
contentName = element.value || element[_DYN_NAME ] || element.alt || element.innerText || element.id;
|
|
2756
2848
|
}
|
|
2757
2849
|
return contentName.substring(0, MAX_CONTENTNAME_LENGTH);
|
|
2758
2850
|
}
|
|
2759
2851
|
function _isTracked(element, dataTag, aiBlobAttributeTag) {
|
|
2760
|
-
var attrs = element
|
|
2852
|
+
var attrs = element[_DYN_ATTRIBUTES ];
|
|
2761
2853
|
var dataTagFound = false;
|
|
2762
|
-
for (var i = 0; i < attrs
|
|
2763
|
-
var attributeName = attrs[i]
|
|
2854
|
+
for (var i = 0; i < attrs[_DYN_LENGTH ]; i++) {
|
|
2855
|
+
var attributeName = attrs[i][_DYN_NAME ];
|
|
2764
2856
|
if (attributeName === aiBlobAttributeTag) {
|
|
2765
2857
|
return false;
|
|
2766
2858
|
}
|
|
2767
|
-
else if (attributeName
|
|
2859
|
+
else if (attributeName[_DYN_INDEX_OF ](dataTag) === 0) {
|
|
2768
2860
|
dataTagFound = true;
|
|
2769
2861
|
}
|
|
2770
2862
|
}
|
|
2771
2863
|
return dataTagFound;
|
|
2772
2864
|
}
|
|
2773
2865
|
function _getHtmlIdAndContentName(element) {
|
|
2774
|
-
var dataTags = (_self._config || {})
|
|
2775
|
-
var callback = (_self
|
|
2866
|
+
var dataTags = (_self._config || {})[_DYN_DATA_TAGS ];
|
|
2867
|
+
var callback = (_self[_DYN__CONFIG ] || {}).callback;
|
|
2776
2868
|
var htmlContent = {};
|
|
2777
2869
|
if (!element) {
|
|
2778
2870
|
return htmlContent;
|
|
2779
2871
|
}
|
|
2780
|
-
if (dataTags
|
|
2781
|
-
var customizedContentName = callback.contentName ? callback.contentName(element, dataTags
|
|
2782
|
-
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 ]);
|
|
2783
2875
|
htmlContent = {
|
|
2784
2876
|
id: element.id,
|
|
2785
|
-
contentName: customizedContentName || defaultContentName || element
|
|
2877
|
+
contentName: customizedContentName || defaultContentName || element[_DYN_GET_ATTRIBUTE ]("alt")
|
|
2786
2878
|
};
|
|
2787
2879
|
}
|
|
2788
2880
|
return htmlContent;
|
|
@@ -2799,9 +2891,9 @@
|
|
|
2799
2891
|
function _populateParentInfo(element, dataTagPrefix, aiBlobAttributeTag) {
|
|
2800
2892
|
var parentInfo = {};
|
|
2801
2893
|
var parentId;
|
|
2802
|
-
var closestParentElement = walkUpDomChainWithElementValidation(element
|
|
2894
|
+
var closestParentElement = walkUpDomChainWithElementValidation(element[_DYN_PARENT_ELEMENT ], _isTracked, dataTagPrefix);
|
|
2803
2895
|
if (closestParentElement) {
|
|
2804
|
-
var dataAttr = closestParentElement
|
|
2896
|
+
var dataAttr = closestParentElement[_DYN_GET_ATTRIBUTE ](aiBlobAttributeTag) || element[aiBlobAttributeTag];
|
|
2805
2897
|
if (dataAttr) {
|
|
2806
2898
|
try {
|
|
2807
2899
|
var telemetryObject = JSON.parse(dataAttr);
|
|
@@ -2814,16 +2906,16 @@
|
|
|
2814
2906
|
}
|
|
2815
2907
|
}
|
|
2816
2908
|
else {
|
|
2817
|
-
parentId = closestParentElement
|
|
2909
|
+
parentId = closestParentElement[_DYN_GET_ATTRIBUTE ](dataTagPrefix + "id");
|
|
2818
2910
|
}
|
|
2819
2911
|
}
|
|
2820
2912
|
if (parentId) {
|
|
2821
2913
|
parentInfo["parentid"] = parentId;
|
|
2822
2914
|
}
|
|
2823
2915
|
else {
|
|
2824
|
-
var htmlContent = _getHtmlIdAndContentName(element
|
|
2916
|
+
var htmlContent = _getHtmlIdAndContentName(element[_DYN_PARENT_ELEMENT ]);
|
|
2825
2917
|
parentInfo["parentid"] = htmlContent.id;
|
|
2826
|
-
parentInfo["parentname"] = htmlContent
|
|
2918
|
+
parentInfo["parentname"] = htmlContent[_DYN_CONTENT_NAME ];
|
|
2827
2919
|
}
|
|
2828
2920
|
return parentInfo;
|
|
2829
2921
|
}
|
|
@@ -2850,14 +2942,14 @@
|
|
|
2850
2942
|
if (isNullOrUndefined(core)) {
|
|
2851
2943
|
throwError("Error initializing");
|
|
2852
2944
|
}
|
|
2853
|
-
config
|
|
2854
|
-
config
|
|
2855
|
-
_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]);
|
|
2856
2948
|
_super.prototype.initialize.call(_this, config, core, extensions, pluginChain);
|
|
2857
2949
|
var logger = _self.diagLog();
|
|
2858
2950
|
_contentHandler = _contentHandler ? _contentHandler : new DomContentHandler(_config, logger);
|
|
2859
2951
|
var metaTags = _contentHandler.getMetadata();
|
|
2860
|
-
_pageAction = new PageAction(_this, _config, _contentHandler, _config.callback
|
|
2952
|
+
_pageAction = new PageAction(_this, _config, _contentHandler, _config.callback[_DYN_PAGE_ACTION_PAGE_TAG0 ], metaTags, logger);
|
|
2861
2953
|
_autoCaptureHandler = _autoCaptureHandler ? _autoCaptureHandler : new AutoCaptureHandler(_self, _config, _pageAction, logger);
|
|
2862
2954
|
if (_config.autoCapture) {
|
|
2863
2955
|
_autoCaptureHandler.click();
|
|
@@ -2876,9 +2968,9 @@
|
|
|
2876
2968
|
_self.processTelemetry = function (env, itemCtx) {
|
|
2877
2969
|
_self.processNext(env, itemCtx);
|
|
2878
2970
|
};
|
|
2879
|
-
_self
|
|
2971
|
+
_self[_DYN_TRACK_PAGE_ACTION ] = function (pageAction, customProperties) {
|
|
2880
2972
|
try {
|
|
2881
|
-
_pageAction
|
|
2973
|
+
_pageAction[_DYN_TRACK_PAGE_ACTION ](pageAction, customProperties);
|
|
2882
2974
|
}
|
|
2883
2975
|
catch (e) {
|
|
2884
2976
|
_throwInternal(_self.diagLog(), 1 , 103 , "trackPageAction failed, page action event will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
|
|
@@ -2900,7 +2992,7 @@
|
|
|
2900
2992
|
}
|
|
2901
2993
|
return _this;
|
|
2902
2994
|
}
|
|
2903
|
-
ClickAnalyticsPlugin.Version = "2.8.5-nightly.
|
|
2995
|
+
ClickAnalyticsPlugin.Version = "2.8.5-nightly.2207-01";
|
|
2904
2996
|
return ClickAnalyticsPlugin;
|
|
2905
2997
|
}(BaseTelemetryPlugin));
|
|
2906
2998
|
|