@atlaskit/react-ufo 3.12.5 → 3.13.1
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/CHANGELOG.md +16 -0
- package/dist/cjs/config/index.js +15 -20
- package/dist/cjs/create-payload/utils/get-vc-metrics.js +5 -44
- package/dist/cjs/vc/index.js +49 -101
- package/dist/cjs/vc/vc-observer/getVCRevisionsData.js +13 -67
- package/dist/cjs/vc/vc-observer/index.js +31 -107
- package/dist/cjs/vc/vc-observer/observers/index.js +3 -2
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +38 -12
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.js +9 -0
- package/dist/es2019/config/index.js +18 -23
- package/dist/es2019/create-payload/utils/get-vc-metrics.js +12 -41
- package/dist/es2019/vc/index.js +44 -88
- package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +15 -71
- package/dist/es2019/vc/vc-observer/index.js +11 -87
- package/dist/es2019/vc/vc-observer/observers/index.js +2 -1
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +38 -13
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.js +9 -1
- package/dist/esm/config/index.js +15 -20
- package/dist/esm/create-payload/utils/get-vc-metrics.js +6 -45
- package/dist/esm/vc/index.js +49 -101
- package/dist/esm/vc/vc-observer/getVCRevisionsData.js +13 -67
- package/dist/esm/vc/vc-observer/index.js +31 -107
- package/dist/esm/vc/vc-observer/observers/index.js +3 -2
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +38 -12
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.js +9 -0
- package/dist/types/common/vc/types.d.ts +0 -2
- package/dist/types/config/index.d.ts +1 -0
- package/dist/types/create-post-interaction-log-payload/index.d.ts +1 -1
- package/dist/types/vc/types.d.ts +1 -0
- package/dist/types/vc/vc-observer/getVCRevisionsData.d.ts +2 -17
- package/dist/types/vc/vc-observer/index.d.ts +0 -4
- package/dist/types/vc/vc-observer/observers/index.d.ts +3 -0
- package/dist/types/vc/vc-observer/observers/ssr-placeholders/index.d.ts +4 -1
- package/dist/types/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.d.ts +1 -1
- package/dist/types-ts4.5/common/vc/types.d.ts +0 -2
- package/dist/types-ts4.5/config/index.d.ts +1 -0
- package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/types.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer/getVCRevisionsData.d.ts +2 -17
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +0 -4
- package/dist/types-ts4.5/vc/vc-observer/observers/index.d.ts +3 -0
- package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/index.d.ts +4 -1
- package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.d.ts +1 -1
- package/package.json +1 -4
- package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +0 -281
- package/dist/cjs/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -68
- package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +0 -76
- package/dist/cjs/vc/vc-observer/revisions/fy25_02.js +0 -59
- package/dist/cjs/vc/vc-observer/revisions/revisions.js +0 -24
- package/dist/cjs/vc/vc-observer/revisions/types.js +0 -5
- package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +0 -247
- package/dist/es2019/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -48
- package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +0 -55
- package/dist/es2019/vc/vc-observer/revisions/fy25_02.js +0 -35
- package/dist/es2019/vc/vc-observer/revisions/revisions.js +0 -18
- package/dist/es2019/vc/vc-observer/revisions/types.js +0 -1
- package/dist/esm/vc/vc-observer/heatmap/heatmap.js +0 -274
- package/dist/esm/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -61
- package/dist/esm/vc/vc-observer/revisions/fy25_01.js +0 -69
- package/dist/esm/vc/vc-observer/revisions/fy25_02.js +0 -52
- package/dist/esm/vc/vc-observer/revisions/revisions.js +0 -18
- package/dist/esm/vc/vc-observer/revisions/types.js +0 -1
- package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +0 -79
- package/dist/types/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +0 -31
- package/dist/types/vc/vc-observer/revisions/fy25_01.d.ts +0 -13
- package/dist/types/vc/vc-observer/revisions/fy25_02.d.ts +0 -16
- package/dist/types/vc/vc-observer/revisions/revisions.d.ts +0 -2
- package/dist/types/vc/vc-observer/revisions/types.d.ts +0 -28
- package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +0 -79
- package/dist/types-ts4.5/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +0 -31
- package/dist/types-ts4.5/vc/vc-observer/revisions/fy25_01.d.ts +0 -13
- package/dist/types-ts4.5/vc/vc-observer/revisions/fy25_02.d.ts +0 -16
- package/dist/types-ts4.5/vc/vc-observer/revisions/revisions.d.ts +0 -2
- package/dist/types-ts4.5/vc/vc-observer/revisions/types.d.ts +0 -28
|
@@ -20,9 +20,7 @@ var _attachAbortListeners = require("./attachAbortListeners");
|
|
|
20
20
|
var _getVCRevisionDebugDetails = require("./getVCRevisionDebugDetails");
|
|
21
21
|
var _getVCRevisionsData = require("./getVCRevisionsData");
|
|
22
22
|
var _getViewport = require("./getViewport");
|
|
23
|
-
var _heatmap = require("./heatmap/heatmap");
|
|
24
23
|
var _observers = require("./observers");
|
|
25
|
-
var _revisions = require("./revisions/revisions");
|
|
26
24
|
var _excluded = ["__debug__element"];
|
|
27
25
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
28
26
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -63,7 +61,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
63
61
|
});
|
|
64
62
|
/* heatmap */
|
|
65
63
|
(0, _defineProperty2.default)(this, "arraySize", 0);
|
|
66
|
-
(0, _defineProperty2.default)(this, "multiHeatmap", null);
|
|
67
64
|
(0, _defineProperty2.default)(this, "componentsLog", {});
|
|
68
65
|
(0, _defineProperty2.default)(this, "vcRatios", {});
|
|
69
66
|
(0, _defineProperty2.default)(this, "active", false);
|
|
@@ -95,7 +92,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
95
92
|
abortReason: _objectSpread({}, _this.abortReason),
|
|
96
93
|
heatmap: _this.heatmap,
|
|
97
94
|
heatmapNext: _this.heatmapNext,
|
|
98
|
-
multiHeatmap: _this.multiHeatmap,
|
|
99
95
|
outOfBoundaryInfo: _this.outOfBoundaryInfo,
|
|
100
96
|
totalTime: Math.round(_this.totalTime + _this.observers.getTotalTime()),
|
|
101
97
|
componentsLog: _objectSpread({}, _this.componentsLog),
|
|
@@ -107,7 +103,7 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
107
103
|
});
|
|
108
104
|
(0, _defineProperty2.default)(this, "getVCResult", /*#__PURE__*/function () {
|
|
109
105
|
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref3) {
|
|
110
|
-
var start, stop, tti, prefix, ssr, vc, isEventAborted, experienceKey, interactionId, startTime, fullPrefix, rawData, abortReason, abortReasonInfo, heatmap, heatmapNext, outOfBoundaryInfo, totalTime, componentsLog, viewport, devToolsEnabled, ratios,
|
|
106
|
+
var start, stop, tti, prefix, ssr, vc, isEventAborted, experienceKey, interactionId, startTime, fullPrefix, rawData, abortReason, abortReasonInfo, heatmap, heatmapNext, outOfBoundaryInfo, totalTime, componentsLog, viewport, devToolsEnabled, ratios, isTTVCv1Disabled, vcAbortedResultWithRevisions, ttvcV1Result, VC, VCBox, VCEntries, totalPainted, _componentsLog, vcNext, outOfBoundary, stopTime, ttvcV1DevToolInfo, ttvcV2DevToolInfo, _ufo_devtool_onVCRev2, _ref10, _ufo_devtool_onVCRev, _ref9, isVCClean, revisionsData, speedIndex, isTTVCv3Enabled;
|
|
111
107
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
112
108
|
while (1) switch (_context.prev = _context.next) {
|
|
113
109
|
case 0:
|
|
@@ -121,8 +117,8 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
121
117
|
}
|
|
122
118
|
return _context.abrupt("return", {});
|
|
123
119
|
case 6:
|
|
124
|
-
abortReason = rawData.abortReason, abortReasonInfo = rawData.abortReasonInfo, heatmap = rawData.heatmap, heatmapNext = rawData.heatmapNext, outOfBoundaryInfo = rawData.outOfBoundaryInfo, totalTime = rawData.totalTime, componentsLog = rawData.componentsLog, viewport = rawData.viewport, devToolsEnabled = rawData.devToolsEnabled, ratios = rawData.ratios
|
|
125
|
-
isTTVCv1Disabled =
|
|
120
|
+
abortReason = rawData.abortReason, abortReasonInfo = rawData.abortReasonInfo, heatmap = rawData.heatmap, heatmapNext = rawData.heatmapNext, outOfBoundaryInfo = rawData.outOfBoundaryInfo, totalTime = rawData.totalTime, componentsLog = rawData.componentsLog, viewport = rawData.viewport, devToolsEnabled = rawData.devToolsEnabled, ratios = rawData.ratios;
|
|
121
|
+
isTTVCv1Disabled = !(0, _config.isVCRevisionEnabled)('fy25.01', experienceKey); // NOTE: as part of platform_ufo_add_vc_abort_reason_by_revisions feature,
|
|
126
122
|
// we want to report abort by scroll events the same way as other abort reasons
|
|
127
123
|
// i.e. not have the concept of `abortReason.blocking` anymore
|
|
128
124
|
if (!(abortReasonInfo !== null && (0, _platformFeatureFlags.fg)('platform_ufo_add_vc_abort_reason_by_revisions'))) {
|
|
@@ -325,8 +321,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
325
321
|
end: stop
|
|
326
322
|
},
|
|
327
323
|
isVCClean: isVCClean,
|
|
328
|
-
multiHeatmap: multiHeatmap,
|
|
329
|
-
ssr: ssr,
|
|
330
324
|
calculatedVC: {
|
|
331
325
|
VC: VC,
|
|
332
326
|
VCBox: VCBox
|
|
@@ -345,7 +339,7 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
345
339
|
}
|
|
346
340
|
return _context.abrupt("return", _objectSpread(_objectSpread(_objectSpread((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:size"), viewport), "".concat(fullPrefix, "vc:time"), Math.round(totalTime + (stopTime - startTime))), "".concat(fullPrefix, "vc:ratios"), ratios), outOfBoundary), {}, (0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:ignored"), _this.getIgnoredElements(componentsLog)), revisionsData), speedIndex));
|
|
347
341
|
case 32:
|
|
348
|
-
isTTVCv3Enabled = (0,
|
|
342
|
+
isTTVCv3Enabled = (0, _config.isVCRevisionEnabled)('fy25.03', experienceKey);
|
|
349
343
|
return _context.abrupt("return", _objectSpread(_objectSpread(_objectSpread((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
|
|
350
344
|
'metrics:vc': VC
|
|
351
345
|
}, "".concat(fullPrefix, "vc:state"), true), "".concat(fullPrefix, "vc:clean"), isVCClean), "".concat(fullPrefix, "vc:dom"), VCBox), "".concat(fullPrefix, "vc:updates"), isTTVCv3Enabled ? undefined : VCEntries.rel.slice(0, 50)), "".concat(fullPrefix, "vc:size"), viewport), "".concat(fullPrefix, "vc:time"), Math.round(totalTime + (stopTime - startTime))), "".concat(fullPrefix, "vc:total"), totalPainted), "".concat(fullPrefix, "vc:ratios"), ratios), outOfBoundary), {}, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:next"), vcNext.VC), "".concat(fullPrefix, "vc:next:updates"), isTTVCv3Enabled ? undefined : vcNext.VCEntries.rel.slice(0, 50)), "".concat(fullPrefix, "vc:next:dom"), vcNext.VCBox), "".concat(fullPrefix, "vc:ignored"), _this.getIgnoredElements(componentsLog)), revisionsData), speedIndex));
|
|
@@ -360,29 +354,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
360
354
|
};
|
|
361
355
|
}());
|
|
362
356
|
(0, _defineProperty2.default)(this, "handleUpdate", function (rawTime, intersectionRect, targetName, element, type, ignoreReason, attributeName, oldValue, newValue) {
|
|
363
|
-
_this.measureStart();
|
|
364
|
-
_this.legacyHandleUpdate(rawTime, intersectionRect, targetName, element, type, ignoreReason, attributeName, oldValue, newValue);
|
|
365
|
-
var isTTVCv3Disabled = !(0, _config.isVCRevisionEnabled)('fy25.03');
|
|
366
|
-
if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
|
|
367
|
-
var interaction = (0, _interactionMetrics.getActiveInteraction)();
|
|
368
|
-
isTTVCv3Disabled = !(0, _config.isVCRevisionEnabled)('fy25.03', interaction === null || interaction === void 0 ? void 0 : interaction.ufoName);
|
|
369
|
-
}
|
|
370
|
-
if (isTTVCv3Disabled) {
|
|
371
|
-
_this.onViewportChangeDetected({
|
|
372
|
-
timestamp: rawTime,
|
|
373
|
-
intersectionRect: intersectionRect,
|
|
374
|
-
targetName: targetName,
|
|
375
|
-
element: element,
|
|
376
|
-
type: type,
|
|
377
|
-
ignoreReason: ignoreReason,
|
|
378
|
-
attributeName: attributeName,
|
|
379
|
-
oldValue: oldValue,
|
|
380
|
-
newValue: newValue
|
|
381
|
-
});
|
|
382
|
-
}
|
|
383
|
-
_this.measureStop();
|
|
384
|
-
});
|
|
385
|
-
(0, _defineProperty2.default)(this, "legacyHandleUpdate", function (rawTime, intersectionRect, targetName, element, type, ignoreReason, attributeName, oldValue, newValue) {
|
|
386
357
|
if (_this.abortReason.reason === null || _this.abortReason.blocking === false) {
|
|
387
358
|
var time = Math.round(rawTime - _this.startTime);
|
|
388
359
|
var mappedValues = _this.mapPixelsToHeatmap(intersectionRect.left, intersectionRect.top, intersectionRect.width, intersectionRect.height);
|
|
@@ -390,11 +361,8 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
390
361
|
if (!ignoreReason) {
|
|
391
362
|
_this.applyChangesToHeatMap(mappedValues, time, _this.heatmapNext);
|
|
392
363
|
}
|
|
393
|
-
var
|
|
394
|
-
|
|
395
|
-
var interaction = (0, _interactionMetrics.getActiveInteraction)();
|
|
396
|
-
isTTVCv1Disabled = !(0, _config.isVCRevisionEnabled)('fy25.01', interaction === null || interaction === void 0 ? void 0 : interaction.ufoName);
|
|
397
|
-
}
|
|
364
|
+
var interaction = (0, _interactionMetrics.getActiveInteraction)();
|
|
365
|
+
var isTTVCv1Disabled = !(0, _config.isVCRevisionEnabled)('fy25.01', interaction === null || interaction === void 0 ? void 0 : interaction.ufoName);
|
|
398
366
|
if (!isTTVCv1Disabled && (!ignoreReason || ignoreReason === 'not-visible') && type !== 'attr') {
|
|
399
367
|
_this.applyChangesToHeatMap(mappedValues, time, _this.heatmap);
|
|
400
368
|
}
|
|
@@ -413,44 +381,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
413
381
|
});
|
|
414
382
|
}
|
|
415
383
|
});
|
|
416
|
-
(0, _defineProperty2.default)(this, "onViewportChangeDetected", function (_ref11) {
|
|
417
|
-
var element = _ref11.element,
|
|
418
|
-
type = _ref11.type,
|
|
419
|
-
ignoreReason = _ref11.ignoreReason,
|
|
420
|
-
timestamp = _ref11.timestamp,
|
|
421
|
-
targetName = _ref11.targetName,
|
|
422
|
-
intersectionRect = _ref11.intersectionRect,
|
|
423
|
-
attributeName = _ref11.attributeName,
|
|
424
|
-
oldValue = _ref11.oldValue,
|
|
425
|
-
newValue = _ref11.newValue;
|
|
426
|
-
if (_this.multiHeatmap === null) {
|
|
427
|
-
return;
|
|
428
|
-
}
|
|
429
|
-
// @todo add abort reason handling
|
|
430
|
-
var time = Math.round(timestamp - _this.startTime);
|
|
431
|
-
var revisions = (0, _revisions.getRevisions)();
|
|
432
|
-
var revisionsClassification = revisions.map(function (revision) {
|
|
433
|
-
return revision.classifier.classifyUpdate({
|
|
434
|
-
element: element,
|
|
435
|
-
type: type,
|
|
436
|
-
ignoreReason: ignoreReason
|
|
437
|
-
});
|
|
438
|
-
}, []);
|
|
439
|
-
_this.multiHeatmap.handleUpdate({
|
|
440
|
-
time: time,
|
|
441
|
-
targetName: targetName,
|
|
442
|
-
intersectionRect: intersectionRect,
|
|
443
|
-
type: type,
|
|
444
|
-
element: element,
|
|
445
|
-
classification: revisionsClassification,
|
|
446
|
-
onError: function onError(error) {
|
|
447
|
-
_this.setAbortReason(abortReason.error, error.time, error.error);
|
|
448
|
-
},
|
|
449
|
-
attributeName: attributeName,
|
|
450
|
-
oldValue: oldValue,
|
|
451
|
-
newValue: newValue
|
|
452
|
-
});
|
|
453
|
-
});
|
|
454
384
|
(0, _defineProperty2.default)(this, "mapPixelsToHeatmap", function (left, top, width, height) {
|
|
455
385
|
var _this$viewport = _this.viewport,
|
|
456
386
|
w = _this$viewport.w,
|
|
@@ -507,10 +437,10 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
507
437
|
var unbinds = (0, _attachAbortListeners.attachAbortListeners)(window, _this.viewport, _this.abortReasonCallback);
|
|
508
438
|
if ((_window = window) !== null && _window !== void 0 && _window.__SSR_ABORT_LISTENERS__) {
|
|
509
439
|
var _window2;
|
|
510
|
-
Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (
|
|
511
|
-
var
|
|
512
|
-
key =
|
|
513
|
-
time =
|
|
440
|
+
Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (_ref11) {
|
|
441
|
+
var _ref12 = (0, _slicedToArray2.default)(_ref11, 2),
|
|
442
|
+
key = _ref12[0],
|
|
443
|
+
time = _ref12[1];
|
|
514
444
|
if (time) {
|
|
515
445
|
_this.abortReasonCallback(key, time);
|
|
516
446
|
}
|
|
@@ -523,6 +453,7 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
523
453
|
this.arraySize = options.heatmapSize || 200;
|
|
524
454
|
this.devToolsEnabled = options.devToolsEnabled || false;
|
|
525
455
|
this.oldDomUpdatesEnabled = options.oldDomUpdates || false;
|
|
456
|
+
var ssrEnablePageLayoutPlaceholder = options.ssrEnablePageLayoutPlaceholder;
|
|
526
457
|
this.observers = new _observers.Observers({
|
|
527
458
|
selectorConfig: options.selectorConfig || {
|
|
528
459
|
id: false,
|
|
@@ -530,21 +461,19 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
530
461
|
role: false,
|
|
531
462
|
className: true,
|
|
532
463
|
dataVC: true
|
|
464
|
+
},
|
|
465
|
+
SSRConfig: {
|
|
466
|
+
enablePageLayoutPlaceholder: ssrEnablePageLayoutPlaceholder || false
|
|
533
467
|
}
|
|
534
468
|
});
|
|
535
469
|
this.heatmap = !(0, _config.isVCRevisionEnabled)('fy25.01') ? [] : this.getCleanHeatmap();
|
|
536
470
|
this.heatmapNext = this.getCleanHeatmap();
|
|
537
|
-
this.multiHeatmap = new _heatmap.MultiRevisionHeatmap({
|
|
538
|
-
viewport: this.viewport,
|
|
539
|
-
revisions: (0, _revisions.getRevisions)(),
|
|
540
|
-
devToolsEnabled: this.devToolsEnabled
|
|
541
|
-
});
|
|
542
471
|
this.isPostInteraction = options.isPostInteraction || false;
|
|
543
472
|
}
|
|
544
473
|
return (0, _createClass2.default)(VCObserver, [{
|
|
545
474
|
key: "start",
|
|
546
|
-
value: function start(
|
|
547
|
-
var startTime =
|
|
475
|
+
value: function start(_ref13) {
|
|
476
|
+
var startTime = _ref13.startTime;
|
|
548
477
|
this.active = true;
|
|
549
478
|
if (this.observers.isBrowserSupported()) {
|
|
550
479
|
this.setViewportSize();
|
|
@@ -566,12 +495,12 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
566
495
|
}, {
|
|
567
496
|
key: "getIgnoredElements",
|
|
568
497
|
value: function getIgnoredElements(componentsLog) {
|
|
569
|
-
return Object.values(componentsLog).flat().filter(function (
|
|
570
|
-
var ignoreReason =
|
|
498
|
+
return Object.values(componentsLog).flat().filter(function (_ref14) {
|
|
499
|
+
var ignoreReason = _ref14.ignoreReason;
|
|
571
500
|
return Boolean(ignoreReason);
|
|
572
|
-
}).map(function (
|
|
573
|
-
var targetName =
|
|
574
|
-
ignoreReason =
|
|
501
|
+
}).map(function (_ref15) {
|
|
502
|
+
var targetName = _ref15.targetName,
|
|
503
|
+
ignoreReason = _ref15.ignoreReason;
|
|
575
504
|
return {
|
|
576
505
|
targetName: targetName,
|
|
577
506
|
ignoreReason: ignoreReason
|
|
@@ -621,11 +550,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
621
550
|
this.detachAbortListeners();
|
|
622
551
|
this.heatmap = !(0, _config.isVCRevisionEnabled)('fy25.01') ? [] : this.getCleanHeatmap();
|
|
623
552
|
this.heatmapNext = this.getCleanHeatmap();
|
|
624
|
-
this.multiHeatmap = new _heatmap.MultiRevisionHeatmap({
|
|
625
|
-
viewport: this.viewport,
|
|
626
|
-
revisions: (0, _revisions.getRevisions)(),
|
|
627
|
-
devToolsEnabled: this.devToolsEnabled
|
|
628
|
-
});
|
|
629
553
|
this.totalTime = 0;
|
|
630
554
|
this.componentsLog = {};
|
|
631
555
|
this.vcRatios = {};
|
|
@@ -694,12 +618,12 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
694
618
|
}
|
|
695
619
|
}], [{
|
|
696
620
|
key: "calculateVC",
|
|
697
|
-
value: function calculateVC(
|
|
698
|
-
var heatmap =
|
|
699
|
-
|
|
700
|
-
ssr =
|
|
701
|
-
componentsLog =
|
|
702
|
-
viewport =
|
|
621
|
+
value: function calculateVC(_ref16) {
|
|
622
|
+
var heatmap = _ref16.heatmap,
|
|
623
|
+
_ref16$ssr = _ref16.ssr,
|
|
624
|
+
ssr = _ref16$ssr === void 0 ? UNUSED_SECTOR : _ref16$ssr,
|
|
625
|
+
componentsLog = _ref16.componentsLog,
|
|
626
|
+
viewport = _ref16.viewport;
|
|
703
627
|
var lastUpdate = {};
|
|
704
628
|
var totalPainted = 0;
|
|
705
629
|
if (ssr !== UNUSED_SECTOR) {
|
|
@@ -765,11 +689,11 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
765
689
|
});
|
|
766
690
|
return VCRatio;
|
|
767
691
|
}, 0);
|
|
768
|
-
var VCEntries = entries.reduce(function (acc,
|
|
692
|
+
var VCEntries = entries.reduce(function (acc, _ref17, i) {
|
|
769
693
|
var _acc$abs, _componentsLog$timest, _acc$rel$vc, _acc$rel;
|
|
770
|
-
var
|
|
771
|
-
timestamp =
|
|
772
|
-
entryPainted =
|
|
694
|
+
var _ref18 = (0, _slicedToArray2.default)(_ref17, 2),
|
|
695
|
+
timestamp = _ref18[0],
|
|
696
|
+
entryPainted = _ref18[1];
|
|
773
697
|
var currentlyPainted = entryPainted + (((_acc$abs = acc.abs[i - 1]) === null || _acc$abs === void 0 ? void 0 : _acc$abs[1]) || 0);
|
|
774
698
|
var currentlyPaintedRatio = Math.round(currentlyPainted / totalPainted * 1000) / 10;
|
|
775
699
|
var logEntry = (0, _toConsumableArray2.default)(new Set((_componentsLog$timest = componentsLog[timestamp]) === null || _componentsLog$timest === void 0 ? void 0 : _componentsLog$timest.filter(function (v) {
|
|
@@ -31,7 +31,8 @@ function isElementVisible(target) {
|
|
|
31
31
|
}
|
|
32
32
|
var Observers = exports.Observers = /*#__PURE__*/function () {
|
|
33
33
|
function Observers(opts) {
|
|
34
|
-
var _this = this
|
|
34
|
+
var _this = this,
|
|
35
|
+
_opts$SSRConfig;
|
|
35
36
|
(0, _classCallCheck2.default)(this, Observers);
|
|
36
37
|
(0, _defineProperty2.default)(this, "observedMutations", new WeakMap());
|
|
37
38
|
(0, _defineProperty2.default)(this, "elementsInView", new Set());
|
|
@@ -71,7 +72,7 @@ var Observers = exports.Observers = /*#__PURE__*/function () {
|
|
|
71
72
|
this.selectorConfig = _objectSpread(_objectSpread({}, this.selectorConfig), opts.selectorConfig);
|
|
72
73
|
this.intersectionObserver = this.getIntersectionObserver();
|
|
73
74
|
this.mutationObserver = this.getMutationObserver();
|
|
74
|
-
this.ssrPlaceholderHandler = new _ssrPlaceholders.SSRPlaceholderHandlers();
|
|
75
|
+
this.ssrPlaceholderHandler = new _ssrPlaceholders.SSRPlaceholderHandlers((_opts$SSRConfig = opts.SSRConfig) === null || _opts$SSRConfig === void 0 ? void 0 : _opts$SSRConfig.enablePageLayoutPlaceholder);
|
|
75
76
|
}
|
|
76
77
|
return (0, _createClass2.default)(Observers, [{
|
|
77
78
|
key: "isBrowserSupported",
|
|
@@ -9,15 +9,39 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var ANCESTOR_LOOKUP_LIMIT = 10;
|
|
12
|
+
var PAGE_LAYOUT_ID = 'page-layout.root';
|
|
12
13
|
var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/function () {
|
|
13
14
|
function SSRPlaceholderHandlers() {
|
|
14
15
|
var _this = this;
|
|
16
|
+
var enablePageLayoutPlaceholder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
15
17
|
(0, _classCallCheck2.default)(this, SSRPlaceholderHandlers);
|
|
16
18
|
(0, _defineProperty2.default)(this, "staticPlaceholders", new Map());
|
|
17
19
|
(0, _defineProperty2.default)(this, "callbacks", new Map());
|
|
18
20
|
(0, _defineProperty2.default)(this, "getSizeCallbacks", new Map());
|
|
19
21
|
(0, _defineProperty2.default)(this, "reactValidateCallbacks", new Map());
|
|
20
22
|
(0, _defineProperty2.default)(this, "EQUALITY_THRESHOLD", 1);
|
|
23
|
+
(0, _defineProperty2.default)(this, "getPlaceholderId", function (el) {
|
|
24
|
+
var _el$dataset;
|
|
25
|
+
var ssrPlaceholderId = el === null || el === void 0 || (_el$dataset = el.dataset) === null || _el$dataset === void 0 ? void 0 : _el$dataset.ssrPlaceholder;
|
|
26
|
+
if (!!ssrPlaceholderId) {
|
|
27
|
+
return ssrPlaceholderId;
|
|
28
|
+
}
|
|
29
|
+
if (_this.enablePageLayoutPlaceholder && (el === null || el === void 0 ? void 0 : el.dataset.testid) === PAGE_LAYOUT_ID) {
|
|
30
|
+
return PAGE_LAYOUT_ID;
|
|
31
|
+
}
|
|
32
|
+
return '';
|
|
33
|
+
});
|
|
34
|
+
(0, _defineProperty2.default)(this, "getPlaceholderReplacementId", function (el) {
|
|
35
|
+
var _el$dataset2;
|
|
36
|
+
var ssrPlaceholderReplaceId = el === null || el === void 0 || (_el$dataset2 = el.dataset) === null || _el$dataset2 === void 0 ? void 0 : _el$dataset2.ssrPlaceholderReplace;
|
|
37
|
+
if (!!ssrPlaceholderReplaceId) {
|
|
38
|
+
return ssrPlaceholderReplaceId;
|
|
39
|
+
}
|
|
40
|
+
if (_this.enablePageLayoutPlaceholder && (el === null || el === void 0 ? void 0 : el.dataset.testid) === PAGE_LAYOUT_ID) {
|
|
41
|
+
return PAGE_LAYOUT_ID;
|
|
42
|
+
}
|
|
43
|
+
return '';
|
|
44
|
+
});
|
|
21
45
|
(0, _defineProperty2.default)(this, "intersectionObserverCallback", function (_ref) {
|
|
22
46
|
var _this$intersectionObs;
|
|
23
47
|
var target = _ref.target,
|
|
@@ -27,7 +51,7 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
27
51
|
// impossible case - keep typescript healthy
|
|
28
52
|
return;
|
|
29
53
|
}
|
|
30
|
-
var staticKey = target
|
|
54
|
+
var staticKey = _this.getPlaceholderId(target);
|
|
31
55
|
if (staticKey) {
|
|
32
56
|
if (_this.staticPlaceholders.has(staticKey) && _this.callbacks.has(staticKey)) {
|
|
33
57
|
// validation
|
|
@@ -49,7 +73,7 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
49
73
|
_this.callbacks.delete(staticKey);
|
|
50
74
|
}
|
|
51
75
|
} else {
|
|
52
|
-
var key = target
|
|
76
|
+
var key = _this.getPlaceholderReplacementId(target);
|
|
53
77
|
var _resolve2 = _this.reactValidateCallbacks.get(key);
|
|
54
78
|
if (!_resolve2) {
|
|
55
79
|
return;
|
|
@@ -77,25 +101,27 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
77
101
|
}).forEach(_this.intersectionObserverCallback);
|
|
78
102
|
});
|
|
79
103
|
}
|
|
104
|
+
this.enablePageLayoutPlaceholder = enablePageLayoutPlaceholder;
|
|
80
105
|
if (window.document) {
|
|
81
106
|
try {
|
|
82
|
-
var
|
|
107
|
+
var selector = this.enablePageLayoutPlaceholder ? '[data-ssr-placeholder],[data-testid="page-layout.root"]' : '[data-ssr-placeholder]';
|
|
108
|
+
var existingElements = document.querySelectorAll(selector);
|
|
83
109
|
existingElements.forEach(function (el) {
|
|
84
|
-
var
|
|
85
|
-
if (
|
|
110
|
+
var placeholderId = el instanceof HTMLElement && _this.getPlaceholderId(el);
|
|
111
|
+
if (placeholderId) {
|
|
86
112
|
var _window$__SSR_PLACEHO, _this$intersectionObs2;
|
|
87
113
|
var width = -1;
|
|
88
114
|
var height = -1;
|
|
89
115
|
var x = -1;
|
|
90
116
|
var y = -1;
|
|
91
|
-
var boundingClientRect = (_window$__SSR_PLACEHO = window.__SSR_PLACEHOLDERS_DIMENSIONS__) === null || _window$__SSR_PLACEHO === void 0 ? void 0 : _window$__SSR_PLACEHO[
|
|
117
|
+
var boundingClientRect = (_window$__SSR_PLACEHO = window.__SSR_PLACEHOLDERS_DIMENSIONS__) === null || _window$__SSR_PLACEHO === void 0 ? void 0 : _window$__SSR_PLACEHO[placeholderId];
|
|
92
118
|
if (boundingClientRect) {
|
|
93
119
|
width = boundingClientRect.width;
|
|
94
120
|
height = boundingClientRect.height;
|
|
95
121
|
x = boundingClientRect.x;
|
|
96
122
|
y = boundingClientRect.y;
|
|
97
123
|
}
|
|
98
|
-
_this.staticPlaceholders.set(
|
|
124
|
+
_this.staticPlaceholders.set(placeholderId, {
|
|
99
125
|
width: width,
|
|
100
126
|
height: height,
|
|
101
127
|
x: x,
|
|
@@ -120,12 +146,12 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
120
146
|
}, {
|
|
121
147
|
key: "isPlaceholder",
|
|
122
148
|
value: function isPlaceholder(element) {
|
|
123
|
-
return Boolean(element
|
|
149
|
+
return Boolean(this.getPlaceholderId(element));
|
|
124
150
|
}
|
|
125
151
|
}, {
|
|
126
152
|
key: "isPlaceholderReplacement",
|
|
127
153
|
value: function isPlaceholderReplacement(element) {
|
|
128
|
-
return Boolean(element
|
|
154
|
+
return Boolean(this.getPlaceholderReplacementId(element));
|
|
129
155
|
}
|
|
130
156
|
}, {
|
|
131
157
|
key: "isPlaceholderIgnored",
|
|
@@ -155,7 +181,7 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
155
181
|
value: function checkIfExistedAndSizeMatching(el) {
|
|
156
182
|
var _this2 = this;
|
|
157
183
|
el = this.findNearestPlaceholderContainerIfIgnored(el);
|
|
158
|
-
var id = el
|
|
184
|
+
var id = this.getPlaceholderId(el);
|
|
159
185
|
return new Promise(function (resolve) {
|
|
160
186
|
if (!_this2.staticPlaceholders.has(id)) {
|
|
161
187
|
resolve(false);
|
|
@@ -173,7 +199,7 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
173
199
|
var _this3 = this;
|
|
174
200
|
return new Promise(function (resolve) {
|
|
175
201
|
var _this3$intersectionOb;
|
|
176
|
-
_this3.getSizeCallbacks.set(el
|
|
202
|
+
_this3.getSizeCallbacks.set(_this3.getPlaceholderId(el), resolve);
|
|
177
203
|
(_this3$intersectionOb = _this3.intersectionObserver) === null || _this3$intersectionOb === void 0 || _this3$intersectionOb.observe(el);
|
|
178
204
|
});
|
|
179
205
|
}
|
|
@@ -182,7 +208,7 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
182
208
|
value: function validateReactComponentMatchToPlaceholder(el) {
|
|
183
209
|
var _this4 = this;
|
|
184
210
|
el = this.findNearestPlaceholderContainerIfIgnored(el);
|
|
185
|
-
var id = el
|
|
211
|
+
var id = this.getPlaceholderReplacementId(el);
|
|
186
212
|
return new Promise(function (resolve) {
|
|
187
213
|
if (!_this4.staticPlaceholders.has(id)) {
|
|
188
214
|
resolve(false);
|
|
@@ -8,6 +8,7 @@ exports.collectSSRPlaceholderDimensions = collectSSRPlaceholderDimensions;
|
|
|
8
8
|
// and save their size/positions in a map __SSR_PLACEHOLDERS_DIMENSIONS__ on the Window object. Each placeholderId is
|
|
9
9
|
// unique and maps to its corresponding elements bounding client rectangle dimensions.
|
|
10
10
|
function collectSSRPlaceholderDimensions(document, window) {
|
|
11
|
+
var enablePageLayoutPlaceholder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
11
12
|
var ssrPlaceholders = document === null || document === void 0 ? void 0 : document.querySelectorAll('[data-ssr-placeholder]');
|
|
12
13
|
ssrPlaceholders.forEach(function (elem) {
|
|
13
14
|
var placeholderId = elem.getAttribute('data-ssr-placeholder');
|
|
@@ -17,4 +18,12 @@ function collectSSRPlaceholderDimensions(document, window) {
|
|
|
17
18
|
window.__SSR_PLACEHOLDERS_DIMENSIONS__[placeholderId] = boundingClient;
|
|
18
19
|
}
|
|
19
20
|
});
|
|
21
|
+
if (enablePageLayoutPlaceholder) {
|
|
22
|
+
var pageLayoutRoot = document === null || document === void 0 ? void 0 : document.getElementById('unsafe-design-system-page-layout-root');
|
|
23
|
+
if (pageLayoutRoot) {
|
|
24
|
+
var boundingClient = pageLayoutRoot.getBoundingClientRect();
|
|
25
|
+
window.__SSR_PLACEHOLDERS_DIMENSIONS__ = window.__SSR_PLACEHOLDERS_DIMENSIONS__ || {};
|
|
26
|
+
window.__SSR_PLACEHOLDERS_DIMENSIONS__['page-layout.root'] = boundingClient;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
20
29
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
1
|
let config;
|
|
3
2
|
const DEFAULT_TTVC_REVISION = 'fy25.02';
|
|
4
3
|
|
|
@@ -6,29 +5,25 @@ const DEFAULT_TTVC_REVISION = 'fy25.02';
|
|
|
6
5
|
// and they could delete empty members
|
|
7
6
|
|
|
8
7
|
export function setUFOConfig(newConfig) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
vc
|
|
19
|
-
|
|
20
|
-
enabledVCRevisions
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
...(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience)
|
|
25
|
-
}
|
|
8
|
+
var _newConfig$vc;
|
|
9
|
+
// Handle edge cases with `enabledVCRevisions`
|
|
10
|
+
const {
|
|
11
|
+
enabledVCRevisions
|
|
12
|
+
} = (_newConfig$vc = newConfig === null || newConfig === void 0 ? void 0 : newConfig.vc) !== null && _newConfig$vc !== void 0 ? _newConfig$vc : {};
|
|
13
|
+
if (typeof (enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience) === 'object') {
|
|
14
|
+
config = {
|
|
15
|
+
...newConfig,
|
|
16
|
+
vc: {
|
|
17
|
+
...newConfig.vc,
|
|
18
|
+
enabledVCRevisions: {
|
|
19
|
+
// enforce axiom about `enabledVCRevisions.all` config
|
|
20
|
+
all: Array.from(new Set([DEFAULT_TTVC_REVISION, ...(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.all), ...Object.values(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience).flat()])),
|
|
21
|
+
byExperience: {
|
|
22
|
+
...(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience)
|
|
26
23
|
}
|
|
27
24
|
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
config = newConfig;
|
|
31
|
-
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
32
27
|
} else {
|
|
33
28
|
config = newConfig;
|
|
34
29
|
}
|
|
@@ -50,7 +45,7 @@ export function getEnabledVCRevisions(experienceKey = '') {
|
|
|
50
45
|
const {
|
|
51
46
|
enabledVCRevisions
|
|
52
47
|
} = (_config$vc2 = config.vc) !== null && _config$vc2 !== void 0 ? _config$vc2 : {};
|
|
53
|
-
if (isValidConfigArray(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : (_enabledVCRevisions$b = enabledVCRevisions.byExperience) === null || _enabledVCRevisions$b === void 0 ? void 0 : _enabledVCRevisions$b[experienceKey])
|
|
48
|
+
if (isValidConfigArray(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : (_enabledVCRevisions$b = enabledVCRevisions.byExperience) === null || _enabledVCRevisions$b === void 0 ? void 0 : _enabledVCRevisions$b[experienceKey])) {
|
|
54
49
|
var _enabledVCRevisions$b2;
|
|
55
50
|
return (_enabledVCRevisions$b2 = enabledVCRevisions.byExperience) === null || _enabledVCRevisions$b2 === void 0 ? void 0 : _enabledVCRevisions$b2[experienceKey];
|
|
56
51
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
|
-
import { getConfig, getMostRecentVCRevision
|
|
2
|
+
import { getConfig, getMostRecentVCRevision } from '../../config';
|
|
3
3
|
import { postInteractionLog } from '../../interaction-metrics';
|
|
4
4
|
import { getVCObserver } from '../../vc';
|
|
5
5
|
import getInteractionStatus from './get-interaction-status';
|
|
6
6
|
import getPageVisibilityUpToTTAI from './get-page-visibility-up-to-ttai';
|
|
7
7
|
import getSSRDoneTimeValue from './get-ssr-done-time-value';
|
|
8
8
|
async function getVCMetrics(interaction) {
|
|
9
|
-
var _config$vc, _config$vc$ssrWhiteli, _interaction$apdex, _interaction$apdex$, _config$experimentalI;
|
|
9
|
+
var _config$vc, _config$vc$ssrWhiteli, _interaction$apdex, _interaction$apdex$, _config$experimentalI, _result$ufoVcRev;
|
|
10
10
|
const config = getConfig();
|
|
11
11
|
if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
|
|
12
12
|
return {};
|
|
@@ -43,45 +43,16 @@ async function getVCMetrics(interaction) {
|
|
|
43
43
|
getVCObserver().stop(interaction.ufoName);
|
|
44
44
|
}
|
|
45
45
|
postInteractionLog.setLastInteractionFinishVCResult(result);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (!shouldReportVCMetrics || !(mostRecentVCRevisionPayload !== null && mostRecentVCRevisionPayload !== void 0 && mostRecentVCRevisionPayload.clean)) {
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
...result,
|
|
57
|
-
'metric:vc90': mostRecentVCRevisionPayload['metric:vc90']
|
|
58
|
-
};
|
|
59
|
-
} else {
|
|
60
|
-
if (!isVCRevisionEnabled('fy25.01')) {
|
|
61
|
-
var _result$ufoVcRev2;
|
|
62
|
-
const ttvcV2Revision = result === null || result === void 0 ? void 0 : (_result$ufoVcRev2 = result['ufo:vc:rev']) === null || _result$ufoVcRev2 === void 0 ? void 0 : _result$ufoVcRev2.find(({
|
|
63
|
-
revision
|
|
64
|
-
}) => revision === 'fy25.02');
|
|
65
|
-
if (!(ttvcV2Revision !== null && ttvcV2Revision !== void 0 && ttvcV2Revision.clean)) {
|
|
66
|
-
return result;
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
...result,
|
|
70
|
-
'metric:vc90': ttvcV2Revision['metric:vc90']
|
|
71
|
-
};
|
|
72
|
-
} else {
|
|
73
|
-
const VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
|
|
74
|
-
if (!VC || !(result !== null && result !== void 0 && result[`${prefix}:vc:clean`])) {
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
if (interactionStatus.originalInteractionStatus !== 'SUCCEEDED' || pageVisibilityUpToTTAI !== 'visible') {
|
|
78
|
-
return result;
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
...result,
|
|
82
|
-
'metric:vc90': VC['90']
|
|
83
|
-
};
|
|
84
|
-
}
|
|
46
|
+
const mostRecentVCRevision = getMostRecentVCRevision(interaction.ufoName);
|
|
47
|
+
const mostRecentVCRevisionPayload = result === null || result === void 0 ? void 0 : (_result$ufoVcRev = result['ufo:vc:rev']) === null || _result$ufoVcRev === void 0 ? void 0 : _result$ufoVcRev.find(({
|
|
48
|
+
revision
|
|
49
|
+
}) => revision === mostRecentVCRevision);
|
|
50
|
+
if (!shouldReportVCMetrics || !(mostRecentVCRevisionPayload !== null && mostRecentVCRevisionPayload !== void 0 && mostRecentVCRevisionPayload.clean)) {
|
|
51
|
+
return result;
|
|
85
52
|
}
|
|
53
|
+
return {
|
|
54
|
+
...result,
|
|
55
|
+
'metric:vc90': mostRecentVCRevisionPayload['metric:vc90']
|
|
56
|
+
};
|
|
86
57
|
}
|
|
87
58
|
export default getVCMetrics;
|