@shopgate/pwa-common-commerce 7.33.3 → 7.34.0-beta.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.
|
@@ -10,6 +10,7 @@ const IMAGE = 'image';
|
|
|
10
10
|
const PRICE = 'price';
|
|
11
11
|
const DISCOUNT = 'discount';
|
|
12
12
|
const FAVORITES_BUTTON = 'favorites-button';
|
|
13
|
+
const ADD_TO_CART = 'add-to-cart';
|
|
13
14
|
const NAME = 'name';
|
|
14
15
|
const MANUFACTURER = 'manufacturer';
|
|
15
16
|
const AVAILABILITY = 'availability';
|
|
@@ -23,6 +24,12 @@ export const CATEGORY_LIST = `${CATEGORY}.${LIST}`;
|
|
|
23
24
|
export const CATEGORY_LIST_BEFORE = `${CATEGORY}.${LIST}.${BEFORE}`;
|
|
24
25
|
export const CATEGORY_LIST_AFTER = `${CATEGORY}.${LIST}.${AFTER}`;
|
|
25
26
|
export const CATEGORY_ITEM = `${CATEGORY}.${ITEM}`;
|
|
27
|
+
export const CATEGORY_SHOW_ALL_PRODUCTS = `${CATEGORY}.show-all-products`;
|
|
28
|
+
export const CATEGORY_GRID_ITEM = `${CATEGORY}.grid.${ITEM}`;
|
|
29
|
+
export const CATEGORY_GRID_SHOW_ALL_PRODUCTS = `${CATEGORY}.grid.show-all-products`;
|
|
30
|
+
export const CATEGORY_CHIPS = `${CATEGORY}.chips`;
|
|
31
|
+
export const CATEGORY_CHIPS_ITEM = `${CATEGORY}.chips.${ITEM}`;
|
|
32
|
+
export const CATEGORY_CHIPS_SHOW_ALL_PRODUCTS = `${CATEGORY}.chips.show-all-products`;
|
|
26
33
|
export const PRODUCT_LIST = `${PRODUCT}.${LIST}`;
|
|
27
34
|
export const PRODUCT_LIST_BEFORE = `${PRODUCT}.${LIST}.${BEFORE}`;
|
|
28
35
|
export const PRODUCT_LIST_AFTER = `${PRODUCT}.${LIST}.${AFTER}`;
|
|
@@ -38,6 +45,9 @@ export const PRODUCT_ITEM_DISCOUNT_AFTER = `${PRODUCT}-${ITEM}.${DISCOUNT}.${AFT
|
|
|
38
45
|
export const PRODUCT_ITEM_FAVORITES_BUTTON_BEFORE = `${PRODUCT}-${ITEM}.${FAVORITES_BUTTON}.${BEFORE}`;
|
|
39
46
|
export const PRODUCT_ITEM_FAVORITES_BUTTON = `${PRODUCT}-${ITEM}.${FAVORITES_BUTTON}`;
|
|
40
47
|
export const PRODUCT_ITEM_FAVORITES_BUTTON_AFTER = `${PRODUCT}-${ITEM}.${FAVORITES_BUTTON}.${AFTER}`;
|
|
48
|
+
export const PRODUCT_ITEM_ADD_TO_CART_BEFORE = `${PRODUCT}-${ITEM}.${ADD_TO_CART}.${BEFORE}`;
|
|
49
|
+
export const PRODUCT_ITEM_ADD_TO_CART = `${PRODUCT}-${ITEM}.${ADD_TO_CART}`;
|
|
50
|
+
export const PRODUCT_ITEM_ADD_TO_CART_AFTER = `${PRODUCT}-${ITEM}.${ADD_TO_CART}.${AFTER}`;
|
|
41
51
|
export const PRODUCT_ITEM_NAME_BEFORE = `${PRODUCT}-${ITEM}.${NAME}.${BEFORE}`;
|
|
42
52
|
export const PRODUCT_ITEM_NAME = `${PRODUCT}-${ITEM}.${NAME}`;
|
|
43
53
|
export const PRODUCT_ITEM_NAME_AFTER = `${PRODUCT}-${ITEM}.${NAME}.${AFTER}`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shopgate/pwa-common-commerce",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.34.0-beta.1",
|
|
4
4
|
"description": "Commerce library for the Shopgate Connect PWA.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Shopgate <support@shopgate.com>",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"reselect": "^4.1.8"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@shopgate/pwa-common": "7.
|
|
27
|
-
"@shopgate/pwa-core": "7.
|
|
26
|
+
"@shopgate/pwa-common": "7.34.0-beta.1",
|
|
27
|
+
"@shopgate/pwa-core": "7.34.0-beta.1",
|
|
28
28
|
"@types/lodash": "^4.17.25",
|
|
29
29
|
"lodash": "^4.18.1",
|
|
30
30
|
"react": "^17.0.2",
|
|
@@ -8,7 +8,9 @@ const GALLERY = 'gallery';
|
|
|
8
8
|
const MEDIA = 'media';
|
|
9
9
|
const HEADER = 'header';
|
|
10
10
|
const VARIANT_SELECT = 'variant-select';
|
|
11
|
+
const VARIANT_SELECT_SHEET = 'variant-select-sheet';
|
|
11
12
|
const PICKER = 'picker';
|
|
13
|
+
const CHARACTERISTIC = 'characteristic';
|
|
12
14
|
const OPTIONS = 'options';
|
|
13
15
|
const SWATCHES = 'swatches';
|
|
14
16
|
const SWATCH = 'swatch';
|
|
@@ -18,6 +20,7 @@ const REVIEWS = 'reviews';
|
|
|
18
20
|
const TAX_DISCLAIMER = 'tax-disclaimer';
|
|
19
21
|
const CTAS = 'ctas';
|
|
20
22
|
const FAVORITES = 'favorites';
|
|
23
|
+
const SHARE = 'share';
|
|
21
24
|
const ADD_TO_CART = 'add-to-cart';
|
|
22
25
|
const RATING = 'rating';
|
|
23
26
|
const NAME = 'name';
|
|
@@ -33,6 +36,7 @@ const MAP_PRICE = 'map-price';
|
|
|
33
36
|
const ORDER_QUANTITY = 'order-quantity';
|
|
34
37
|
const EFFECTIVITY_DATES = 'effectivity-dates';
|
|
35
38
|
const UNIT_QUANTITY_PICKER = 'unit-quantity-picker';
|
|
39
|
+
const QUANTITY_PICKER = 'quantity-picker';
|
|
36
40
|
const TIERS = 'tiers';
|
|
37
41
|
const ADD_TO_CART_BAR = 'add-to-cart-bar';
|
|
38
42
|
const DISCOUNT = 'discount';
|
|
@@ -72,6 +76,9 @@ export const PRODUCT_CTAS_AFTER = `${PRODUCT}.${CTAS}.${AFTER}`;
|
|
|
72
76
|
export const PRODUCT_CTAS_FAVORITES_BEFORE = `${PRODUCT}.${CTAS}.${FAVORITES}.${BEFORE}`;
|
|
73
77
|
export const PRODUCT_CTAS_FAVORITES = `${PRODUCT}.${CTAS}.${FAVORITES}`;
|
|
74
78
|
export const PRODUCT_CTAS_FAVORITES_AFTER = `${PRODUCT}.${CTAS}.${FAVORITES}.${AFTER}`;
|
|
79
|
+
export const PRODUCT_CTAS_SHARE_BEFORE = `${PRODUCT}.${CTAS}.${SHARE}.${BEFORE}`;
|
|
80
|
+
export const PRODUCT_CTAS_SHARE = `${PRODUCT}.${CTAS}.${SHARE}`;
|
|
81
|
+
export const PRODUCT_CTAS_SHARE_AFTER = `${PRODUCT}.${CTAS}.${SHARE}.${AFTER}`;
|
|
75
82
|
export const PRODUCT_CTAS_ADD_TO_CART_BEFORE = `${PRODUCT}.${CTAS}.${ADD_TO_CART}.${BEFORE}`;
|
|
76
83
|
export const PRODUCT_CTAS_ADD_TO_CART = `${PRODUCT}.${CTAS}.${ADD_TO_CART}`;
|
|
77
84
|
export const PRODUCT_CTAS_ADD_TO_CART_AFTER = `${PRODUCT}.${CTAS}.${ADD_TO_CART}.${AFTER}`;
|
|
@@ -137,6 +144,10 @@ export const PRODUCT_TIERS_AFTER = `${PRODUCT}.${TIERS}.${AFTER}`;
|
|
|
137
144
|
export const PRODUCT_VARIANT_SELECT_BEFORE = `${PRODUCT}.${VARIANT_SELECT}.${BEFORE}`;
|
|
138
145
|
export const PRODUCT_VARIANT_SELECT = `${PRODUCT}.${VARIANT_SELECT}`;
|
|
139
146
|
export const PRODUCT_VARIANT_SELECT_AFTER = `${PRODUCT}.${VARIANT_SELECT}.${AFTER}`;
|
|
147
|
+
export const PRODUCT_VARIANT_SELECT_CHARACTERISTIC = `${PRODUCT}.${VARIANT_SELECT}.${CHARACTERISTIC}`;
|
|
148
|
+
export const PRODUCT_VARIANT_SELECT_SHEET_BEFORE = `${PRODUCT}.${VARIANT_SELECT_SHEET}.${BEFORE}`;
|
|
149
|
+
export const PRODUCT_VARIANT_SELECT_SHEET = `${PRODUCT}.${VARIANT_SELECT_SHEET}`;
|
|
150
|
+
export const PRODUCT_VARIANT_SELECT_SHEET_AFTER = `${PRODUCT}.${VARIANT_SELECT_SHEET}.${AFTER}`;
|
|
140
151
|
|
|
141
152
|
// VARIANT SELECT PICKER AVAILABILITY
|
|
142
153
|
export const PRODUCT_VARIANT_SELECT_PICKER_AVAILABILITY_BEFORE = `${PRODUCT}.${VARIANT_SELECT}.${PICKER}.${AVAILABILITY}.${BEFORE}`;
|
|
@@ -184,6 +195,9 @@ export const PRODUCT_TAX_DISCLAIMER_AFTER = `${PRODUCT}.${TAX_DISCLAIMER}.${AFTE
|
|
|
184
195
|
export const PRODUCT_ADD_TO_CART_BAR_BEFORE = `${PRODUCT}.${ADD_TO_CART_BAR}.${BEFORE}`;
|
|
185
196
|
export const PRODUCT_ADD_TO_CART_BAR = `${PRODUCT}.${ADD_TO_CART_BAR}`;
|
|
186
197
|
export const PRODUCT_ADD_TO_CART_BAR_AFTER = `${PRODUCT}.${ADD_TO_CART_BAR}.${AFTER}`;
|
|
198
|
+
export const PRODUCT_ADD_TO_CART_BAR_QUANTITY_PICKER_BEFORE = `${PRODUCT}.${ADD_TO_CART_BAR}.${QUANTITY_PICKER}.${BEFORE}`;
|
|
199
|
+
export const PRODUCT_ADD_TO_CART_BAR_QUANTITY_PICKER = `${PRODUCT}.${ADD_TO_CART_BAR}.${QUANTITY_PICKER}`;
|
|
200
|
+
export const PRODUCT_ADD_TO_CART_BAR_QUANTITY_PICKER_AFTER = `${PRODUCT}.${ADD_TO_CART_BAR}.${QUANTITY_PICKER}.${AFTER}`;
|
|
187
201
|
|
|
188
202
|
// MAP PRICE
|
|
189
203
|
export const PRODUCT_MAP_PRICE_BEFORE = `${PRODUCT}.${MAP_PRICE}.${BEFORE}`;
|
|
@@ -17,7 +17,7 @@ import { getProductRelationsByHash } from "../selectors/relations";
|
|
|
17
17
|
import { checkoutSucceeded$ } from "../../checkout/streams";
|
|
18
18
|
import expireProductById from "../action-creators/expireProductById";
|
|
19
19
|
import { ITEM_PATTERN, NOT_AVAILABLE_EFFECTIVITY_DATES } from "../constants";
|
|
20
|
-
import { getProductName } from "../selectors/product";
|
|
20
|
+
import { getProductName, getProductDataById } from "../selectors/product";
|
|
21
21
|
const fetchPDPData$ = productWillEnter$.merge(pdpDataNeedsRefresh$);
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -28,7 +28,8 @@ function product(subscribe) {
|
|
|
28
28
|
const processProduct$ = productReceived$.merge(cachedProductReceived$);
|
|
29
29
|
subscribe(fetchPDPData$, ({
|
|
30
30
|
action,
|
|
31
|
-
dispatch
|
|
31
|
+
dispatch,
|
|
32
|
+
getState
|
|
32
33
|
}) => {
|
|
33
34
|
const {
|
|
34
35
|
productId
|
|
@@ -37,7 +38,13 @@ function product(subscribe) {
|
|
|
37
38
|
productId: variantId
|
|
38
39
|
} = action.route.state;
|
|
39
40
|
const id = variantId || hex2bin(productId);
|
|
41
|
+
const knownProduct = getState ? getProductDataById(getState(), {
|
|
42
|
+
productId: id
|
|
43
|
+
}) : null;
|
|
40
44
|
dispatch(fetchProduct(id));
|
|
45
|
+
if (knownProduct?.active && knownProduct.flags?.hasVariants) {
|
|
46
|
+
dispatch(fetchProductVariants(id));
|
|
47
|
+
}
|
|
41
48
|
dispatch(fetchProductDescription(id));
|
|
42
49
|
dispatch(fetchProductProperties(id));
|
|
43
50
|
dispatch(fetchProductImages(id));
|
|
@@ -7,4 +7,13 @@ const SUGGESTION_ITEM = 'suggestion-item';
|
|
|
7
7
|
const SUGGESTION_ITEM_CONTENT = 'suggestion-item-content';
|
|
8
8
|
export const SEARCH_SUGGESTIONS = `${SEARCH}.${SUGGESTIONS}`;
|
|
9
9
|
export const SEARCH_SUGGESTION_ITEM = `${SEARCH}.${SUGGESTION_ITEM}`;
|
|
10
|
-
export const SEARCH_SUGGESTION_ITEM_CONTENT = `${SEARCH}.${SUGGESTION_ITEM_CONTENT}`;
|
|
10
|
+
export const SEARCH_SUGGESTION_ITEM_CONTENT = `${SEARCH}.${SUGGESTION_ITEM_CONTENT}`;
|
|
11
|
+
export const PERSISTENT_SEARCH_BAR = 'persistent-search-bar';
|
|
12
|
+
export const PERSISTENT_SEARCH_BAR_BEFORE = `${PERSISTENT_SEARCH_BAR}.before`;
|
|
13
|
+
export const PERSISTENT_SEARCH_BAR_AFTER = `${PERSISTENT_SEARCH_BAR}.after`;
|
|
14
|
+
export const PERSISTENT_SEARCH_BAR_INPUT_WRAPPER = `${PERSISTENT_SEARCH_BAR}.input.wrapper`;
|
|
15
|
+
export const SEARCH_OVERLAY = `${SEARCH}.overlay`;
|
|
16
|
+
export const SEARCH_OVERLAY_HEADER = `${SEARCH_OVERLAY}.header`;
|
|
17
|
+
export const SEARCH_OVERLAY_HISTORY = `${SEARCH_OVERLAY}.history`;
|
|
18
|
+
export const SEARCH_OVERLAY_RESULTS = `${SEARCH_OVERLAY}.results`;
|
|
19
|
+
export const SEARCH_OVERLAY_NO_RESULTS = `${SEARCH_OVERLAY}.no-results`;
|