@inappstory/slide-api 0.1.50 → 0.1.52
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/dist/index.cjs +241 -44
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -5
- package/dist/index.d.ts +28 -5
- package/dist/index.js +241 -44
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1359,6 +1359,7 @@ class DataInput {
|
|
|
1359
1359
|
class Barcode {
|
|
1360
1360
|
_elementNodeRef;
|
|
1361
1361
|
_layer;
|
|
1362
|
+
_layersNodesRefs;
|
|
1362
1363
|
_widgetApi;
|
|
1363
1364
|
_widgetCallbacks;
|
|
1364
1365
|
_widgetDeps;
|
|
@@ -1366,9 +1367,10 @@ class Barcode {
|
|
|
1366
1367
|
static className() {
|
|
1367
1368
|
return Barcode._className;
|
|
1368
1369
|
}
|
|
1369
|
-
constructor(_elementNodeRef, _layer, _widgetApi, _widgetCallbacks, _widgetDeps) {
|
|
1370
|
+
constructor(_elementNodeRef, _layer, _layersNodesRefs, _widgetApi, _widgetCallbacks, _widgetDeps) {
|
|
1370
1371
|
this._elementNodeRef = _elementNodeRef;
|
|
1371
1372
|
this._layer = _layer;
|
|
1373
|
+
this._layersNodesRefs = _layersNodesRefs;
|
|
1372
1374
|
this._widgetApi = _widgetApi;
|
|
1373
1375
|
this._widgetCallbacks = _widgetCallbacks;
|
|
1374
1376
|
this._widgetDeps = _widgetDeps;
|
|
@@ -1379,7 +1381,7 @@ class Barcode {
|
|
|
1379
1381
|
}
|
|
1380
1382
|
init(localData) {
|
|
1381
1383
|
try {
|
|
1382
|
-
this._widgetApi.init(this._elementNodeRef, localData, this._widgetCallbacks, this._widgetDeps);
|
|
1384
|
+
this._widgetApi.init(this._elementNodeRef, this._layersNodesRefs, localData, this._widgetCallbacks, this._widgetDeps);
|
|
1383
1385
|
}
|
|
1384
1386
|
catch (e) {
|
|
1385
1387
|
console.error(e);
|
|
@@ -1406,7 +1408,7 @@ class Barcode {
|
|
|
1406
1408
|
get isLayerForcePaused() {
|
|
1407
1409
|
return false;
|
|
1408
1410
|
}
|
|
1409
|
-
static get [Symbol.for("___CTOR_ARGS___")]() { return [`HTMLElement`, `Layer`, `typeof WidgetBarcode.api`, `WidgetCallbacks`, `WidgetDeps`]; }
|
|
1411
|
+
static get [Symbol.for("___CTOR_ARGS___")]() { return [`HTMLElement`, `Layer`, `Array`, `typeof WidgetBarcode.api`, `WidgetCallbacks`, `WidgetDeps`]; }
|
|
1410
1412
|
}
|
|
1411
1413
|
|
|
1412
1414
|
class ClickableBase {
|
|
@@ -1729,6 +1731,7 @@ class Button extends ClickableBase {
|
|
|
1729
1731
|
class Copy {
|
|
1730
1732
|
_elementNodeRef;
|
|
1731
1733
|
_layer;
|
|
1734
|
+
_layersNodesRefs;
|
|
1732
1735
|
_widgetApi;
|
|
1733
1736
|
_widgetCallbacks;
|
|
1734
1737
|
_widgetDeps;
|
|
@@ -1736,9 +1739,10 @@ class Copy {
|
|
|
1736
1739
|
static className() {
|
|
1737
1740
|
return Copy._className;
|
|
1738
1741
|
}
|
|
1739
|
-
constructor(_elementNodeRef, _layer, _widgetApi, _widgetCallbacks, _widgetDeps) {
|
|
1742
|
+
constructor(_elementNodeRef, _layer, _layersNodesRefs, _widgetApi, _widgetCallbacks, _widgetDeps) {
|
|
1740
1743
|
this._elementNodeRef = _elementNodeRef;
|
|
1741
1744
|
this._layer = _layer;
|
|
1745
|
+
this._layersNodesRefs = _layersNodesRefs;
|
|
1742
1746
|
this._widgetApi = _widgetApi;
|
|
1743
1747
|
this._widgetCallbacks = _widgetCallbacks;
|
|
1744
1748
|
this._widgetDeps = _widgetDeps;
|
|
@@ -1749,7 +1753,7 @@ class Copy {
|
|
|
1749
1753
|
}
|
|
1750
1754
|
init(localData) {
|
|
1751
1755
|
try {
|
|
1752
|
-
this._widgetApi.init(this._elementNodeRef, localData, this._widgetCallbacks, this._widgetDeps);
|
|
1756
|
+
this._widgetApi.init(this._elementNodeRef, this._layersNodesRefs, localData, this._widgetCallbacks, this._widgetDeps);
|
|
1753
1757
|
}
|
|
1754
1758
|
catch (e) {
|
|
1755
1759
|
console.error(e);
|
|
@@ -1776,7 +1780,7 @@ class Copy {
|
|
|
1776
1780
|
get isLayerForcePaused() {
|
|
1777
1781
|
return false;
|
|
1778
1782
|
}
|
|
1779
|
-
static get [Symbol.for("___CTOR_ARGS___")]() { return [`HTMLElement`, `Layer`, `typeof WidgetCopy.api`, `WidgetCallbacks`, `WidgetDeps`]; }
|
|
1783
|
+
static get [Symbol.for("___CTOR_ARGS___")]() { return [`HTMLElement`, `Layer`, `Array`, `typeof WidgetCopy.api`, `WidgetCallbacks`, `WidgetDeps`]; }
|
|
1780
1784
|
}
|
|
1781
1785
|
|
|
1782
1786
|
class DateCountdown {
|
|
@@ -3633,9 +3637,11 @@ const tryCreateFromHtmlElement = (nodeRef, layer, widgetCallbacks, widgetDeps) =
|
|
|
3633
3637
|
return new Video(nodeRef, layer, layoutApi.VideoPlayer, layer.slideApiDeps);
|
|
3634
3638
|
//////// widgets ///////
|
|
3635
3639
|
case Copy.className():
|
|
3636
|
-
return layoutApi.widgetCopyApi ? new Copy(nodeRef, layer, layoutApi.widgetCopyApi, widgetCallbacks, widgetDeps) : null;
|
|
3640
|
+
return layoutApi.widgetCopyApi ? new Copy(nodeRef, layer, layersNodesRefs, layoutApi.widgetCopyApi, widgetCallbacks, widgetDeps) : null;
|
|
3637
3641
|
case Barcode.className():
|
|
3638
|
-
return layoutApi.widgetBarcodeApi
|
|
3642
|
+
return layoutApi.widgetBarcodeApi
|
|
3643
|
+
? new Barcode(nodeRef, layer, layersNodesRefs, layoutApi.widgetBarcodeApi, widgetCallbacks, widgetDeps)
|
|
3644
|
+
: null;
|
|
3639
3645
|
case DataInput.className():
|
|
3640
3646
|
return layoutApi.widgetDataInputApi
|
|
3641
3647
|
? new DataInput(nodeRef, layer, layersNodesRefs, layoutApi.widgetDataInputApi, widgetCallbacks, widgetDeps)
|
|
@@ -5894,7 +5900,7 @@ let SlideApi$1 = class SlideApi {
|
|
|
5894
5900
|
handled = true;
|
|
5895
5901
|
}
|
|
5896
5902
|
}
|
|
5897
|
-
if (handled) {
|
|
5903
|
+
if (handled && linkType !== "products") {
|
|
5898
5904
|
try {
|
|
5899
5905
|
const cardId = this.slide.cardId;
|
|
5900
5906
|
const cardType = this.slide.cardType;
|
|
@@ -7108,16 +7114,16 @@ class CardApi {
|
|
|
7108
7114
|
if (viewportRatio > _ratio) {
|
|
7109
7115
|
// fit by height
|
|
7110
7116
|
slideHeight = viewportHeight;
|
|
7111
|
-
slideWidth =
|
|
7112
|
-
offset =
|
|
7117
|
+
slideWidth = slideHeight * _ratio;
|
|
7118
|
+
offset = (slideWidth - viewportWidth) / 2;
|
|
7113
7119
|
slideOffsetMargin = "0 " + -offset + "px"; // -8.5
|
|
7114
7120
|
xOffset = offset + "px";
|
|
7115
7121
|
}
|
|
7116
7122
|
else {
|
|
7117
7123
|
// fit by width, top and bottom - to offscreen or fill with bg image
|
|
7118
7124
|
slideWidth = viewportWidth;
|
|
7119
|
-
slideHeight =
|
|
7120
|
-
offset =
|
|
7125
|
+
slideHeight = viewportWidth / _ratio;
|
|
7126
|
+
offset = (slideHeight - viewportHeight) / 2;
|
|
7121
7127
|
slideOffsetMargin = -1 * offset + "px" + " 0 ";
|
|
7122
7128
|
// offset from viewport bottom to StoryBottom plus safe area offset bottom
|
|
7123
7129
|
yOffset = `calc(${offset + this._overlappingActionBarHeight}px + env(safe-area-inset-bottom))`;
|
|
@@ -7129,8 +7135,8 @@ class CardApi {
|
|
|
7129
7135
|
if (viewportRatio > _ratio) {
|
|
7130
7136
|
// fit by width, top and bottom - to offscreen
|
|
7131
7137
|
slideWidth = viewportWidth;
|
|
7132
|
-
slideHeight =
|
|
7133
|
-
offset =
|
|
7138
|
+
slideHeight = viewportWidth / _ratio;
|
|
7139
|
+
offset = (slideHeight - viewportHeight) / 2;
|
|
7134
7140
|
slideOffsetMargin = -offset + "px" + " 0 ";
|
|
7135
7141
|
yOffset = offset + this._overlappingActionBarHeight + "px";
|
|
7136
7142
|
}
|
|
@@ -7138,8 +7144,8 @@ class CardApi {
|
|
|
7138
7144
|
// вьюпорт более вытянутый чем надо
|
|
7139
7145
|
// fit by height, sides - to offscreen
|
|
7140
7146
|
slideHeight = viewportHeight;
|
|
7141
|
-
slideWidth =
|
|
7142
|
-
offset =
|
|
7147
|
+
slideWidth = slideHeight * _ratio;
|
|
7148
|
+
offset = (slideWidth - viewportWidth) / 2;
|
|
7143
7149
|
slideOffsetMargin = "0 " + -offset + "px"; // -8.5
|
|
7144
7150
|
xOffset = offset + "px";
|
|
7145
7151
|
}
|
|
@@ -17780,12 +17786,19 @@ FontLib.loadFont("OCR-A", 100, 100, "AAEAAAAPAIAAAwBwRkZUTXxHoksAADPIAAAAHEdERUY
|
|
|
17780
17786
|
FontLib.loadFont("OCR-B", 96, 100, "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");
|
|
17781
17787
|
function ean13(opts,dwg) { return _ToAny(bwipp_ean13,opts,dwg); }function pdf417(opts,dwg) { return _ToAny(bwipp_pdf417,opts,dwg); }function qrcode(opts,dwg) { return _ToAny(bwipp_qrcode,opts,dwg); }
|
|
17782
17788
|
|
|
17789
|
+
var WidgetBarcodePromocodeExhaustedAction;
|
|
17790
|
+
(function (WidgetBarcodePromocodeExhaustedAction) {
|
|
17791
|
+
WidgetBarcodePromocodeExhaustedAction["ShowNotification"] = "showNotification";
|
|
17792
|
+
WidgetBarcodePromocodeExhaustedAction["ShowLayer"] = "showLayer";
|
|
17793
|
+
})(WidgetBarcodePromocodeExhaustedAction || (WidgetBarcodePromocodeExhaustedAction = {}));
|
|
17794
|
+
|
|
17783
17795
|
class WidgetBarcode extends WidgetBase {
|
|
17784
17796
|
static DEFAULTS = {
|
|
17785
17797
|
slide: null,
|
|
17786
17798
|
activateAfterCreate: false,
|
|
17787
17799
|
create: false,
|
|
17788
17800
|
localData: {},
|
|
17801
|
+
layers: [],
|
|
17789
17802
|
};
|
|
17790
17803
|
static widgetClassName = "narrative-element-barcode";
|
|
17791
17804
|
captionView;
|
|
@@ -17801,8 +17814,12 @@ class WidgetBarcode extends WidgetBase {
|
|
|
17801
17814
|
msgNoMoreCodes;
|
|
17802
17815
|
msgTryAgain;
|
|
17803
17816
|
msgBarcodeRenderError;
|
|
17817
|
+
promocodeExhaustedAction;
|
|
17818
|
+
promocodeExhaustedNotificationText;
|
|
17819
|
+
layers;
|
|
17804
17820
|
constructor(element, options, widgetCallbacks, widgetDeps) {
|
|
17805
17821
|
super(element, options, widgetCallbacks, widgetDeps);
|
|
17822
|
+
this.layers = this.options.layers;
|
|
17806
17823
|
this.captionView = this.element.querySelector(".narrative-element-text-lines");
|
|
17807
17824
|
this.clipboardTarget = getTagData(element, "clipboardTarget");
|
|
17808
17825
|
this.isPromotionalCode = getTagData(element, "clipboardType") === "promocode";
|
|
@@ -17815,6 +17832,10 @@ class WidgetBarcode extends WidgetBase {
|
|
|
17815
17832
|
this.msgNoMoreCodes = getTagData(this.element, "msgNoMoreCodes");
|
|
17816
17833
|
this.msgTryAgain = getTagData(this.element, "msgTryAgain");
|
|
17817
17834
|
this.msgBarcodeRenderError = getTagData(this.element, "msgBarcodeRenderError");
|
|
17835
|
+
this.promocodeExhaustedAction =
|
|
17836
|
+
getTagData(element, "promocodeExhaustedAction") ??
|
|
17837
|
+
WidgetBarcodePromocodeExhaustedAction.ShowNotification;
|
|
17838
|
+
this.promocodeExhaustedNotificationText = getTagData(element, "promocodeExhaustedNotificationText") ?? this.msgNoMoreCodes;
|
|
17818
17839
|
}
|
|
17819
17840
|
/**
|
|
17820
17841
|
* Start or restart widget
|
|
@@ -17976,7 +17997,7 @@ class WidgetBarcode extends WidgetBase {
|
|
|
17976
17997
|
this.setLocalData(this.localData, true);
|
|
17977
17998
|
}
|
|
17978
17999
|
else {
|
|
17979
|
-
this.
|
|
18000
|
+
this.doPromocodeExhaustedAction();
|
|
17980
18001
|
}
|
|
17981
18002
|
}
|
|
17982
18003
|
else if (status === 12163 || status === 12002) {
|
|
@@ -18048,11 +18069,30 @@ class WidgetBarcode extends WidgetBase {
|
|
|
18048
18069
|
isDone() {
|
|
18049
18070
|
return this.localData["_bc_g_" + this.elementId + "_done_at"] !== undefined;
|
|
18050
18071
|
}
|
|
18072
|
+
doPromocodeExhaustedAction() {
|
|
18073
|
+
switch (this.promocodeExhaustedAction) {
|
|
18074
|
+
case WidgetBarcodePromocodeExhaustedAction.ShowNotification:
|
|
18075
|
+
this.showPromocodeExhaustedNotification();
|
|
18076
|
+
break;
|
|
18077
|
+
case WidgetBarcodePromocodeExhaustedAction.ShowLayer:
|
|
18078
|
+
this.showPromocodeExhaustedLayer();
|
|
18079
|
+
break;
|
|
18080
|
+
}
|
|
18081
|
+
}
|
|
18082
|
+
showPromocodeExhaustedNotification() {
|
|
18083
|
+
if (this.promocodeExhaustedNotificationText)
|
|
18084
|
+
this.widgetDeps.slideApiDeps.showToast(this.promocodeExhaustedNotificationText);
|
|
18085
|
+
}
|
|
18086
|
+
showPromocodeExhaustedLayer() {
|
|
18087
|
+
if (this.layers[1] != null) {
|
|
18088
|
+
this._showLayer(this.layers, 1);
|
|
18089
|
+
}
|
|
18090
|
+
}
|
|
18051
18091
|
static api = {
|
|
18052
18092
|
widgetClassName: WidgetBarcode.widgetClassName,
|
|
18053
18093
|
onRefreshUserData: WidgetBarcode.onRefreshUserData,
|
|
18054
|
-
init: function (element, localData, widgetCallbacks, widgetDeps) {
|
|
18055
|
-
WidgetBarcode.initWidget(element, localData, (element, options) => new WidgetBarcode(element, options, widgetCallbacks, widgetDeps));
|
|
18094
|
+
init: function (element, layers, localData, widgetCallbacks, widgetDeps) {
|
|
18095
|
+
WidgetBarcode.initWidget(element, localData, (element, options) => new WidgetBarcode(element, { ...options, layers }, widgetCallbacks, widgetDeps));
|
|
18056
18096
|
},
|
|
18057
18097
|
onStart: function (element) {
|
|
18058
18098
|
WidgetBarcode.getInstance(element)?.onStart();
|
|
@@ -18082,12 +18122,19 @@ class WidgetBarcode extends WidgetBase {
|
|
|
18082
18122
|
static get [Symbol.for("___CTOR_ARGS___")]() { return [`HTMLElement`, `Partial`, `WidgetCallbacks`, `WidgetDeps`]; }
|
|
18083
18123
|
}
|
|
18084
18124
|
|
|
18125
|
+
var WidgetCopyPromocodeExhaustedAction;
|
|
18126
|
+
(function (WidgetCopyPromocodeExhaustedAction) {
|
|
18127
|
+
WidgetCopyPromocodeExhaustedAction["ShowNotification"] = "showNotification";
|
|
18128
|
+
WidgetCopyPromocodeExhaustedAction["ShowLayer"] = "showLayer";
|
|
18129
|
+
})(WidgetCopyPromocodeExhaustedAction || (WidgetCopyPromocodeExhaustedAction = {}));
|
|
18130
|
+
|
|
18085
18131
|
class WidgetCopy extends WidgetBase {
|
|
18086
18132
|
static DEFAULTS = {
|
|
18087
18133
|
slide: null,
|
|
18088
18134
|
activateAfterCreate: false,
|
|
18089
18135
|
create: false,
|
|
18090
18136
|
localData: {},
|
|
18137
|
+
layers: [],
|
|
18091
18138
|
};
|
|
18092
18139
|
static widgetClassName = "narrative-element-copy";
|
|
18093
18140
|
button;
|
|
@@ -18102,8 +18149,12 @@ class WidgetCopy extends WidgetBase {
|
|
|
18102
18149
|
geometry;
|
|
18103
18150
|
resultLayer;
|
|
18104
18151
|
resultLayerGeometry;
|
|
18152
|
+
promocodeExhaustedAction;
|
|
18153
|
+
promocodeExhaustedNotificationText;
|
|
18154
|
+
layers;
|
|
18105
18155
|
constructor(element, options, widgetCallbacks, widgetDeps) {
|
|
18106
18156
|
super(element, options, widgetCallbacks, widgetDeps);
|
|
18157
|
+
this.layers = this.options.layers;
|
|
18107
18158
|
this.button = this.element.querySelector(".narrative-element-text-lines");
|
|
18108
18159
|
this.clipboardTarget = getTagData(element, "clipboardTarget");
|
|
18109
18160
|
this.isPromotionalCode = getTagData(element, "clipboardType") === "promocode";
|
|
@@ -18112,6 +18163,9 @@ class WidgetCopy extends WidgetBase {
|
|
|
18112
18163
|
this.msgServiceError = getTagData(this.element, "msgServiceError");
|
|
18113
18164
|
this.msgNoMoreCodes = getTagData(this.element, "msgNoMoreCodes");
|
|
18114
18165
|
this.msgTryAgain = getTagData(this.element, "msgTryAgain");
|
|
18166
|
+
this.promocodeExhaustedAction =
|
|
18167
|
+
getTagData(element, "promocodeExhaustedAction") ?? WidgetCopyPromocodeExhaustedAction.ShowNotification;
|
|
18168
|
+
this.promocodeExhaustedNotificationText = getTagData(element, "promocodeExhaustedNotificationText") ?? this.msgNoMoreCodes;
|
|
18115
18169
|
this.geometry = this.element.closest(".narrative-element-geometry");
|
|
18116
18170
|
// this is result layer - skip init
|
|
18117
18171
|
// todo prevent call Widget.init on result-layer
|
|
@@ -18247,7 +18301,7 @@ class WidgetCopy extends WidgetBase {
|
|
|
18247
18301
|
this.setLocalData(this.localData, true);
|
|
18248
18302
|
}
|
|
18249
18303
|
else {
|
|
18250
|
-
this.
|
|
18304
|
+
this.doPromocodeExhaustedAction();
|
|
18251
18305
|
}
|
|
18252
18306
|
}
|
|
18253
18307
|
else if (status === 12163 || status === 12002) {
|
|
@@ -18322,13 +18376,32 @@ class WidgetCopy extends WidgetBase {
|
|
|
18322
18376
|
isDone() {
|
|
18323
18377
|
return this.localData["_cp_g_" + this.elementId + "_done_at"] !== undefined;
|
|
18324
18378
|
}
|
|
18379
|
+
doPromocodeExhaustedAction() {
|
|
18380
|
+
switch (this.promocodeExhaustedAction) {
|
|
18381
|
+
case WidgetCopyPromocodeExhaustedAction.ShowNotification:
|
|
18382
|
+
this.showPromocodeExhaustedNotification();
|
|
18383
|
+
break;
|
|
18384
|
+
case WidgetCopyPromocodeExhaustedAction.ShowLayer:
|
|
18385
|
+
this.showPromocodeExhaustedLayer();
|
|
18386
|
+
break;
|
|
18387
|
+
}
|
|
18388
|
+
}
|
|
18389
|
+
showPromocodeExhaustedNotification() {
|
|
18390
|
+
if (this.promocodeExhaustedNotificationText)
|
|
18391
|
+
this.widgetDeps.slideApiDeps.showToast(this.promocodeExhaustedNotificationText);
|
|
18392
|
+
}
|
|
18393
|
+
showPromocodeExhaustedLayer() {
|
|
18394
|
+
if (this.layers[1] != null) {
|
|
18395
|
+
this._showLayer(this.layers, 1);
|
|
18396
|
+
}
|
|
18397
|
+
}
|
|
18325
18398
|
static api = {
|
|
18326
18399
|
widgetClassName: WidgetCopy.widgetClassName,
|
|
18327
18400
|
onRefreshUserData: WidgetCopy.onRefreshUserData,
|
|
18328
|
-
init: function (element, localData, widgetCallbacks, widgetDeps) {
|
|
18401
|
+
init: function (element, layers, localData, widgetCallbacks, widgetDeps) {
|
|
18329
18402
|
// prevent initWidget for result layer
|
|
18330
18403
|
if (!element.classList.contains("narrative-element-copy-result-variant")) {
|
|
18331
|
-
WidgetCopy.initWidget(element, localData, (element, options) => new WidgetCopy(element, options, widgetCallbacks, widgetDeps));
|
|
18404
|
+
WidgetCopy.initWidget(element, localData, (element, options) => new WidgetCopy(element, { ...options, layers }, widgetCallbacks, widgetDeps));
|
|
18332
18405
|
}
|
|
18333
18406
|
},
|
|
18334
18407
|
onStart: function (element) {
|
|
@@ -20939,11 +21012,12 @@ class ProductComponentsFactory {
|
|
|
20939
21012
|
},
|
|
20940
21013
|
});
|
|
20941
21014
|
}
|
|
20942
|
-
createProductCheckout(bottomSheet) {
|
|
21015
|
+
createProductCheckout(bottomSheet, params) {
|
|
20943
21016
|
return new ProductCheckout({
|
|
20944
21017
|
onClose: () => bottomSheet.close(),
|
|
20945
21018
|
onCheckout: () => {
|
|
20946
21019
|
this.widgetDeps.slideApiDeps.productCartClicked();
|
|
21020
|
+
params.onCheckout();
|
|
20947
21021
|
},
|
|
20948
21022
|
translations: this.props.translations,
|
|
20949
21023
|
});
|
|
@@ -20986,9 +21060,9 @@ class ProductOfferMapper {
|
|
|
20986
21060
|
oldPrice: offerDto.oldPrice,
|
|
20987
21061
|
currency: offerDto.currency,
|
|
20988
21062
|
description: offerDto.description,
|
|
20989
|
-
imageUrls: offerDto.
|
|
21063
|
+
imageUrls: offerDto.blobImages?.map(image => image.url) ?? [],
|
|
20990
21064
|
adult: offerDto.adult,
|
|
20991
|
-
coverUrl: offerDto.
|
|
21065
|
+
coverUrl: offerDto.blobCoverUrl,
|
|
20992
21066
|
groupId: offerDto.groupId,
|
|
20993
21067
|
url: offerDto.url,
|
|
20994
21068
|
};
|
|
@@ -21054,6 +21128,7 @@ class ProductDetailsBottomSheet extends RenderableComponent {
|
|
|
21054
21128
|
quantity: payload.quantity,
|
|
21055
21129
|
});
|
|
21056
21130
|
this.showProductCheckout();
|
|
21131
|
+
this.props.onAddToCart({ offer, quantity: payload.quantity });
|
|
21057
21132
|
},
|
|
21058
21133
|
isCartSupported,
|
|
21059
21134
|
isCartQuantityEnabled,
|
|
@@ -21061,7 +21136,9 @@ class ProductDetailsBottomSheet extends RenderableComponent {
|
|
|
21061
21136
|
this.updateBottomSheetContent(productDetails);
|
|
21062
21137
|
}
|
|
21063
21138
|
showProductCheckout() {
|
|
21064
|
-
const productCheckout = this.factory.createProductCheckout(this.bottomSheet
|
|
21139
|
+
const productCheckout = this.factory.createProductCheckout(this.bottomSheet, {
|
|
21140
|
+
onCheckout: this.props.onCheckout,
|
|
21141
|
+
});
|
|
21065
21142
|
this.updateBottomSheetContent(productCheckout);
|
|
21066
21143
|
}
|
|
21067
21144
|
updateBottomSheetContent(content) {
|
|
@@ -21113,7 +21190,9 @@ class ProductCheckoutBottomSheet extends RenderableComponent {
|
|
|
21113
21190
|
return this.bottomSheet.render();
|
|
21114
21191
|
}
|
|
21115
21192
|
open() {
|
|
21116
|
-
const productCheckout = this.factory.createProductCheckout(this.bottomSheet
|
|
21193
|
+
const productCheckout = this.factory.createProductCheckout(this.bottomSheet, {
|
|
21194
|
+
onCheckout: this.props.onCheckout,
|
|
21195
|
+
});
|
|
21117
21196
|
this.updateBottomSheetContent(productCheckout);
|
|
21118
21197
|
this.bottomSheet.open();
|
|
21119
21198
|
}
|
|
@@ -21284,33 +21363,34 @@ class ProductOfferRepository {
|
|
|
21284
21363
|
}
|
|
21285
21364
|
}
|
|
21286
21365
|
static collectDistinctImageUrls(offers, into) {
|
|
21287
|
-
for (const
|
|
21288
|
-
if (
|
|
21289
|
-
into.add(
|
|
21366
|
+
for (const offer of offers) {
|
|
21367
|
+
if (offer.coverUrl) {
|
|
21368
|
+
into.add(offer.coverUrl);
|
|
21290
21369
|
}
|
|
21291
|
-
if (
|
|
21292
|
-
for (const img of
|
|
21370
|
+
if (offer.images?.length) {
|
|
21371
|
+
for (const img of offer.images) {
|
|
21293
21372
|
if (img.url) {
|
|
21294
21373
|
into.add(img.url);
|
|
21295
21374
|
}
|
|
21296
21375
|
}
|
|
21297
21376
|
}
|
|
21298
|
-
if (
|
|
21299
|
-
this.collectDistinctImageUrls(
|
|
21377
|
+
if (offer.subOffersApi?.length) {
|
|
21378
|
+
this.collectDistinctImageUrls(offer.subOffersApi, into);
|
|
21300
21379
|
}
|
|
21301
21380
|
}
|
|
21302
21381
|
}
|
|
21303
21382
|
static applyImageBlobMap(offers, originalToBlob) {
|
|
21304
|
-
for (const
|
|
21305
|
-
const coverOrig =
|
|
21383
|
+
for (const offer of offers) {
|
|
21384
|
+
const coverOrig = offer.coverUrl;
|
|
21306
21385
|
if (coverOrig) {
|
|
21307
21386
|
const blobUrl = originalToBlob.get(coverOrig);
|
|
21308
21387
|
if (blobUrl) {
|
|
21309
|
-
|
|
21388
|
+
offer.blobCoverUrl = blobUrl;
|
|
21310
21389
|
}
|
|
21311
21390
|
}
|
|
21312
|
-
if (
|
|
21313
|
-
|
|
21391
|
+
if (offer.images?.length) {
|
|
21392
|
+
offer.blobImages = offer.images.map(image => ({ ...image }));
|
|
21393
|
+
for (const img of offer.blobImages) {
|
|
21314
21394
|
const urlOrig = img.url;
|
|
21315
21395
|
const blobUrl = originalToBlob.get(urlOrig);
|
|
21316
21396
|
if (blobUrl) {
|
|
@@ -21318,8 +21398,8 @@ class ProductOfferRepository {
|
|
|
21318
21398
|
}
|
|
21319
21399
|
}
|
|
21320
21400
|
}
|
|
21321
|
-
if (
|
|
21322
|
-
this.applyImageBlobMap(
|
|
21401
|
+
if (offer.subOffersApi?.length) {
|
|
21402
|
+
this.applyImageBlobMap(offer.subOffersApi, originalToBlob);
|
|
21323
21403
|
}
|
|
21324
21404
|
}
|
|
21325
21405
|
}
|
|
@@ -21673,6 +21753,12 @@ class WidgetProducts extends WidgetBase {
|
|
|
21673
21753
|
openUrl: getTagData(this.element, "msgOpenUrl") ?? "",
|
|
21674
21754
|
},
|
|
21675
21755
|
height: backgroundViewHeight + scrollViewGroupHeight,
|
|
21756
|
+
onCheckout: () => {
|
|
21757
|
+
this.statEventGoToCart();
|
|
21758
|
+
},
|
|
21759
|
+
onAddToCart: (event) => {
|
|
21760
|
+
this.statEventAddToCart(event);
|
|
21761
|
+
},
|
|
21676
21762
|
});
|
|
21677
21763
|
const isCartEnabled = getTagData(this.element, "isCartEnabled") === "true";
|
|
21678
21764
|
const isCartQuantityEnabled = !getTagData(this.element, "isCartQuantityEnabled") || getTagData(this.element, "isCartQuantityEnabled") === "true";
|
|
@@ -21680,6 +21766,49 @@ class WidgetProducts extends WidgetBase {
|
|
|
21680
21766
|
this.productsView.appendChild(bs.render());
|
|
21681
21767
|
bs.open({ offer, isCartSupported, isCartQuantityEnabled });
|
|
21682
21768
|
};
|
|
21769
|
+
statEventGoToCart() {
|
|
21770
|
+
try {
|
|
21771
|
+
const captionViewText = this.captionView?.textContent ?? "";
|
|
21772
|
+
this.sendStatisticEventToApp("w-products-go-to-cart", {
|
|
21773
|
+
...this.statisticEventBaseFieldsShortForm,
|
|
21774
|
+
wi: this.elementId,
|
|
21775
|
+
wl: captionViewText,
|
|
21776
|
+
}, {
|
|
21777
|
+
...this.statisticEventBaseFieldsFullForm,
|
|
21778
|
+
widget_id: this.elementId,
|
|
21779
|
+
widget_label: captionViewText,
|
|
21780
|
+
}, {
|
|
21781
|
+
forceEnableStatisticV2: false,
|
|
21782
|
+
});
|
|
21783
|
+
}
|
|
21784
|
+
catch (error) {
|
|
21785
|
+
console.error(error);
|
|
21786
|
+
}
|
|
21787
|
+
}
|
|
21788
|
+
statEventAddToCart({ offer, quantity }) {
|
|
21789
|
+
try {
|
|
21790
|
+
const captionViewText = this.captionView?.textContent ?? "";
|
|
21791
|
+
this.sendStatisticEventToApp("w-products-add-to-cart", {
|
|
21792
|
+
...this.statisticEventBaseFieldsShortForm,
|
|
21793
|
+
wi: this.elementId,
|
|
21794
|
+
wl: captionViewText,
|
|
21795
|
+
wv: offer.offerId,
|
|
21796
|
+
wvi: offer.id,
|
|
21797
|
+
}, {
|
|
21798
|
+
...this.statisticEventBaseFieldsFullForm,
|
|
21799
|
+
widget_id: this.elementId,
|
|
21800
|
+
widget_label: captionViewText,
|
|
21801
|
+
widget_value: offer.offerId,
|
|
21802
|
+
quantity,
|
|
21803
|
+
widget_value_id: offer.id,
|
|
21804
|
+
}, {
|
|
21805
|
+
forceEnableStatisticV2: false,
|
|
21806
|
+
});
|
|
21807
|
+
}
|
|
21808
|
+
catch (error) {
|
|
21809
|
+
console.error(error);
|
|
21810
|
+
}
|
|
21811
|
+
}
|
|
21683
21812
|
createScrollView(offers) {
|
|
21684
21813
|
const scrollViewGroup = document.createElement("div");
|
|
21685
21814
|
scrollViewGroup.classList.add("ias-products-scroll-view-group");
|
|
@@ -22167,7 +22296,7 @@ class WidgetProductCarousel extends WidgetBase {
|
|
|
22167
22296
|
this.onWidgetRequirePauseUI();
|
|
22168
22297
|
}
|
|
22169
22298
|
e.stopPropagation();
|
|
22170
|
-
this.
|
|
22299
|
+
this.statEventClickPurchaseButton(offer);
|
|
22171
22300
|
if (isCartSupported) {
|
|
22172
22301
|
this.addToCart(offer, button);
|
|
22173
22302
|
}
|
|
@@ -22213,6 +22342,7 @@ class WidgetProductCarousel extends WidgetBase {
|
|
|
22213
22342
|
bs.open();
|
|
22214
22343
|
this.isBottomSheetOpened = true;
|
|
22215
22344
|
this.disableHostUIInteraction();
|
|
22345
|
+
this.statEventAddToCart({ offer: offerDto, quantity: 1 });
|
|
22216
22346
|
}
|
|
22217
22347
|
catch (error) {
|
|
22218
22348
|
if (error instanceof Error) {
|
|
@@ -22252,6 +22382,12 @@ class WidgetProductCarousel extends WidgetBase {
|
|
|
22252
22382
|
this.productsView = null;
|
|
22253
22383
|
}
|
|
22254
22384
|
},
|
|
22385
|
+
onCheckout: () => {
|
|
22386
|
+
this.statEventGoToCart();
|
|
22387
|
+
},
|
|
22388
|
+
onAddToCart: (event) => {
|
|
22389
|
+
this.statEventAddToCart(event);
|
|
22390
|
+
},
|
|
22255
22391
|
};
|
|
22256
22392
|
}
|
|
22257
22393
|
statEventWidgetCardClick(offer) {
|
|
@@ -22260,8 +22396,8 @@ class WidgetProductCarousel extends WidgetBase {
|
|
|
22260
22396
|
this.sendStatisticEventToApp("w-product-carousel-card-click", {
|
|
22261
22397
|
...this.statisticEventBaseFieldsShortForm,
|
|
22262
22398
|
wi: this.elementId,
|
|
22263
|
-
wl: captionViewText,
|
|
22264
22399
|
wv: offer.offerId,
|
|
22400
|
+
wl: captionViewText,
|
|
22265
22401
|
wvi: offer.id,
|
|
22266
22402
|
}, {
|
|
22267
22403
|
...this.statisticEventBaseFieldsFullForm,
|
|
@@ -22277,6 +22413,63 @@ class WidgetProductCarousel extends WidgetBase {
|
|
|
22277
22413
|
console.error(error);
|
|
22278
22414
|
}
|
|
22279
22415
|
}
|
|
22416
|
+
statEventClickPurchaseButton(offer) {
|
|
22417
|
+
try {
|
|
22418
|
+
this.sendStatisticEventToApp("w-product-carousel-buy-click", {
|
|
22419
|
+
...this.statisticEventBaseFieldsShortForm,
|
|
22420
|
+
wi: this.elementId,
|
|
22421
|
+
wv: offer.offerId,
|
|
22422
|
+
wvi: offer.id,
|
|
22423
|
+
}, {
|
|
22424
|
+
...this.statisticEventBaseFieldsFullForm,
|
|
22425
|
+
widget_id: this.elementId,
|
|
22426
|
+
widget_value: offer.offerId,
|
|
22427
|
+
widget_value_id: offer.id,
|
|
22428
|
+
}, {
|
|
22429
|
+
forceEnableStatisticV2: false,
|
|
22430
|
+
});
|
|
22431
|
+
}
|
|
22432
|
+
catch (error) {
|
|
22433
|
+
console.error(error);
|
|
22434
|
+
}
|
|
22435
|
+
}
|
|
22436
|
+
statEventAddToCart({ offer, quantity }) {
|
|
22437
|
+
try {
|
|
22438
|
+
this.sendStatisticEventToApp("w-product-carousel-add-to-cart", {
|
|
22439
|
+
...this.statisticEventBaseFieldsShortForm,
|
|
22440
|
+
wi: this.elementId,
|
|
22441
|
+
wv: offer.offerId,
|
|
22442
|
+
wvi: offer.id,
|
|
22443
|
+
}, {
|
|
22444
|
+
...this.statisticEventBaseFieldsFullForm,
|
|
22445
|
+
widget_id: this.elementId,
|
|
22446
|
+
widget_value: offer.offerId,
|
|
22447
|
+
quantity,
|
|
22448
|
+
widget_value_id: offer.id,
|
|
22449
|
+
}, {
|
|
22450
|
+
forceEnableStatisticV2: false,
|
|
22451
|
+
});
|
|
22452
|
+
}
|
|
22453
|
+
catch (error) {
|
|
22454
|
+
console.error(error);
|
|
22455
|
+
}
|
|
22456
|
+
}
|
|
22457
|
+
statEventGoToCart() {
|
|
22458
|
+
try {
|
|
22459
|
+
this.sendStatisticEventToApp("w-product-carousel-go-to-cart", {
|
|
22460
|
+
...this.statisticEventBaseFieldsShortForm,
|
|
22461
|
+
wi: this.elementId,
|
|
22462
|
+
}, {
|
|
22463
|
+
...this.statisticEventBaseFieldsFullForm,
|
|
22464
|
+
widget_id: this.elementId,
|
|
22465
|
+
}, {
|
|
22466
|
+
forceEnableStatisticV2: false,
|
|
22467
|
+
});
|
|
22468
|
+
}
|
|
22469
|
+
catch (error) {
|
|
22470
|
+
console.error(error);
|
|
22471
|
+
}
|
|
22472
|
+
}
|
|
22280
22473
|
isCartSupported() {
|
|
22281
22474
|
const isCartEnabled = getTagData(this.element, "isCartEnabled") === "true";
|
|
22282
22475
|
return this.widgetDeps.slideApiDeps.isSdkSupportProductCart && isCartEnabled;
|
|
@@ -26896,6 +27089,10 @@ class WidgetScratchCard extends WidgetBase {
|
|
|
26896
27089
|
...this.statisticEventBaseFieldsShortForm,
|
|
26897
27090
|
wi: this.elementId,
|
|
26898
27091
|
d: duration,
|
|
27092
|
+
}, {
|
|
27093
|
+
...this.statisticEventBaseFieldsFullForm,
|
|
27094
|
+
widget_id: this.elementId,
|
|
27095
|
+
duration_ms: duration,
|
|
26899
27096
|
});
|
|
26900
27097
|
}
|
|
26901
27098
|
saveToLocalData() {
|