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