@useinsider/guido 3.18.1-beta.74a13e4 → 3.18.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/dist/config/migrator/itemsBlockMigrator.js +137 -197
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +17 -18
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +105 -114
- package/dist/extensions/Blocks/Items/enums/productEnums.js +9 -14
- package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +9 -11
- package/dist/extensions/Blocks/Items/template.js +215 -224
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +0 -3
- package/dist/src/extensions/Blocks/Items/template.d.ts +0 -19
- package/dist/utils/pairProductVariables.js +71 -71
- package/package.json +1 -1
- package/dist/extensions/Blocks/Items/constants/cardLayout.js +0 -20
- package/dist/src/extensions/Blocks/Items/constants/cardLayout.d.ts +0 -44
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import { ModificationDescription as
|
|
2
|
-
import { CommonControl as
|
|
3
|
-
import { reorientBlockCellPadding as D, nameMaxWidthFor as f } from "../constants/cardLayout.js";
|
|
1
|
+
import { ModificationDescription as S, UEAttr as L } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
|
+
import { CommonControl as k } from "../../common-control.js";
|
|
4
3
|
import { ItemsBlockId as I } from "../enums/controlEnums.js";
|
|
5
|
-
import { productPairs as y, templateFirstLine as
|
|
6
|
-
import { SETTINGS_ENUMS as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { getDefaultTemplate as
|
|
10
|
-
import { findNameTextNode as
|
|
11
|
-
import { getItemsBlockConfig as _, setItemsBlockConfig as M, escapeReplacement as
|
|
12
|
-
const
|
|
4
|
+
import { productPairs as y, templateFirstLine as D } from "../enums/productEnums.js";
|
|
5
|
+
import { SETTINGS_ENUMS as d, ItemTypeOptions as x, OrientationOptions as F, ItemInCartOptions as O, DefaultConfigValues as H } from "../enums/settingsEnums.js";
|
|
6
|
+
import $ from "../layouts/horizontal.html.js";
|
|
7
|
+
import w from "../layouts/vertical.html.js";
|
|
8
|
+
import { getDefaultTemplate as q, wrapInTableRow as C } from "../template.js";
|
|
9
|
+
import { findNameTextNode as V } from "../utils/nameNode.js";
|
|
10
|
+
import { getItemsBlockConfig as _, setItemsBlockConfig as M, escapeReplacement as g, deriveItemNumber as B } from "../utils/nodeConfigUtils.js";
|
|
11
|
+
const G = "ui-elements-items-block", m = {
|
|
13
12
|
ITEMS_TYPE: "itemsType",
|
|
14
13
|
ORIENTATION: "orientation",
|
|
15
14
|
ITEM_IDS: "itemIds"
|
|
16
15
|
};
|
|
17
|
-
class
|
|
16
|
+
class te extends k {
|
|
18
17
|
getId() {
|
|
19
|
-
return
|
|
18
|
+
return G;
|
|
20
19
|
}
|
|
21
20
|
getTemplate() {
|
|
22
21
|
return `
|
|
@@ -30,18 +29,18 @@ class se extends $ {
|
|
|
30
29
|
onRender() {
|
|
31
30
|
const e = _(this.currentNode);
|
|
32
31
|
this.api.updateValues({
|
|
33
|
-
[
|
|
34
|
-
[
|
|
35
|
-
[
|
|
32
|
+
[m.ORIENTATION]: (e == null ? void 0 : e.orientation) ?? d.ORIENTATION.VERTICAL,
|
|
33
|
+
[m.ITEMS_TYPE]: (e == null ? void 0 : e.type) ?? d.ITEMS_TYPE.CART_ITEMS,
|
|
34
|
+
[m.ITEM_IDS]: (e == null ? void 0 : e.itemsSelectValue) ?? ""
|
|
36
35
|
}), this._listenToFormUpdates();
|
|
37
36
|
}
|
|
38
37
|
onTemplateNodeUpdated(e) {
|
|
39
38
|
super.onTemplateNodeUpdated(e), console.debug("Items Block Config", e.getNodeConfig()), this.handleBlockInstanceChange(() => {
|
|
40
39
|
const r = _(this.currentNode);
|
|
41
40
|
this.api.updateValues({
|
|
42
|
-
[
|
|
43
|
-
[
|
|
44
|
-
[
|
|
41
|
+
[m.ORIENTATION]: (r == null ? void 0 : r.orientation) ?? d.ORIENTATION.VERTICAL,
|
|
42
|
+
[m.ITEMS_TYPE]: (r == null ? void 0 : r.type) ?? d.ITEMS_TYPE.CART_ITEMS,
|
|
43
|
+
[m.ITEM_IDS]: (r == null ? void 0 : r.itemsSelectValue) ?? ""
|
|
45
44
|
}), this._initializeSelectItems();
|
|
46
45
|
});
|
|
47
46
|
}
|
|
@@ -50,10 +49,10 @@ class se extends $ {
|
|
|
50
49
|
${this._GuOneColumn([
|
|
51
50
|
this._GuLabel({ text: "Item Type" }),
|
|
52
51
|
this._GuSelect({
|
|
53
|
-
name:
|
|
52
|
+
name: m.ITEMS_TYPE,
|
|
54
53
|
className: "es-100",
|
|
55
54
|
placeholder: "Select Item Type",
|
|
56
|
-
options:
|
|
55
|
+
options: x
|
|
57
56
|
})
|
|
58
57
|
])}
|
|
59
58
|
`;
|
|
@@ -63,8 +62,8 @@ class se extends $ {
|
|
|
63
62
|
${this._GuTwoColumns([
|
|
64
63
|
this._GuLabel({ text: "Orientation" }),
|
|
65
64
|
this._GuRadioButton({
|
|
66
|
-
name:
|
|
67
|
-
buttons:
|
|
65
|
+
name: m.ORIENTATION,
|
|
66
|
+
buttons: F
|
|
68
67
|
})
|
|
69
68
|
])}
|
|
70
69
|
`;
|
|
@@ -74,7 +73,7 @@ class se extends $ {
|
|
|
74
73
|
${this._GuTwoColumns([
|
|
75
74
|
this._GuLabel({ text: "Item in Cart" }),
|
|
76
75
|
this._GuSelect({
|
|
77
|
-
name:
|
|
76
|
+
name: m.ITEM_IDS,
|
|
78
77
|
className: "es-100",
|
|
79
78
|
placeholder: "Select Item In Cart",
|
|
80
79
|
options: []
|
|
@@ -83,32 +82,32 @@ class se extends $ {
|
|
|
83
82
|
`;
|
|
84
83
|
}
|
|
85
84
|
_onOrientationChange(e) {
|
|
86
|
-
this.api.updateValues({ [
|
|
85
|
+
this.api.updateValues({ [m.ORIENTATION]: e });
|
|
87
86
|
const r = this.api.getDocumentModifier();
|
|
88
87
|
M(this.currentNode, this.api, {
|
|
89
88
|
orientation: e,
|
|
90
89
|
priceOrientation: "horizontal"
|
|
91
|
-
}, r), r.apply(new
|
|
90
|
+
}, r), r.apply(new S("Changed orientation")), this._reOrderTemplate(), setTimeout(() => {
|
|
92
91
|
this._recalculateTrimming();
|
|
93
92
|
}, 50);
|
|
94
93
|
}
|
|
95
94
|
_onItemsTypeChange(e) {
|
|
96
|
-
const r =
|
|
95
|
+
const r = d.ITEMS_TYPE[e], t = O[e], i = t == null ? void 0 : t[0];
|
|
97
96
|
if (!r || !i)
|
|
98
97
|
return;
|
|
99
|
-
const n = i.value, s = i.value.replace("Url}}", "Image}}"),
|
|
98
|
+
const n = i.value, s = i.value.replace("Url}}", "Image}}"), o = this.api.getDocumentModifier();
|
|
100
99
|
M(this.currentNode, this.api, {
|
|
101
100
|
source: r,
|
|
102
101
|
type: r,
|
|
103
102
|
itemsSelectValue: i.value,
|
|
104
103
|
imageLink: s,
|
|
105
104
|
buttonLink: n
|
|
106
|
-
},
|
|
107
|
-
const
|
|
108
|
-
this._updateImageSrc(
|
|
105
|
+
}, o), this._updateDataTypeAttributes(r, o), this._initializeSelectItems();
|
|
106
|
+
const c = this._getTemplateData(r, i.value);
|
|
107
|
+
this._updateImageSrc(c.imageSrc, o), this._updateName(c.name, o), this._updatePrice(c.price, o), this._updateOriginalPrice(c.originalPrice, o), this._updateQuantity(c.quantity, r, o), o.apply(new S("Updated items type"));
|
|
109
108
|
}
|
|
110
109
|
_onItemIdsChange(e) {
|
|
111
|
-
this.api.updateValues({ [
|
|
110
|
+
this.api.updateValues({ [m.ITEM_IDS]: e });
|
|
112
111
|
const r = e, t = e.replace("Url}}", "Image}}"), i = this.api.getDocumentModifier();
|
|
113
112
|
M(this.currentNode, this.api, {
|
|
114
113
|
itemsSelectValue: e,
|
|
@@ -116,58 +115,58 @@ class se extends $ {
|
|
|
116
115
|
buttonLink: r
|
|
117
116
|
}, i), this._updateDataNumberAttributes(e, i);
|
|
118
117
|
const n = this._getTemplateData(void 0, e);
|
|
119
|
-
this._updateImageSrc(n.imageSrc, i), this._updateName(n.name, i), this._updatePrice(n.price, i), this._updateOriginalPrice(n.originalPrice, i), this._updateQuantity(n.quantity, void 0, i), i.apply(new
|
|
118
|
+
this._updateImageSrc(n.imageSrc, i), this._updateName(n.name, i), this._updatePrice(n.price, i), this._updateOriginalPrice(n.originalPrice, i), this._updateQuantity(n.quantity, void 0, i), i.apply(new S("Updated item selection"));
|
|
120
119
|
}
|
|
121
120
|
_initializeSelectItems() {
|
|
122
121
|
this.api.setUIEAttribute(
|
|
123
|
-
|
|
122
|
+
m.ITEMS_TYPE,
|
|
124
123
|
L.SELECTPICKER.items,
|
|
125
|
-
|
|
124
|
+
x
|
|
126
125
|
);
|
|
127
|
-
const e = _(this.currentNode), r = (e == null ? void 0 : e.type) ??
|
|
126
|
+
const e = _(this.currentNode), r = (e == null ? void 0 : e.type) ?? d.ITEMS_TYPE.CART_ITEMS, t = (e == null ? void 0 : e.itemsSelectValue) ?? "";
|
|
128
127
|
this.api.updateValues({
|
|
129
|
-
[
|
|
128
|
+
[m.ITEMS_TYPE]: r
|
|
130
129
|
});
|
|
131
|
-
const i =
|
|
130
|
+
const i = O[r];
|
|
132
131
|
this.api.setUIEAttribute(
|
|
133
|
-
|
|
132
|
+
m.ITEM_IDS,
|
|
134
133
|
L.SELECTPICKER.items,
|
|
135
134
|
i
|
|
136
135
|
), this.api.updateValues({
|
|
137
|
-
[
|
|
136
|
+
[m.ITEM_IDS]: t
|
|
138
137
|
});
|
|
139
138
|
}
|
|
140
139
|
_listenToFormUpdates() {
|
|
141
140
|
this.api.onValueChanged(
|
|
142
|
-
|
|
141
|
+
m.ITEMS_TYPE,
|
|
143
142
|
(e) => this._onItemsTypeChange(e)
|
|
144
143
|
), this.api.onValueChanged(
|
|
145
|
-
|
|
144
|
+
m.ORIENTATION,
|
|
146
145
|
(e) => this._onOrientationChange(e)
|
|
147
146
|
), this.api.onValueChanged(
|
|
148
|
-
|
|
147
|
+
m.ITEM_IDS,
|
|
149
148
|
(e) => this._onItemIdsChange(e)
|
|
150
149
|
);
|
|
151
150
|
}
|
|
152
151
|
_renderTemplate() {
|
|
153
|
-
const e = _(this.currentNode), r = (e == null ? void 0 : e.orientation) ??
|
|
154
|
-
this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(
|
|
152
|
+
const e = _(this.currentNode), r = (e == null ? void 0 : e.orientation) ?? d.ORIENTATION.VERTICAL, t = (e == null ? void 0 : e.type) ?? d.ITEMS_TYPE.CART_ITEMS, i = (e == null ? void 0 : e.itemsSelectValue) ?? "", n = (e == null ? void 0 : e.priceCurrencySymbol) ?? "", s = (e == null ? void 0 : e.priceCurrencyLocation) ?? "0", o = (e == null ? void 0 : e.priceFormatted) ?? !1;
|
|
153
|
+
this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(q({
|
|
155
154
|
orientation: r,
|
|
156
155
|
itemsType: t,
|
|
157
156
|
itemId: i,
|
|
158
157
|
currencySymbol: n,
|
|
159
158
|
currencyLocation: s,
|
|
160
|
-
formattedPrice:
|
|
161
|
-
})).apply(new
|
|
159
|
+
formattedPrice: o
|
|
160
|
+
})).apply(new S("Updated template"));
|
|
162
161
|
}
|
|
163
162
|
_getTemplateData(e, r) {
|
|
164
|
-
const t = _(this.currentNode), i = e ?? (t == null ? void 0 : t.type) ??
|
|
165
|
-
let
|
|
166
|
-
return
|
|
167
|
-
imageSrc: y.PAIRS_FOR_EXTENSION.imageSrc[i].DEFAULT[
|
|
168
|
-
name: y.PAIRS_FOR_EXTENSION.name[i].DEFAULT[
|
|
169
|
-
price:
|
|
170
|
-
originalPrice:
|
|
163
|
+
const t = _(this.currentNode), i = e ?? (t == null ? void 0 : t.type) ?? d.ITEMS_TYPE.CART_ITEMS, n = r ?? (t == null ? void 0 : t.itemsSelectValue) ?? "", s = (t == null ? void 0 : t.priceFormatted) ?? !1, o = (t == null ? void 0 : t.priceSinglePrice) ?? !1, c = O[i].findIndex((h) => h.value === n), a = c > -1 ? c : 0, l = y.PAIRS_FOR_EXTENSION.price[i], T = y.PAIRS_FOR_EXTENSION.originalPrice[i];
|
|
164
|
+
let u, p;
|
|
165
|
+
return o ? (u = s ? l.DEFAULT_SINGLE_PRICE_FORMATTED : l.DEFAULT_SINGLE_PRICE, p = s ? T.DEFAULT_SINGLE_PRICE_FORMATTED : T.DEFAULT_SINGLE_PRICE) : (u = s ? l.DEFAULT_PRICE_FORMATTED : l.DEFAULT_PRICE, p = s ? T.DEFAULT_PRICE_FORMATTED : T.DEFAULT_PRICE), {
|
|
166
|
+
imageSrc: y.PAIRS_FOR_EXTENSION.imageSrc[i].DEFAULT[a],
|
|
167
|
+
name: y.PAIRS_FOR_EXTENSION.name[i].DEFAULT[a],
|
|
168
|
+
price: u,
|
|
169
|
+
originalPrice: p,
|
|
171
170
|
quantity: y.PAIRS_FOR_EXTENSION.quantity[i].DEFAULT,
|
|
172
171
|
button: y.PAIRS_FOR_EXTENSION.button[i].DEFAULT_LABEL
|
|
173
172
|
};
|
|
@@ -184,79 +183,71 @@ class se extends $ {
|
|
|
184
183
|
return;
|
|
185
184
|
const i = t.getInnerText().trim();
|
|
186
185
|
let n = t.getInnerHTML().trim();
|
|
187
|
-
n = n.replace(i,
|
|
186
|
+
n = n.replace(i, g(e)), r.modifyHtml(t).setInnerHtml(n);
|
|
188
187
|
}
|
|
189
188
|
_updatePrice(e, r) {
|
|
190
|
-
var
|
|
191
|
-
const t = ((
|
|
189
|
+
var o;
|
|
190
|
+
const t = ((o = this.currentNode) == null ? void 0 : o.querySelectorAll(
|
|
192
191
|
`[esd-extension-block-id="${I.PRICE}"]`
|
|
193
192
|
)) || [], i = _(this.currentNode), n = (i == null ? void 0 : i.priceCurrencySymbol) ?? "", s = (i == null ? void 0 : i.priceCurrencyLocation) ?? "0";
|
|
194
|
-
t.forEach((
|
|
195
|
-
const
|
|
196
|
-
if (!
|
|
193
|
+
t.forEach((c) => {
|
|
194
|
+
const a = this._getParagraphFromBlock(c);
|
|
195
|
+
if (!a)
|
|
197
196
|
return;
|
|
198
|
-
const
|
|
199
|
-
r.modifyHtml(
|
|
197
|
+
const l = a.getInnerHTML().trim() || "", T = a.getInnerText().trim() || "", u = (n == null ? void 0 : n.trim()) || "", p = this._removeCurrencySymbol(T, u), h = this._replacePriceNumber(p, e), E = this._buildPriceContent(h, u, s), N = l.replace(T, g(E));
|
|
198
|
+
r.modifyHtml(a).setInnerHtml(N);
|
|
200
199
|
});
|
|
201
200
|
}
|
|
202
201
|
_updateOriginalPrice(e, r) {
|
|
203
|
-
var
|
|
204
|
-
const t = ((
|
|
202
|
+
var o;
|
|
203
|
+
const t = ((o = this.currentNode) == null ? void 0 : o.querySelectorAll(
|
|
205
204
|
`[esd-extension-block-id="${I.ORIGINAL_PRICE}"]`
|
|
206
205
|
)) || [], i = _(this.currentNode), n = (i == null ? void 0 : i.priceCurrencySymbol) ?? "", s = (i == null ? void 0 : i.priceCurrencyLocation) ?? "0";
|
|
207
|
-
t.forEach((
|
|
208
|
-
const
|
|
209
|
-
if (!
|
|
206
|
+
t.forEach((c) => {
|
|
207
|
+
const a = this._getParagraphFromBlock(c);
|
|
208
|
+
if (!a)
|
|
210
209
|
return;
|
|
211
|
-
const
|
|
212
|
-
if (!
|
|
210
|
+
const l = a.querySelector("s");
|
|
211
|
+
if (!l)
|
|
213
212
|
return;
|
|
214
|
-
const
|
|
215
|
-
r.modifyHtml(
|
|
213
|
+
const T = l.getInnerHTML().trim() || "", u = l.getInnerText().trim() || "", p = (n == null ? void 0 : n.trim()) || "", h = this._removeCurrencySymbol(u, p), E = this._replacePriceNumber(h, e), N = this._buildPriceContent(E, p, s), R = `<s>${T.replace(u, g(N))}</s>`;
|
|
214
|
+
r.modifyHtml(a).setInnerHtml(R);
|
|
216
215
|
});
|
|
217
216
|
}
|
|
218
217
|
_updateQuantity(e, r, t) {
|
|
219
218
|
var h;
|
|
220
|
-
const i = _(this.currentNode), s = (r ?? (i == null ? void 0 : i.type) ??
|
|
221
|
-
if (!
|
|
219
|
+
const i = _(this.currentNode), s = (r ?? (i == null ? void 0 : i.type) ?? d.ITEMS_TYPE.CART_ITEMS) !== d.ITEMS_TYPE.BROWSED_ITEMS, o = (i == null ? void 0 : i.quantityControlEnabled) !== !1, c = s && o, a = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${I.QUANTITY}"]`);
|
|
220
|
+
if (!a)
|
|
222
221
|
return;
|
|
223
|
-
const
|
|
224
|
-
if (!
|
|
222
|
+
const l = this._getParagraphFromBlock(a);
|
|
223
|
+
if (!l)
|
|
225
224
|
return;
|
|
226
|
-
const
|
|
227
|
-
let
|
|
228
|
-
function
|
|
225
|
+
const T = l.getInnerText().trim();
|
|
226
|
+
let u = l.getInnerHTML().trim();
|
|
227
|
+
function p(E, N, A) {
|
|
229
228
|
return E.replace(
|
|
230
|
-
new RegExp(`(>\\s*)?${
|
|
231
|
-
`$1${
|
|
229
|
+
new RegExp(`(>\\s*)?${N}(\\s*<)?`, "g"),
|
|
230
|
+
`$1${A}$2`
|
|
232
231
|
);
|
|
233
232
|
}
|
|
234
|
-
|
|
233
|
+
u = p(u, T, e), t.modifyHtml(l).setInnerHtml(u), t.modifyHtml(a).setStyle("display", c ? "table-cell" : "none");
|
|
235
234
|
}
|
|
236
235
|
_reOrderTemplate(e) {
|
|
237
|
-
var h, E,
|
|
238
|
-
const r = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${I.IMAGE}"]`), t = (E = this.currentNode) == null ? void 0 : E.querySelector(`[esd-extension-block-id="${I.NAME}"]`), i = ((
|
|
236
|
+
var h, E, N, A, R, b;
|
|
237
|
+
const r = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${I.IMAGE}"]`), t = (E = this.currentNode) == null ? void 0 : E.querySelector(`[esd-extension-block-id="${I.NAME}"]`), i = ((N = this.currentNode) == null ? void 0 : N.querySelectorAll(
|
|
239
238
|
`[esd-extension-block-id="${I.PRICE}"]`
|
|
240
|
-
)) || [], n = ((
|
|
239
|
+
)) || [], n = ((A = this.currentNode) == null ? void 0 : A.querySelectorAll(
|
|
241
240
|
`[esd-extension-block-id="${I.ORIGINAL_PRICE}"]`
|
|
242
|
-
)) || [], [s] = i, [
|
|
243
|
-
if (!r || !t || !s || !
|
|
241
|
+
)) || [], [s] = i, [o] = n, c = (R = this.currentNode) == null ? void 0 : R.querySelector(`[esd-extension-block-id="${I.QUANTITY}"]`), a = (b = this.currentNode) == null ? void 0 : b.querySelector(`[esd-extension-block-id="${I.BUTTON}"]`);
|
|
242
|
+
if (!r || !t || !s || !o || !c || !a)
|
|
244
243
|
return;
|
|
245
|
-
const
|
|
246
|
-
let
|
|
244
|
+
const l = _(this.currentNode), u = ((l == null ? void 0 : l.orientation) ?? d.ORIENTATION.VERTICAL) === d.ORIENTATION.VERTICAL;
|
|
245
|
+
let p = u ? w : $;
|
|
247
246
|
setTimeout(() => {
|
|
248
|
-
const
|
|
249
|
-
|
|
250
|
-
);
|
|
251
|
-
|
|
252
|
-
u,
|
|
253
|
-
d,
|
|
254
|
-
(o == null ? void 0 : o.priceOrientation) ?? "horizontal",
|
|
255
|
-
(o == null ? void 0 : o.priceVisible) ?? !0,
|
|
256
|
-
(o == null ? void 0 : o.originalPriceVisible) ?? !0
|
|
257
|
-
), u = u.trim().replace(x, "").slice(0, -5);
|
|
258
|
-
const O = e ?? this.api.getDocumentModifier();
|
|
259
|
-
O.modifyHtml(r.querySelector("img")).setAttribute("width", U.productImageWidth).setAttribute("height", U.productImageWidth), O.modifyHtml(this.currentNode).setInnerHtml(u), e || O.apply(new N("Reordered template"));
|
|
247
|
+
const f = g(s.getOuterHTML()), U = g(o.getOuterHTML());
|
|
248
|
+
p = p.replace("{-{-TEMPLATE_FIRST_LINE-}-}", u ? D : "").replace("{-{-PRODUCT_IMAGE-}-}", C(r.getOuterHTML())).replace("{-{-PRODUCT_NAME-}-}", C(t.getOuterHTML())).replaceAll("{-{-PRODUCT_PRICE-}-}", C(f)).replaceAll("{-{-PRODUCT_ORIGINAL_PRICE-}-}", C(U)).replace("{-{-PRODUCT_QUANTITY-}-}", C(c.getOuterHTML())).replace("{-{-PRODUCT_BUTTON-}-}", C(a.getOuterHTML())), p = p.trim().replace(D, "").slice(0, -5);
|
|
249
|
+
const P = e ?? this.api.getDocumentModifier();
|
|
250
|
+
P.modifyHtml(r.querySelector("img")).setAttribute("width", H.productImageWidth).setAttribute("height", H.productImageWidth), P.modifyHtml(this.currentNode).setInnerHtml(p), e || P.apply(new S("Reordered template"));
|
|
260
251
|
}, 50);
|
|
261
252
|
}
|
|
262
253
|
_updateDataTypeAttributes(e, r) {
|
|
@@ -271,28 +262,28 @@ class se extends $ {
|
|
|
271
262
|
_updateDataNumberAttributes(e, r) {
|
|
272
263
|
if (!this.currentNode)
|
|
273
264
|
return;
|
|
274
|
-
const t = _(this.currentNode), i = (t == null ? void 0 : t.type) ??
|
|
275
|
-
s && r.modifyHtml(s).setAttribute("data-number", n), this.currentNode.querySelectorAll("[data-number]").forEach((
|
|
276
|
-
const
|
|
277
|
-
r.modifyHtml(
|
|
265
|
+
const t = _(this.currentNode), i = (t == null ? void 0 : t.type) ?? d.ITEMS_TYPE.CART_ITEMS, n = B(e, i), s = this.currentNode.closest(".ins-product-td");
|
|
266
|
+
s && r.modifyHtml(s).setAttribute("data-number", n), this.currentNode.querySelectorAll("[data-number]").forEach((c) => {
|
|
267
|
+
const a = c;
|
|
268
|
+
r.modifyHtml(a).setAttribute("data-number", n);
|
|
278
269
|
});
|
|
279
270
|
}
|
|
280
271
|
_reFillTemplate(e) {
|
|
281
272
|
const r = this._getTemplateData(e), t = this.api.getDocumentModifier();
|
|
282
|
-
this._updateImageSrc(r.imageSrc, t), this._updateName(r.name, t), this._updatePrice(r.price, t), this._updateOriginalPrice(r.originalPrice, t), this._updateQuantity(r.quantity, e, t), t.apply(new
|
|
273
|
+
this._updateImageSrc(r.imageSrc, t), this._updateName(r.name, t), this._updatePrice(r.price, t), this._updateOriginalPrice(r.originalPrice, t), this._updateQuantity(r.quantity, e, t), t.apply(new S("Refilled template"));
|
|
283
274
|
}
|
|
284
275
|
_recalculateTrimming() {
|
|
285
|
-
var
|
|
276
|
+
var n;
|
|
286
277
|
if (!this.currentNode)
|
|
287
278
|
return;
|
|
288
|
-
const e = (
|
|
279
|
+
const e = (n = this.currentNode) == null ? void 0 : n.querySelector(`[esd-extension-block-id="${I.NAME}"]`);
|
|
289
280
|
if (!e)
|
|
290
281
|
return;
|
|
291
|
-
const r =
|
|
282
|
+
const r = V(e);
|
|
292
283
|
if (!r)
|
|
293
284
|
return;
|
|
294
|
-
const t = _(this.currentNode), i = (t == null ? void 0 : t.nameTrimming) ?? !0
|
|
295
|
-
this.api.getDocumentModifier().modifyHtml(r).setStyle("overflow", "hidden").setStyle("white-space", i ? "nowrap" : "normal").setStyle("text-overflow", i ? "ellipsis" : "unset").setStyle("max-width",
|
|
285
|
+
const t = _(this.currentNode), i = (t == null ? void 0 : t.nameTrimming) ?? !0;
|
|
286
|
+
this.api.getDocumentModifier().modifyHtml(r).setStyle("overflow", "hidden").setStyle("white-space", i ? "nowrap" : "normal").setStyle("text-overflow", i ? "ellipsis" : "unset").setStyle("max-width", "100%").setStyle("width", "100%").apply(new S("Recalculated trimming after orientation change"));
|
|
296
287
|
}
|
|
297
288
|
_getParagraphFromBlock(e) {
|
|
298
289
|
return e.querySelector("p");
|
|
@@ -309,8 +300,8 @@ class se extends $ {
|
|
|
309
300
|
} else {
|
|
310
301
|
const n = t.match(/([^0-9.,\s]+)/);
|
|
311
302
|
if (n && n[1]) {
|
|
312
|
-
const s = n[1].trim(),
|
|
313
|
-
i = t.replace(
|
|
303
|
+
const s = n[1].trim(), o = new RegExp(`\\s*${this._escapeRegex(s)}\\s*`);
|
|
304
|
+
i = t.replace(o, "").trim();
|
|
314
305
|
}
|
|
315
306
|
}
|
|
316
307
|
return i;
|
|
@@ -324,6 +315,6 @@ class se extends $ {
|
|
|
324
315
|
}
|
|
325
316
|
}
|
|
326
317
|
export {
|
|
327
|
-
|
|
328
|
-
|
|
318
|
+
G as CONTROL_BLOCK_ID,
|
|
319
|
+
te as ItemsBlockControl
|
|
329
320
|
};
|
|
@@ -92,20 +92,15 @@ const t = '<td align="center" class="ins-product-td items-block items-block-v2">
|
|
|
92
92
|
quantity: {
|
|
93
93
|
CART_ITEMS: {
|
|
94
94
|
ATTR: "ins_apr_quantity",
|
|
95
|
-
DEFAULT: "3"
|
|
96
|
-
LEGACY_DEFAULTS: []
|
|
95
|
+
DEFAULT: "3"
|
|
97
96
|
},
|
|
98
97
|
BROWSED_ITEMS: {
|
|
99
98
|
ATTR: "browsed_item_quantity",
|
|
100
|
-
DEFAULT: "
|
|
101
|
-
// Was '7' before SD-149368 corrected it; still tokenize the legacy value so
|
|
102
|
-
// already-saved browsed-items templates keep exporting the merge tag, not literal '7'.
|
|
103
|
-
LEGACY_DEFAULTS: ["7"]
|
|
99
|
+
DEFAULT: "7"
|
|
104
100
|
},
|
|
105
101
|
PURCHASED_ITEMS: {
|
|
106
102
|
ATTR: "purchased_item_quantity",
|
|
107
|
-
DEFAULT: "10"
|
|
108
|
-
LEGACY_DEFAULTS: []
|
|
103
|
+
DEFAULT: "10"
|
|
109
104
|
}
|
|
110
105
|
},
|
|
111
106
|
price: {
|
|
@@ -129,8 +124,8 @@ const t = '<td align="center" class="ins-product-td items-block items-block-v2">
|
|
|
129
124
|
CURRENCY: "browsed_item_productcurrency",
|
|
130
125
|
DEFAULT_PRICE: "1249.99",
|
|
131
126
|
DEFAULT_PRICE_FORMATTED: "1,249.99",
|
|
132
|
-
DEFAULT_SINGLE_PRICE: "
|
|
133
|
-
DEFAULT_SINGLE_PRICE_FORMATTED: "
|
|
127
|
+
DEFAULT_SINGLE_PRICE: "178.57",
|
|
128
|
+
DEFAULT_SINGLE_PRICE_FORMATTED: "178.57",
|
|
134
129
|
DEFAULT_CURRENCY: "USD"
|
|
135
130
|
},
|
|
136
131
|
PURCHASED_ITEMS: {
|
|
@@ -167,8 +162,8 @@ const t = '<td align="center" class="ins-product-td items-block items-block-v2">
|
|
|
167
162
|
CURRENCY: "browsed_item_productcurrency",
|
|
168
163
|
DEFAULT_PRICE: "2049.99",
|
|
169
164
|
DEFAULT_PRICE_FORMATTED: "2,049.99",
|
|
170
|
-
DEFAULT_SINGLE_PRICE: "
|
|
171
|
-
DEFAULT_SINGLE_PRICE_FORMATTED: "
|
|
165
|
+
DEFAULT_SINGLE_PRICE: "292.86",
|
|
166
|
+
DEFAULT_SINGLE_PRICE_FORMATTED: "292.86",
|
|
172
167
|
DEFAULT_CURRENCY: "USD"
|
|
173
168
|
},
|
|
174
169
|
PURCHASED_ITEMS: {
|
|
@@ -219,7 +214,7 @@ const t = '<td align="center" class="ins-product-td items-block items-block-v2">
|
|
|
219
214
|
function a(e, i = 8) {
|
|
220
215
|
return s(1, i + 1).map((_) => `${e}_${_}`);
|
|
221
216
|
}
|
|
222
|
-
function
|
|
217
|
+
function R() {
|
|
223
218
|
const { PAIRS_FOR_EXTENSION: e } = r, i = [];
|
|
224
219
|
return i.push(
|
|
225
220
|
e.imageSrc.CART_ITEMS.ATTR,
|
|
@@ -279,7 +274,7 @@ function T() {
|
|
|
279
274
|
), i;
|
|
280
275
|
}
|
|
281
276
|
const p = E(
|
|
282
|
-
|
|
277
|
+
R(),
|
|
283
278
|
(e) => a(e)
|
|
284
279
|
);
|
|
285
280
|
export {
|
|
@@ -1,49 +1,47 @@
|
|
|
1
1
|
const t = `{-{-TEMPLATE_FIRST_LINE-}-}
|
|
2
|
-
<table class="es-left ins-product-wrapper ins-product-cart" width="100%" cellspacing="0" cellpadding="0"
|
|
2
|
+
<table class="es-left ins-product-wrapper ins-product-cart" width="100%" cellspacing="0" cellpadding="0">
|
|
3
3
|
<tbody>
|
|
4
4
|
<tr>
|
|
5
5
|
<td style="padding: 16px 9px;">
|
|
6
|
-
<table class="es-left esdev-disable-select" cellspacing="0" cellpadding="0" align="left" width="100%"
|
|
6
|
+
<table class="es-left esdev-disable-select" cellspacing="0" cellpadding="0" align="left" width="100%">
|
|
7
7
|
<tbody>
|
|
8
8
|
<tr>
|
|
9
|
-
<td class="product-image-class es-
|
|
9
|
+
<td class="product-image-class es-p10r" data-slot-1>
|
|
10
10
|
<table width="100%">
|
|
11
11
|
<tbody>
|
|
12
12
|
{-{-PRODUCT_IMAGE-}-}
|
|
13
13
|
</tbody>
|
|
14
14
|
</table>
|
|
15
15
|
</td>
|
|
16
|
-
|
|
17
|
-
max-width only so a fixed-layout table can still shrink the column in narrow structures -->
|
|
18
|
-
<td class="product-name-class es-p5l es-p5r" data-slot-2 style="max-width: 130px;">
|
|
16
|
+
<td class="product-name-class es-p10l es-p10r" data-slot-2>
|
|
19
17
|
<table width="100%" style="table-layout: fixed;">
|
|
20
18
|
<tbody>
|
|
21
19
|
{-{-PRODUCT_NAME-}-}
|
|
22
20
|
</tbody>
|
|
23
21
|
</table>
|
|
24
22
|
</td>
|
|
25
|
-
<td class="product-quantity-class es-
|
|
23
|
+
<td class="product-quantity-class es-p10l es-p10r" data-slot-3>
|
|
26
24
|
<table width="100%">
|
|
27
25
|
<tbody>
|
|
28
26
|
{-{-PRODUCT_QUANTITY-}-}
|
|
29
27
|
</tbody>
|
|
30
28
|
</table>
|
|
31
29
|
</td>
|
|
32
|
-
<td class="product-price-class horizontal-price" data-slot-4>
|
|
30
|
+
<td class="product-price-class horizontal-price es-p10l es-p10r" data-slot-4>
|
|
33
31
|
<table width="100%">
|
|
34
32
|
<tbody>
|
|
35
33
|
{-{-PRODUCT_PRICE-}-}
|
|
36
34
|
</tbody>
|
|
37
35
|
</table>
|
|
38
36
|
</td>
|
|
39
|
-
<td class="product-original-price-class horizontal-price" data-slot-5>
|
|
37
|
+
<td class="product-original-price-class horizontal-price es-p10l es-p10r" data-slot-5>
|
|
40
38
|
<table width="100%">
|
|
41
39
|
<tbody>
|
|
42
40
|
{-{-PRODUCT_ORIGINAL_PRICE-}-}
|
|
43
41
|
</tbody>
|
|
44
42
|
</table>
|
|
45
43
|
</td>
|
|
46
|
-
<td class="product-price-container vertical-price" data-slot-4 style="display: none;">
|
|
44
|
+
<td class="product-price-container vertical-price es-p10l es-p10r" data-slot-4 style="display: none;">
|
|
47
45
|
<table class="product-price-class" width="100%" data-slot-4>
|
|
48
46
|
<tbody>
|
|
49
47
|
{-{-PRODUCT_PRICE-}-}
|
|
@@ -56,7 +54,7 @@ const t = `{-{-TEMPLATE_FIRST_LINE-}-}
|
|
|
56
54
|
</tbody>
|
|
57
55
|
</table>
|
|
58
56
|
</td>
|
|
59
|
-
<td class="product-button-class es-
|
|
57
|
+
<td class="product-button-class es-p10l" data-slot-6>
|
|
60
58
|
<table width="100%">
|
|
61
59
|
<tbody>
|
|
62
60
|
{-{-PRODUCT_BUTTON-}-}
|