@shopgate/pwa-common-commerce 7.30.0-alpha.7 → 7.30.0-alpha.8

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.
Files changed (315) hide show
  1. package/cart/action-creators/addCouponsToCart.js +9 -2
  2. package/cart/action-creators/addProductsToCart.js +9 -2
  3. package/cart/action-creators/deleteCouponsFromCart.js +9 -2
  4. package/cart/action-creators/deleteProductsFromCart.js +9 -2
  5. package/cart/action-creators/errorAddCouponsToCart.js +10 -2
  6. package/cart/action-creators/errorAddProductsToCart.js +10 -2
  7. package/cart/action-creators/errorCart.js +8 -2
  8. package/cart/action-creators/errorDeleteCouponsFromCart.js +10 -2
  9. package/cart/action-creators/errorDeleteProductsFromCart.js +10 -2
  10. package/cart/action-creators/errorUpdateProductsInCart.js +10 -2
  11. package/cart/action-creators/receiveCart.js +9 -2
  12. package/cart/action-creators/requestCart.js +8 -2
  13. package/cart/action-creators/setCartProductPendingCount.js +9 -2
  14. package/cart/action-creators/setCouponFieldError.js +9 -2
  15. package/cart/action-creators/setCouponFieldValue.js +9 -2
  16. package/cart/action-creators/setFulfillmentSlot.js +9 -2
  17. package/cart/action-creators/successAddCouponsToCart.js +10 -2
  18. package/cart/action-creators/successAddProductsToCart.js +8 -2
  19. package/cart/action-creators/successDeleteCouponsFromCart.js +8 -2
  20. package/cart/action-creators/successDeleteProductsFromCart.js +8 -2
  21. package/cart/action-creators/successUpdateProductsInCart.js +8 -2
  22. package/cart/action-creators/updateProductsInCart.js +9 -2
  23. package/cart/actions/addCouponsToCart.js +52 -8
  24. package/cart/actions/addProductsToCart.js +80 -11
  25. package/cart/actions/deleteCouponsFromCart.js +39 -6
  26. package/cart/actions/deleteProductsFromCart.js +38 -6
  27. package/cart/actions/fetchCart.js +52 -8
  28. package/cart/actions/updateProductsInCart.js +44 -6
  29. package/cart/constants/PipelineErrors.js +6 -1
  30. package/cart/constants/Pipelines.js +6 -1
  31. package/cart/constants/Portals.js +85 -1
  32. package/cart/constants/index.js +39 -2
  33. package/cart/helpers/config.js +47 -2
  34. package/cart/helpers/createPipelineErrorList.js +30 -4
  35. package/cart/helpers/fulfillmentSlots.js +37 -4
  36. package/cart/helpers/index.js +14 -3
  37. package/cart/helpers/quantity.js +23 -4
  38. package/cart/helpers/shipping.js +57 -2
  39. package/cart/helpers/tax.js +26 -2
  40. package/cart/index.js +25 -5
  41. package/cart/mock.js +130 -1
  42. package/cart/reducers/couponField.js +30 -2
  43. package/cart/reducers/data.js +98 -6
  44. package/cart/reducers/index.js +7 -1
  45. package/cart/selectors/index.js +181 -31
  46. package/cart/selectors/spec.js +189 -2
  47. package/cart/streams/index.js +176 -29
  48. package/cart/subscriptions/index.js +307 -30
  49. package/category/action-creators/errorCategory.js +10 -2
  50. package/category/action-creators/errorCategoryChildren.js +9 -2
  51. package/category/action-creators/errorRootCategories.js +8 -2
  52. package/category/action-creators/receiveCategory.js +12 -2
  53. package/category/action-creators/receiveCategoryChildren.js +10 -2
  54. package/category/action-creators/receiveRootCategories.js +9 -2
  55. package/category/action-creators/requestCategory.js +9 -2
  56. package/category/action-creators/requestCategoryChildren.js +9 -2
  57. package/category/action-creators/requestRootCategories.js +8 -2
  58. package/category/actions/fetchCategory.js +47 -5
  59. package/category/actions/fetchCategoryChildren.js +30 -2
  60. package/category/actions/fetchCategoryOrRootCategories.js +16 -2
  61. package/category/actions/fetchCategoryProducts.js +36 -2
  62. package/category/actions/fetchRootCategories.js +31 -2
  63. package/category/actions/getCategory.js +10 -2
  64. package/category/constants/Pipelines.js +3 -1
  65. package/category/constants/Portals.js +56 -3
  66. package/category/constants/index.js +17 -2
  67. package/category/helpers/index.js +27 -3
  68. package/category/index.js +19 -5
  69. package/category/mock.js +176 -1
  70. package/category/reducers/categoriesById.js +65 -3
  71. package/category/reducers/childrenByCategoryId.js +55 -4
  72. package/category/reducers/helpers/handleCategoryCollection.js +24 -3
  73. package/category/reducers/helpers/handleReceivedCategories.js +3 -1
  74. package/category/reducers/index.js +12 -2
  75. package/category/reducers/rootCategories.js +31 -2
  76. package/category/selectors/index.js +115 -16
  77. package/category/streams/index.js +82 -4
  78. package/category/subscriptions/index.js +96 -3
  79. package/checkout/action-creators/successCheckout.js +9 -2
  80. package/checkout/actions/fetchCheckoutUrl.js +28 -3
  81. package/checkout/constants/Pipelines.js +1 -1
  82. package/checkout/constants/index.js +3 -2
  83. package/checkout/index.js +11 -4
  84. package/checkout/selectors/index.js +7 -2
  85. package/checkout/streams/index.js +8 -2
  86. package/checkout/subscriptions/index.js +35 -6
  87. package/favorites/action-creators/index.js +206 -24
  88. package/favorites/actions/addFavorites.js +41 -3
  89. package/favorites/actions/addFavoritesList.js +27 -2
  90. package/favorites/actions/fetchFavoriteIds.js +49 -5
  91. package/favorites/actions/fetchFavorites.js +60 -5
  92. package/favorites/actions/fetchFavoritesList.js +47 -3
  93. package/favorites/actions/fetchFavoritesListsWithItems.js +32 -3
  94. package/favorites/actions/getFavorites.js +6 -2
  95. package/favorites/actions/removeFavorites.js +32 -3
  96. package/favorites/actions/removeFavoritesList.js +24 -2
  97. package/favorites/actions/toggleFavorites.js +68 -10
  98. package/favorites/actions/updateFavorites.js +39 -3
  99. package/favorites/actions/updateFavoritesList.js +26 -2
  100. package/favorites/constants/Pipelines.js +9 -1
  101. package/favorites/constants/Portals.js +32 -4
  102. package/favorites/constants/index.js +37 -5
  103. package/favorites/index.js +14 -4
  104. package/favorites/mock.js +89 -4
  105. package/favorites/reducers/index.js +7 -1
  106. package/favorites/reducers/lists.js +74 -2
  107. package/favorites/reducers/products.js +231 -24
  108. package/favorites/selectors/index.js +188 -24
  109. package/favorites/streams/index.js +135 -23
  110. package/favorites/streams/spec.js +517 -8
  111. package/favorites/subscriptions/index.js +260 -25
  112. package/favorites/subscriptions/spec.js +701 -28
  113. package/filter/action-creators/errorFilters.js +9 -2
  114. package/filter/action-creators/index.js +4 -1
  115. package/filter/action-creators/receiveFilters.js +10 -2
  116. package/filter/action-creators/requestFilters.js +9 -2
  117. package/filter/action-creators/updateFilters.js +8 -2
  118. package/filter/actions/fetchFilters.js +46 -3
  119. package/filter/actions/getFilters.js +6 -2
  120. package/filter/actions/helpers/buildFilterParams.js +34 -2
  121. package/filter/actions/helpers/buildRequestFilters.js +35 -2
  122. package/filter/actions/helpers/processFilters.js +10 -2
  123. package/filter/actions/helpers/processParams.js +26 -2
  124. package/filter/constants/Pipelines.js +1 -1
  125. package/filter/constants/Portals.js +39 -3
  126. package/filter/constants/index.js +8 -1
  127. package/filter/index.js +12 -4
  128. package/filter/reducers/helpers/enrichFilters.js +11 -3
  129. package/filter/reducers/index.js +5 -1
  130. package/filter/reducers/resultsByHash.js +43 -3
  131. package/filter/selectors/index.js +47 -6
  132. package/filter/streams/index.js +30 -1
  133. package/filter/subscriptions/index.js +34 -2
  134. package/market/constants/Portals.js +22 -4
  135. package/market/constants/index.js +2 -1
  136. package/market/helpers/showReturnPolicy.js +3 -1
  137. package/market/helpers/showTaxDisclaimer.js +3 -1
  138. package/market/index.js +6 -2
  139. package/orders/constants.js +2 -1
  140. package/package.json +3 -3
  141. package/product/action-creators/deleteProductsByIds.js +10 -2
  142. package/product/action-creators/errorProduct.js +10 -2
  143. package/product/action-creators/errorProductDescription.js +10 -2
  144. package/product/action-creators/errorProductImages.js +10 -2
  145. package/product/action-creators/errorProductMedia.js +10 -2
  146. package/product/action-creators/errorProductOptions.js +10 -2
  147. package/product/action-creators/errorProductProperties.js +10 -2
  148. package/product/action-creators/errorProductRelations.js +9 -2
  149. package/product/action-creators/errorProductShipping.js +10 -2
  150. package/product/action-creators/errorProductVariants.js +10 -2
  151. package/product/action-creators/errorProducts.js +9 -2
  152. package/product/action-creators/expireProductById.js +10 -2
  153. package/product/action-creators/expireProductData.js +11 -2
  154. package/product/action-creators/expireProductsByHash.js +9 -2
  155. package/product/action-creators/productNotAvailable.js +10 -2
  156. package/product/action-creators/provideProduct.js +9 -2
  157. package/product/action-creators/receiveProduct.js +10 -2
  158. package/product/action-creators/receiveProductCached.js +9 -2
  159. package/product/action-creators/receiveProductDescription.js +10 -2
  160. package/product/action-creators/receiveProductImages.js +10 -2
  161. package/product/action-creators/receiveProductMedia.js +10 -2
  162. package/product/action-creators/receiveProductOptions.js +10 -2
  163. package/product/action-creators/receiveProductProperties.js +10 -2
  164. package/product/action-creators/receiveProductRelations.js +12 -2
  165. package/product/action-creators/receiveProductShipping.js +10 -2
  166. package/product/action-creators/receiveProductVariants.js +10 -2
  167. package/product/action-creators/receiveProducts.js +16 -2
  168. package/product/action-creators/receiveProductsCached.js +9 -2
  169. package/product/action-creators/refreshExpiredPDPData.js +8 -2
  170. package/product/action-creators/requestProduct.js +10 -2
  171. package/product/action-creators/requestProductDescription.js +9 -2
  172. package/product/action-creators/requestProductImages.js +9 -2
  173. package/product/action-creators/requestProductMedia.js +9 -2
  174. package/product/action-creators/requestProductOptions.js +9 -2
  175. package/product/action-creators/requestProductProperties.js +9 -2
  176. package/product/action-creators/requestProductRelations.js +10 -2
  177. package/product/action-creators/requestProductShipping.js +9 -2
  178. package/product/action-creators/requestProductVariants.js +9 -2
  179. package/product/action-creators/requestProducts.js +9 -2
  180. package/product/action-creators/setProductId.js +9 -2
  181. package/product/action-creators/setProductQuantity.js +9 -2
  182. package/product/action-creators/setProductVariantId.js +9 -2
  183. package/product/actions/changeSortOrder.js +21 -2
  184. package/product/actions/fetchHighlightProducts.js +18 -2
  185. package/product/actions/fetchLiveshoppingProducts.js +14 -2
  186. package/product/actions/fetchProduct.js +52 -3
  187. package/product/actions/fetchProductDescription.js +30 -2
  188. package/product/actions/fetchProductImages.js +31 -2
  189. package/product/actions/fetchProductMedia.js +35 -2
  190. package/product/actions/fetchProductOptions.js +31 -2
  191. package/product/actions/fetchProductProperties.js +30 -2
  192. package/product/actions/fetchProductRelations.js +63 -2
  193. package/product/actions/fetchProductShipping.js +31 -2
  194. package/product/actions/fetchProductVariants.js +31 -2
  195. package/product/actions/fetchProducts.js +189 -17
  196. package/product/actions/fetchProductsById.js +68 -8
  197. package/product/actions/fetchProductsByQuery.js +102 -18
  198. package/product/actions/getHighlightProducts.js +6 -2
  199. package/product/actions/getLiveshoppingProducts.js +6 -2
  200. package/product/actions/getProduct.js +6 -2
  201. package/product/actions/getProductDescription.js +6 -2
  202. package/product/actions/getProductImages.js +6 -2
  203. package/product/actions/getProductOptions.js +6 -2
  204. package/product/actions/getProductProperties.js +6 -2
  205. package/product/actions/getProductRelations.js +6 -2
  206. package/product/actions/getProductShipping.js +6 -2
  207. package/product/actions/getProductVariants.js +6 -2
  208. package/product/actions/getProducts.js +6 -2
  209. package/product/actions/getProductsById.js +6 -2
  210. package/product/actions/getProductsByQuery.js +6 -2
  211. package/product/actions/processProductFlags.js +35 -3
  212. package/product/actions/updateMetadata.js +17 -2
  213. package/product/collections/ProductImageFormats.js +48 -8
  214. package/product/collections/index.js +1 -1
  215. package/product/constants/Pipelines.js +12 -1
  216. package/product/constants/Portals.js +200 -33
  217. package/product/constants/index.js +90 -18
  218. package/product/helpers/index.js +61 -8
  219. package/product/index.js +36 -6
  220. package/product/mock.js +1002 -2
  221. package/product/reducers/descriptionsByProductId.js +54 -5
  222. package/product/reducers/helpers/formatOptions.js +17 -2
  223. package/product/reducers/helpers/handleProductCollection.js +19 -2
  224. package/product/reducers/imagesByProductId.js +51 -4
  225. package/product/reducers/index.js +23 -1
  226. package/product/reducers/mediaByProductId.js +55 -3
  227. package/product/reducers/optionsByProductId.js +41 -2
  228. package/product/reducers/productRelationsByHash.js +43 -2
  229. package/product/reducers/productsById.js +122 -7
  230. package/product/reducers/propertiesByProductId.js +48 -2
  231. package/product/reducers/resultsByHash.js +125 -9
  232. package/product/reducers/shippingByProductId.js +37 -2
  233. package/product/reducers/variantsByProductId.js +56 -2
  234. package/product/selectors/options.js +90 -13
  235. package/product/selectors/page.js +62 -13
  236. package/product/selectors/price.js +81 -18
  237. package/product/selectors/product.js +549 -59
  238. package/product/selectors/product.mock.js +327 -12
  239. package/product/selectors/relations.js +35 -5
  240. package/product/selectors/variants.js +91 -15
  241. package/product/streams/index.js +167 -13
  242. package/product/subscriptions/index.js +210 -4
  243. package/reviews/action-creators/errorProductReviews.js +9 -2
  244. package/reviews/action-creators/errorReviews.js +9 -2
  245. package/reviews/action-creators/errorSubmitReview.js +9 -2
  246. package/reviews/action-creators/errorUserReview.js +9 -2
  247. package/reviews/action-creators/flushUserReview.js +8 -2
  248. package/reviews/action-creators/receiveProductReviews.js +11 -2
  249. package/reviews/action-creators/receiveReviews.js +12 -2
  250. package/reviews/action-creators/receiveSubmitReview.js +9 -2
  251. package/reviews/action-creators/receiveUserReview.js +10 -2
  252. package/reviews/action-creators/requestProductReviews.js +10 -2
  253. package/reviews/action-creators/requestReviews.js +9 -2
  254. package/reviews/action-creators/requestSubmitReview.js +9 -2
  255. package/reviews/action-creators/requestUserReview.js +9 -2
  256. package/reviews/action-creators/resetSubmittedReview.js +9 -2
  257. package/reviews/action-creators/spec.js +40 -1
  258. package/reviews/actions/fetchProductReviews.js +37 -2
  259. package/reviews/actions/fetchReviews.js +38 -2
  260. package/reviews/actions/fetchUserReview.js +31 -2
  261. package/reviews/actions/flushUserReview.js +5 -1
  262. package/reviews/actions/getProductReviews.js +6 -2
  263. package/reviews/actions/getUserReview.js +6 -2
  264. package/reviews/actions/spec.js +241 -4
  265. package/reviews/actions/submitReview.js +63 -3
  266. package/reviews/constants/Pipelines.js +4 -1
  267. package/reviews/constants/Portals.js +4 -1
  268. package/reviews/constants/index.js +26 -7
  269. package/reviews/index.js +15 -4
  270. package/reviews/mock.js +172 -11
  271. package/reviews/reducers/index.js +11 -1
  272. package/reviews/reducers/mock.js +14 -2
  273. package/reviews/reducers/reviewsByHash.js +52 -6
  274. package/reviews/reducers/reviewsById.js +27 -2
  275. package/reviews/reducers/reviewsByProductId.js +47 -2
  276. package/reviews/reducers/spec.js +211 -2
  277. package/reviews/reducers/userReviewsByProductId.js +68 -2
  278. package/reviews/selectors/index.js +123 -19
  279. package/reviews/selectors/mock.js +100 -1
  280. package/reviews/selectors/spec.js +100 -1
  281. package/reviews/streams/index.js +37 -5
  282. package/reviews/streams/spec.js +25 -1
  283. package/reviews/subscriptions/index.js +27 -2
  284. package/scanner/action-creators/errorHandleScanner.js +11 -2
  285. package/scanner/action-creators/scannerFinished.js +11 -2
  286. package/scanner/action-creators/startScanner.js +8 -2
  287. package/scanner/action-creators/successHandleScanner.js +11 -2
  288. package/scanner/actions/handleBarCode.js +22 -2
  289. package/scanner/actions/handleNoResults.js +23 -2
  290. package/scanner/actions/handleQrCode.js +116 -6
  291. package/scanner/actions/handleSearch.js +33 -2
  292. package/scanner/constants/Portals.js +22 -1
  293. package/scanner/constants/index.js +17 -1
  294. package/scanner/helpers/index.js +115 -5
  295. package/scanner/index.js +19 -5
  296. package/scanner/streams/index.js +36 -1
  297. package/scanner/subscriptions/index.js +78 -8
  298. package/search/action-creators/errorSearchResults.js +10 -2
  299. package/search/action-creators/receiveSearchResults.js +11 -2
  300. package/search/action-creators/receiveSearchSuggestions.js +10 -2
  301. package/search/action-creators/requestSearchResults.js +10 -2
  302. package/search/action-creators/requestSearchSuggestions.js +9 -2
  303. package/search/actions/fetchSearchResults.js +66 -8
  304. package/search/actions/fetchSearchSuggestions.js +36 -2
  305. package/search/constants/Pipelines.js +1 -1
  306. package/search/constants/Portals.js +9 -2
  307. package/search/constants/index.js +10 -2
  308. package/search/helpers/index.js +5 -2
  309. package/search/helpers/removeHighlightingPlaceholders.js +4 -1
  310. package/search/helpers/spec.js +19 -1
  311. package/search/index.js +17 -5
  312. package/search/reducers/index.js +38 -2
  313. package/search/selectors/index.js +23 -4
  314. package/search/streams/index.js +51 -3
  315. package/search/subscriptions/index.js +132 -5
@@ -1,5 +1,12 @@
1
- import{ADD_COUPONS_TO_CART}from"../constants";/**
1
+ import { ADD_COUPONS_TO_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched ADD_COUPONS_TO_CART action object.
3
5
  * @param {Array} couponIds The coupon ids.
4
6
  * @returns {Object} The dispatched action object.
5
- */var addCouponsToCart=function addCouponsToCart(couponIds){return{type:ADD_COUPONS_TO_CART,couponIds:couponIds};};export default addCouponsToCart;
7
+ */
8
+ const addCouponsToCart = couponIds => ({
9
+ type: ADD_COUPONS_TO_CART,
10
+ couponIds
11
+ });
12
+ export default addCouponsToCart;
@@ -1,5 +1,12 @@
1
- import{ADD_PRODUCTS_TO_CART}from"../constants";/**
1
+ import { ADD_PRODUCTS_TO_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched ADD_PRODUCTS_TO_CART action object.
3
5
  * @param {Array} products The products to be added.
4
6
  * @returns {Object} The dispatched action object.
5
- */var addProductsToCart=function addProductsToCart(products){return{type:ADD_PRODUCTS_TO_CART,products:products};};export default addProductsToCart;
7
+ */
8
+ const addProductsToCart = products => ({
9
+ type: ADD_PRODUCTS_TO_CART,
10
+ products
11
+ });
12
+ export default addProductsToCart;
@@ -1,5 +1,12 @@
1
- import{DELETE_COUPONS_FROM_CART}from"../constants";/**
1
+ import { DELETE_COUPONS_FROM_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched DELETE_COUPONS_FROM_CART action object.
3
5
  * @param {Array} couponIds The coupon ids.
4
6
  * @returns {Object} The dispatched action object.
5
- */var deleteCouponsFromCart=function deleteCouponsFromCart(couponIds){return{type:DELETE_COUPONS_FROM_CART,couponIds:couponIds};};export default deleteCouponsFromCart;
7
+ */
8
+ const deleteCouponsFromCart = couponIds => ({
9
+ type: DELETE_COUPONS_FROM_CART,
10
+ couponIds
11
+ });
12
+ export default deleteCouponsFromCart;
@@ -1,5 +1,12 @@
1
- import{DELETE_PRODUCTS_FROM_CART}from"../constants";/**
1
+ import { DELETE_PRODUCTS_FROM_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched DELETE_PRODUCTS_FROM_CART action object.
3
5
  * @param {Array} cartItemIds The cart items to be deleted.
4
6
  * @returns {Object} The dispatched action object.
5
- */var deleteProductsFromCart=function deleteProductsFromCart(cartItemIds){return{type:DELETE_PRODUCTS_FROM_CART,cartItemIds:cartItemIds};};export default deleteProductsFromCart;
7
+ */
8
+ const deleteProductsFromCart = cartItemIds => ({
9
+ type: DELETE_PRODUCTS_FROM_CART,
10
+ cartItemIds
11
+ });
12
+ export default deleteProductsFromCart;
@@ -1,6 +1,14 @@
1
- import{ERROR_ADD_COUPONS_TO_CART}from"../constants";/**
1
+ import { ERROR_ADD_COUPONS_TO_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched ERROR_ADD_COUPONS_TO_CART action object.
3
5
  * @param {Array} couponsIds The coupon ids from the failed ADD_COUPONS_TO_CART action.
4
6
  * @param {PipelineErrorElement[]} [errors] A list of errors messages for the coupons.
5
7
  * @returns {Object} The dispatched action object.
6
- */var errorAddCouponsToCart=function errorAddCouponsToCart(couponsIds){var errors=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];return{type:ERROR_ADD_COUPONS_TO_CART,couponsIds:couponsIds,errors:errors};};export default errorAddCouponsToCart;
8
+ */
9
+ const errorAddCouponsToCart = (couponsIds, errors = []) => ({
10
+ type: ERROR_ADD_COUPONS_TO_CART,
11
+ couponsIds,
12
+ errors
13
+ });
14
+ export default errorAddCouponsToCart;
@@ -1,7 +1,15 @@
1
- import{ERROR_ADD_PRODUCTS_TO_CART}from"../constants";/**
1
+ import { ERROR_ADD_PRODUCTS_TO_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched ERROR_ADD_PRODUCTS_TO_CART action object.
3
5
  * @param {Array} products The products that where supposed to be added within
4
6
  * an ADD_PRODUCTS_TO_CART action.
5
7
  * @param {PipelineErrorElement[]} [errors] A list of errors messages for the products.
6
8
  * @returns {Object} The dispatched action object.
7
- */var errorAddProductsToCart=function errorAddProductsToCart(products){var errors=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];return{type:ERROR_ADD_PRODUCTS_TO_CART,products:products,errors:errors};};export default errorAddProductsToCart;
9
+ */
10
+ const errorAddProductsToCart = (products, errors = []) => ({
11
+ type: ERROR_ADD_PRODUCTS_TO_CART,
12
+ products,
13
+ errors
14
+ });
15
+ export default errorAddProductsToCart;
@@ -1,4 +1,10 @@
1
- import{ERROR_CART}from"../constants";/**
1
+ import { ERROR_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched ERROR_CART action object.
3
5
  * @return {Object} The ERROR_CART action.
4
- */var errorCart=function errorCart(){return{type:ERROR_CART};};export default errorCart;
6
+ */
7
+ const errorCart = () => ({
8
+ type: ERROR_CART
9
+ });
10
+ export default errorCart;
@@ -1,6 +1,14 @@
1
- import{ERROR_DELETE_COUPONS_FROM_CART}from"../constants";/**
1
+ import { ERROR_DELETE_COUPONS_FROM_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched ERROR_DELETE_COUPONS_FROM_CART action object.
3
5
  * @param {string[]} couponIds The coupon ids from the failed DELETE_COUPONS_FROM_CART action.
4
6
  * @param {PipelineErrorElement[]} [errors] A list of errors messages for the coupons.
5
7
  * @returns {Object} The dispatched action object.
6
- */var errorDeleteCouponsFromCart=function errorDeleteCouponsFromCart(couponIds){var errors=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];return{type:ERROR_DELETE_COUPONS_FROM_CART,couponIds:couponIds,errors:errors};};export default errorDeleteCouponsFromCart;
8
+ */
9
+ const errorDeleteCouponsFromCart = (couponIds, errors = []) => ({
10
+ type: ERROR_DELETE_COUPONS_FROM_CART,
11
+ couponIds,
12
+ errors
13
+ });
14
+ export default errorDeleteCouponsFromCart;
@@ -1,7 +1,15 @@
1
- import{ERROR_DELETE_PRODUCTS_FROM_CART}from"../constants";/**
1
+ import { ERROR_DELETE_PRODUCTS_FROM_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched ERROR_DELETE_PRODUCTS_FROM_CART action object.
3
5
  * @param {Array} products The products that where supposed to be deleted within
4
6
  * an DELETE_PRODUCTS_FROM_CART action.
5
7
  * @param {PipelineErrorElement[]} [errors] A list of errors messages for the products.
6
8
  * @returns {Object} The dispatched action object.
7
- */var errorDeleteProductsFromCart=function errorDeleteProductsFromCart(products){var errors=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];return{type:ERROR_DELETE_PRODUCTS_FROM_CART,products:products,errors:errors};};export default errorDeleteProductsFromCart;
9
+ */
10
+ const errorDeleteProductsFromCart = (products, errors = []) => ({
11
+ type: ERROR_DELETE_PRODUCTS_FROM_CART,
12
+ products,
13
+ errors
14
+ });
15
+ export default errorDeleteProductsFromCart;
@@ -1,6 +1,14 @@
1
- import{ERROR_UPDATE_PRODUCTS_IN_CART}from"../constants";/**
1
+ import { ERROR_UPDATE_PRODUCTS_IN_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched ERROR_UPDATE_PRODUCTS_IN_CART action object.
3
5
  * @param {Array} updateData The update data from the failed UPDATE_PRODUCTS_IN_CART action.
4
6
  * @param {PipelineErrorElement[]} [errors] A list of errors messages for the products.
5
7
  * @returns {Object} The dispatched action object.
6
- */var errorUpdateProductsInCart=function errorUpdateProductsInCart(updateData){var errors=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];return{type:ERROR_UPDATE_PRODUCTS_IN_CART,updateData:updateData,errors:errors};};export default errorUpdateProductsInCart;
8
+ */
9
+ const errorUpdateProductsInCart = (updateData, errors = []) => ({
10
+ type: ERROR_UPDATE_PRODUCTS_IN_CART,
11
+ updateData,
12
+ errors
13
+ });
14
+ export default errorUpdateProductsInCart;
@@ -1,5 +1,12 @@
1
- import{RECEIVE_CART}from"../constants";/**
1
+ import { RECEIVE_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched RECEIVE_CART action object
3
5
  * @param {Object} cart The cart data
4
6
  * @return {Object} The RECEIVE_CART action.
5
- */var receiveCart=function receiveCart(cart){return{type:RECEIVE_CART,cart:cart};};export default receiveCart;
7
+ */
8
+ const receiveCart = cart => ({
9
+ type: RECEIVE_CART,
10
+ cart
11
+ });
12
+ export default receiveCart;
@@ -1,4 +1,10 @@
1
- import{REQUEST_CART}from"../constants";/**
1
+ import { REQUEST_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched REQUEST_CART action object.
3
5
  * @return {Object} The REQUEST_CART action.
4
- */var requestCart=function requestCart(){return{type:REQUEST_CART};};export default requestCart;
6
+ */
7
+ const requestCart = () => ({
8
+ type: REQUEST_CART
9
+ });
10
+ export default requestCart;
@@ -1,5 +1,12 @@
1
- import{SET_CART_PENDING_PRODUCT_COUNT}from"../constants";/**
1
+ import { SET_CART_PENDING_PRODUCT_COUNT } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched SET_CART_PENDING_PRODUCT_COUNT object.
3
5
  * @param {number} count The cart product count.
4
6
  * @return {Object} The SET_CART_PENDING_PRODUCT_COUNT action.
5
- */var setCartProductPendingCount=function setCartProductPendingCount(count){return{type:SET_CART_PENDING_PRODUCT_COUNT,count:count};};export default setCartProductPendingCount;
7
+ */
8
+ const setCartProductPendingCount = count => ({
9
+ type: SET_CART_PENDING_PRODUCT_COUNT,
10
+ count
11
+ });
12
+ export default setCartProductPendingCount;
@@ -1,5 +1,12 @@
1
- import{SET_COUPON_FIELD_ERROR}from"../constants";/**
1
+ import { SET_COUPON_FIELD_ERROR } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched SET_COUPON_FIELD_ERROR action object.
3
5
  * @param {string} message The error message
4
6
  * @returns {Object} The dispatched action object.
5
- */var setCouponFieldError=function setCouponFieldError(){var message=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'';return{type:SET_COUPON_FIELD_ERROR,message:message};};export default setCouponFieldError;
7
+ */
8
+ const setCouponFieldError = (message = '') => ({
9
+ type: SET_COUPON_FIELD_ERROR,
10
+ message
11
+ });
12
+ export default setCouponFieldError;
@@ -1,5 +1,12 @@
1
- import{SET_COUPON_FIELD_VALUE}from"../constants";/**
1
+ import { SET_COUPON_FIELD_VALUE } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched SET_COUPON_FIELD_VALUE action object.
3
5
  * @param {string} value Value
4
6
  * @returns {Object} The dispatched action object.
5
- */var setCouponFieldValue=function setCouponFieldValue(){var value=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'';return{type:SET_COUPON_FIELD_VALUE,value:value};};export default setCouponFieldValue;
7
+ */
8
+ const setCouponFieldValue = (value = '') => ({
9
+ type: SET_COUPON_FIELD_VALUE,
10
+ value
11
+ });
12
+ export default setCouponFieldValue;
@@ -1,5 +1,12 @@
1
- import{SET_FULFILLMENT_SLOT}from"../constants";/**
1
+ import { SET_FULFILLMENT_SLOT } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched DELETE_COUPONS_FROM_CART action object.
3
5
  * @param {Object} fulfillmentSlot Fulfillment slot.
4
6
  * @returns {Object} The dispatched action object.
5
- */var setFulfillmentSlot=function setFulfillmentSlot(fulfillmentSlot){return{type:SET_FULFILLMENT_SLOT,fulfillmentSlot:fulfillmentSlot};};export default setFulfillmentSlot;
7
+ */
8
+ const setFulfillmentSlot = fulfillmentSlot => ({
9
+ type: SET_FULFILLMENT_SLOT,
10
+ fulfillmentSlot
11
+ });
12
+ export default setFulfillmentSlot;
@@ -1,6 +1,14 @@
1
- import{SUCCESS_ADD_COUPONS_TO_CART}from"../constants";/**
1
+ import { SUCCESS_ADD_COUPONS_TO_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched SUCCESS_ADD_COUPONS_TO_CART action object.
3
5
  * @param {Array} couponsIds The coupon ids from the successful ADD_COUPONS_TO_CART action.
4
6
  * @param {boolean} [userInteracted=true] Was the action dispatched due to a user interaction
5
7
  * @returns {Object} The dispatched action object.
6
- */var successAddCouponsToCart=function successAddCouponsToCart(couponsIds){var userInteracted=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return{type:SUCCESS_ADD_COUPONS_TO_CART,couponsIds:couponsIds,userInteracted:userInteracted};};export default successAddCouponsToCart;
8
+ */
9
+ const successAddCouponsToCart = (couponsIds, userInteracted = true) => ({
10
+ type: SUCCESS_ADD_COUPONS_TO_CART,
11
+ couponsIds,
12
+ userInteracted
13
+ });
14
+ export default successAddCouponsToCart;
@@ -1,4 +1,10 @@
1
- import{SUCCESS_ADD_PRODUCTS_TO_CART}from"../constants";/**
1
+ import { SUCCESS_ADD_PRODUCTS_TO_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched SUCCESS_ADD_PRODUCTS_TO_CART action object.
3
5
  * @returns {Object} The dispatched action object.
4
- */var successAddProductsToCart=function successAddProductsToCart(){return{type:SUCCESS_ADD_PRODUCTS_TO_CART};};export default successAddProductsToCart;
6
+ */
7
+ const successAddProductsToCart = () => ({
8
+ type: SUCCESS_ADD_PRODUCTS_TO_CART
9
+ });
10
+ export default successAddProductsToCart;
@@ -1,4 +1,10 @@
1
- import{SUCCESS_DELETE_COUPONS_FROM_CART}from"../constants";/**
1
+ import { SUCCESS_DELETE_COUPONS_FROM_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched SUCCESS_DELETE_COUPONS_FROM_CART action object.
3
5
  * @returns {Object} The dispatched action object.
4
- */var successDeleteCouponsFromCart=function successDeleteCouponsFromCart(){return{type:SUCCESS_DELETE_COUPONS_FROM_CART};};export default successDeleteCouponsFromCart;
6
+ */
7
+ const successDeleteCouponsFromCart = () => ({
8
+ type: SUCCESS_DELETE_COUPONS_FROM_CART
9
+ });
10
+ export default successDeleteCouponsFromCart;
@@ -1,4 +1,10 @@
1
- import{SUCCESS_DELETE_PRODUCTS_FROM_CART}from"../constants";/**
1
+ import { SUCCESS_DELETE_PRODUCTS_FROM_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched SUCCESS_DELETE_PRODUCTS_FROM_CART action object.
3
5
  * @returns {Object} The dispatched action object.
4
- */var successDeleteProductsFromCart=function successDeleteProductsFromCart(){return{type:SUCCESS_DELETE_PRODUCTS_FROM_CART};};export default successDeleteProductsFromCart;
6
+ */
7
+ const successDeleteProductsFromCart = () => ({
8
+ type: SUCCESS_DELETE_PRODUCTS_FROM_CART
9
+ });
10
+ export default successDeleteProductsFromCart;
@@ -1,4 +1,10 @@
1
- import{SUCCESS_UPDATE_PRODUCTS_IN_CART}from"../constants";/**
1
+ import { SUCCESS_UPDATE_PRODUCTS_IN_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched SUCCESS_UPDATE_PRODUCTS_IN_CART action object.
3
5
  * @returns {Object} The dispatched action object.
4
- */var successUpdateProductsInCart=function successUpdateProductsInCart(){return{type:SUCCESS_UPDATE_PRODUCTS_IN_CART};};export default successUpdateProductsInCart;
6
+ */
7
+ const successUpdateProductsInCart = () => ({
8
+ type: SUCCESS_UPDATE_PRODUCTS_IN_CART
9
+ });
10
+ export default successUpdateProductsInCart;
@@ -1,5 +1,12 @@
1
- import{UPDATE_PRODUCTS_IN_CART}from"../constants";/**
1
+ import { UPDATE_PRODUCTS_IN_CART } from "../constants";
2
+
3
+ /**
2
4
  * Creates the dispatched UPDATE_PRODUCTS_IN_CART action object.
3
5
  * @param {Array} updateData The update data.
4
6
  * @returns {Object} The dispatched action object.
5
- */var updateProductsInCart=function updateProductsInCart(updateData){return{type:UPDATE_PRODUCTS_IN_CART,updateData:updateData};};export default updateProductsInCart;
7
+ */
8
+ const updateProductsInCart = updateData => ({
9
+ type: UPDATE_PRODUCTS_IN_CART,
10
+ updateData
11
+ });
12
+ export default updateProductsInCart;
@@ -1,12 +1,56 @@
1
- function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{PipelineRequest,PROCESS_SEQUENTIAL}from'@shopgate/pwa-core';import{mutable}from'@shopgate/pwa-common/helpers/redux';import{errorBehavior}from'@shopgate/engage/core';import{SHOPGATE_CART_ADD_COUPONS}from"../constants/Pipelines";import createPipelineErrorList from"../helpers/createPipelineErrorList";import{ECART}from"../constants/PipelineErrors";import addCoupons from"../action-creators/addCouponsToCart";import errorAddCouponsToCart from"../action-creators/errorAddCouponsToCart";import successAddCouponsToCart from"../action-creators/successAddCouponsToCart";import{messagesHaveErrors}from"../helpers";import setCouponFieldError from"../action-creators/setCouponFieldError";import{MESSAGE_TYPE_ERROR}from"../constants";/**
1
+ import { PipelineRequest, PROCESS_SEQUENTIAL } from '@shopgate/pwa-core';
2
+ import { mutable } from '@shopgate/pwa-common/helpers/redux';
3
+ import { errorBehavior } from '@shopgate/engage/core';
4
+ import { SHOPGATE_CART_ADD_COUPONS } from "../constants/Pipelines";
5
+ import createPipelineErrorList from "../helpers/createPipelineErrorList";
6
+ import { ECART } from "../constants/PipelineErrors";
7
+ import addCoupons from "../action-creators/addCouponsToCart";
8
+ import errorAddCouponsToCart from "../action-creators/errorAddCouponsToCart";
9
+ import successAddCouponsToCart from "../action-creators/successAddCouponsToCart";
10
+ import { messagesHaveErrors } from "../helpers";
11
+ import setCouponFieldError from "../action-creators/setCouponFieldError";
12
+ import { MESSAGE_TYPE_ERROR } from "../constants";
13
+
14
+ /**
2
15
  * Adds coupons to the cart. Returns a Promise because a component waits for this action to finish.
3
16
  * @param {string[]} couponIds The IDs of the coupons that shall be added to the cart.
4
17
  * @param {boolean} [userInteracted=true] Was the action dispatched due to a user interaction
5
18
  * @return {Function} A redux thunk.
6
- */function addCouponsToCart(couponIds){var userInteracted=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return function(dispatch){dispatch(addCoupons(couponIds));var request=new PipelineRequest(SHOPGATE_CART_ADD_COUPONS).setInput({couponCodes:couponIds}).setResponseProcessed(PROCESS_SEQUENTIAL).setRetries(0).setErrorBlacklist(ECART).setResponseBehavior({error:userInteracted?errorBehavior.dispatchAction(function(message){return setCouponFieldError(message);}):errorBehavior.toast()}).dispatch();request.then(function(result){/**
7
- * @deprecated: The property "messages" is not supposed to be part of the pipeline response.
8
- * Specification demands errors to be returned as response object with an "error" property.
9
- * This code snippet needs to be removed after fixing the `@shopgate/legacy-cart` extension.
10
- */if(result.messages&&messagesHaveErrors(result.messages)){// Simulate a pipeline response error with a proper ECART error.
11
- var errors=result.messages.filter(function(msg){return msg.type===MESSAGE_TYPE_ERROR;});var error=_extends({},errors[0],{code:ECART,message:'',// Irrelevant in this case
12
- errors:errors});dispatch(errorAddCouponsToCart(couponIds,createPipelineErrorList(SHOPGATE_CART_ADD_COUPONS,error)));return;}dispatch(successAddCouponsToCart(couponIds,userInteracted));})["catch"](function(error){dispatch(errorAddCouponsToCart(couponIds,createPipelineErrorList(SHOPGATE_CART_ADD_COUPONS,error)));});return request;};}/** @mixes {MutableFunction} */export default mutable(addCouponsToCart);
19
+ */
20
+ function addCouponsToCart(couponIds, userInteracted = true) {
21
+ return dispatch => {
22
+ dispatch(addCoupons(couponIds));
23
+ const request = new PipelineRequest(SHOPGATE_CART_ADD_COUPONS).setInput({
24
+ couponCodes: couponIds
25
+ }).setResponseProcessed(PROCESS_SEQUENTIAL).setRetries(0).setErrorBlacklist(ECART).setResponseBehavior({
26
+ error: userInteracted ? errorBehavior.dispatchAction(message => setCouponFieldError(message)) : errorBehavior.toast()
27
+ }).dispatch();
28
+ request.then(result => {
29
+ /**
30
+ * @deprecated: The property "messages" is not supposed to be part of the pipeline response.
31
+ * Specification demands errors to be returned as response object with an "error" property.
32
+ * This code snippet needs to be removed after fixing the `@shopgate/legacy-cart` extension.
33
+ */
34
+ if (result.messages && messagesHaveErrors(result.messages)) {
35
+ // Simulate a pipeline response error with a proper ECART error.
36
+ const errors = result.messages.filter(msg => msg.type === MESSAGE_TYPE_ERROR);
37
+ const error = {
38
+ ...errors[0],
39
+ code: ECART,
40
+ message: '',
41
+ // Irrelevant in this case
42
+ errors
43
+ };
44
+ dispatch(errorAddCouponsToCart(couponIds, createPipelineErrorList(SHOPGATE_CART_ADD_COUPONS, error)));
45
+ return;
46
+ }
47
+ dispatch(successAddCouponsToCart(couponIds, userInteracted));
48
+ }).catch(error => {
49
+ dispatch(errorAddCouponsToCart(couponIds, createPipelineErrorList(SHOPGATE_CART_ADD_COUPONS, error)));
50
+ });
51
+ return request;
52
+ };
53
+ }
54
+
55
+ /** @mixes {MutableFunction} */
56
+ export default mutable(addCouponsToCart);
@@ -1,14 +1,83 @@
1
- import _regeneratorRuntime from"@babel/runtime/regenerator";function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}import PipelineRequest from'@shopgate/pwa-core/classes/PipelineRequest';import{PROCESS_SEQUENTIAL}from'@shopgate/pwa-core/constants/ProcessTypes';import{mutable}from'@shopgate/pwa-common/helpers/redux';import{SHOPGATE_CART_ADD_PRODUCTS}from"../constants/Pipelines";import createPipelineErrorList from"../helpers/createPipelineErrorList";import{ECART}from"../constants/PipelineErrors";import addProductsToCart from"../action-creators/addProductsToCart";import successAddProductsToCart from"../action-creators/successAddProductsToCart";import errorAddProductsToCart from"../action-creators/errorAddProductsToCart";import setCartProductPendingCount from"../action-creators/setCartProductPendingCount";import{getProductPendingCount,getAddToCartMetadata,getCartItems}from"../selectors";import{getProduct}from"../../product/selectors/product";import{messagesHaveErrors,createErrorMessageList}from"../helpers";import{getDisplayedProductQuantity}from"../helpers/quantity";import{handleFulfillmentSlots}from"../helpers/fulfillmentSlots";/**
1
+ import PipelineRequest from '@shopgate/pwa-core/classes/PipelineRequest';
2
+ import { PROCESS_SEQUENTIAL } from '@shopgate/pwa-core/constants/ProcessTypes';
3
+ import { mutable } from '@shopgate/pwa-common/helpers/redux';
4
+ import { SHOPGATE_CART_ADD_PRODUCTS } from "../constants/Pipelines";
5
+ import createPipelineErrorList from "../helpers/createPipelineErrorList";
6
+ import { ECART } from "../constants/PipelineErrors";
7
+ import addProductsToCart from "../action-creators/addProductsToCart";
8
+ import successAddProductsToCart from "../action-creators/successAddProductsToCart";
9
+ import errorAddProductsToCart from "../action-creators/errorAddProductsToCart";
10
+ import setCartProductPendingCount from "../action-creators/setCartProductPendingCount";
11
+ import { getProductPendingCount, getAddToCartMetadata, getCartItems } from "../selectors";
12
+ import { getProduct } from "../../product/selectors/product";
13
+ import { messagesHaveErrors, createErrorMessageList } from "../helpers";
14
+ import { getDisplayedProductQuantity } from "../helpers/quantity";
15
+ import { handleFulfillmentSlots } from "../helpers/fulfillmentSlots";
16
+
17
+ /**
2
18
  * Adds products to the cart.
3
19
  * @param {Array} data The options for the products to be added.
4
20
  * @return {Function} A redux thunk.
5
- */function addToCart(data){return(/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(dispatch,getState){var state,preCartItems,pendingProductCount,quantity,products,request;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:state=getState();preCartItems=getCartItems(state);pendingProductCount=getProductPendingCount(state);quantity=0;products=data.map(function(product){var productData=getProduct(state,{productId:product.productId})||{};// Count quantity for pending count.
6
- quantity+=getDisplayedProductQuantity(_extends({},product,{product:productData}),preCartItems);// Restructure into a productId and a variantId (only productId if not adding a variant)
7
- var productId=productData.baseProductId||product.productId;var variantId=productData.baseProductId?productData.id:undefined;var metadata=getAddToCartMetadata(state,{productId:productId,variantId:variantId});// Return the current product if it already had metadata, otherwise add some, if any available
8
- return product.metadata&&product||_extends({},product,{},metadata&&{metadata:metadata});});_context.next=7;return handleFulfillmentSlots(state,products);case 7:products=_context.sent;// Dispatch pipeline request.
9
- dispatch(addProductsToCart(products));dispatch(setCartProductPendingCount(pendingProductCount+quantity));request=new PipelineRequest(SHOPGATE_CART_ADD_PRODUCTS).setInput({products:products}).setResponseProcessed(PROCESS_SEQUENTIAL).setRetries(0).setErrorBlacklist(ECART).dispatch();request.then(function(result){if(result.messages&&messagesHaveErrors(result.messages)){/**
10
- * @deprecated: The property "messages" is not supposed to be part of the
11
- * pipeline response. Specification demands errors to be returned as response
12
- * object with an "error" property. This code snippet needs to be removed after
13
- * fixing the `@shopgate/legacy-cart` extension.
14
- */dispatch(errorAddProductsToCart(products,createErrorMessageList(SHOPGATE_CART_ADD_PRODUCTS,result.messages)));return;}dispatch(successAddProductsToCart());})["catch"](function(error){dispatch(errorAddProductsToCart(products,createPipelineErrorList(SHOPGATE_CART_ADD_PRODUCTS,error)));});return _context.abrupt("return",request);case 13:case"end":return _context.stop();}},_callee);}));return function(_x,_x2){return _ref.apply(this,arguments);};}());}/** @mixes {MutableFunction} */export default mutable(addToCart);
21
+ */
22
+ function addToCart(data) {
23
+ return async (dispatch, getState) => {
24
+ const state = getState();
25
+ const preCartItems = getCartItems(state);
26
+ const pendingProductCount = getProductPendingCount(state);
27
+ let quantity = 0;
28
+ let products = data.map(product => {
29
+ const productData = getProduct(state, {
30
+ productId: product.productId
31
+ }) || {};
32
+
33
+ // Count quantity for pending count.
34
+ quantity += getDisplayedProductQuantity({
35
+ ...product,
36
+ product: productData
37
+ }, preCartItems);
38
+
39
+ // Restructure into a productId and a variantId (only productId if not adding a variant)
40
+ const productId = productData.baseProductId || product.productId;
41
+ const variantId = productData.baseProductId ? productData.id : undefined;
42
+ const metadata = getAddToCartMetadata(state, {
43
+ productId,
44
+ variantId
45
+ });
46
+
47
+ // Return the current product if it already had metadata, otherwise add some, if any available
48
+ return product.metadata && product || {
49
+ ...product,
50
+ ...(metadata && {
51
+ metadata
52
+ })
53
+ };
54
+ });
55
+ products = await handleFulfillmentSlots(state, products);
56
+
57
+ // Dispatch pipeline request.
58
+ dispatch(addProductsToCart(products));
59
+ dispatch(setCartProductPendingCount(pendingProductCount + quantity));
60
+ const request = new PipelineRequest(SHOPGATE_CART_ADD_PRODUCTS).setInput({
61
+ products
62
+ }).setResponseProcessed(PROCESS_SEQUENTIAL).setRetries(0).setErrorBlacklist(ECART).dispatch();
63
+ request.then(result => {
64
+ if (result.messages && messagesHaveErrors(result.messages)) {
65
+ /**
66
+ * @deprecated: The property "messages" is not supposed to be part of the
67
+ * pipeline response. Specification demands errors to be returned as response
68
+ * object with an "error" property. This code snippet needs to be removed after
69
+ * fixing the `@shopgate/legacy-cart` extension.
70
+ */
71
+ dispatch(errorAddProductsToCart(products, createErrorMessageList(SHOPGATE_CART_ADD_PRODUCTS, result.messages)));
72
+ return;
73
+ }
74
+ dispatch(successAddProductsToCart());
75
+ }).catch(error => {
76
+ dispatch(errorAddProductsToCart(products, createPipelineErrorList(SHOPGATE_CART_ADD_PRODUCTS, error)));
77
+ });
78
+ return request;
79
+ };
80
+ }
81
+
82
+ /** @mixes {MutableFunction} */
83
+ export default mutable(addToCart);
@@ -1,9 +1,42 @@
1
- import PipelineRequest from'@shopgate/pwa-core/classes/PipelineRequest';import{PROCESS_SEQUENTIAL}from'@shopgate/pwa-core/constants/ProcessTypes';import{mutable}from'@shopgate/pwa-common/helpers/redux';import{SHOPGATE_CART_DELETE_COUPONS}from"../constants/Pipelines";import createPipelineErrorList from"../helpers/createPipelineErrorList";import{ECART}from"../constants/PipelineErrors";import deleteCoupons from"../action-creators/deleteCouponsFromCart";import errorDeleteCouponsFromCart from"../action-creators/errorDeleteCouponsFromCart";import successDeleteCouponsFromCart from"../action-creators/successDeleteCouponsFromCart";import{messagesHaveErrors,createErrorMessageList}from"../helpers";/**
1
+ import PipelineRequest from '@shopgate/pwa-core/classes/PipelineRequest';
2
+ import { PROCESS_SEQUENTIAL } from '@shopgate/pwa-core/constants/ProcessTypes';
3
+ import { mutable } from '@shopgate/pwa-common/helpers/redux';
4
+ import { SHOPGATE_CART_DELETE_COUPONS } from "../constants/Pipelines";
5
+ import createPipelineErrorList from "../helpers/createPipelineErrorList";
6
+ import { ECART } from "../constants/PipelineErrors";
7
+ import deleteCoupons from "../action-creators/deleteCouponsFromCart";
8
+ import errorDeleteCouponsFromCart from "../action-creators/errorDeleteCouponsFromCart";
9
+ import successDeleteCouponsFromCart from "../action-creators/successDeleteCouponsFromCart";
10
+ import { messagesHaveErrors, createErrorMessageList } from "../helpers";
11
+
12
+ /**
2
13
  * Deletes coupons from the cart.
3
14
  * @param {string[]} couponIds The IDs of the coupons that shall be deleted from the cart.
4
15
  * @return {Function} A redux thunk.
5
- */function deleteCouponsFromCart(couponIds){return function(dispatch){dispatch(deleteCoupons(couponIds));var request=new PipelineRequest(SHOPGATE_CART_DELETE_COUPONS).setInput({couponCodes:couponIds}).setResponseProcessed(PROCESS_SEQUENTIAL).setErrorBlacklist(ECART).dispatch();request.then(function(result){/**
6
- * @deprecated: The property "messages" is not supposed to be part of the pipeline response.
7
- * Specification demands errors to be returned as response object with an "error" property.
8
- * This code snippet needs to be removed after fixing the `@shopgate/legacy-cart` extension.
9
- */if(result.messages&&messagesHaveErrors(result.messages)){dispatch(errorDeleteCouponsFromCart(couponIds,createErrorMessageList(SHOPGATE_CART_DELETE_COUPONS,result.messages)));return;}dispatch(successDeleteCouponsFromCart());})["catch"](function(error){dispatch(errorDeleteCouponsFromCart(couponIds,createPipelineErrorList(SHOPGATE_CART_DELETE_COUPONS,error)));});return request;};}/** @mixes {MutableFunction} */export default mutable(deleteCouponsFromCart);
16
+ */
17
+ function deleteCouponsFromCart(couponIds) {
18
+ return dispatch => {
19
+ dispatch(deleteCoupons(couponIds));
20
+ const request = new PipelineRequest(SHOPGATE_CART_DELETE_COUPONS).setInput({
21
+ couponCodes: couponIds
22
+ }).setResponseProcessed(PROCESS_SEQUENTIAL).setErrorBlacklist(ECART).dispatch();
23
+ request.then(result => {
24
+ /**
25
+ * @deprecated: The property "messages" is not supposed to be part of the pipeline response.
26
+ * Specification demands errors to be returned as response object with an "error" property.
27
+ * This code snippet needs to be removed after fixing the `@shopgate/legacy-cart` extension.
28
+ */
29
+ if (result.messages && messagesHaveErrors(result.messages)) {
30
+ dispatch(errorDeleteCouponsFromCart(couponIds, createErrorMessageList(SHOPGATE_CART_DELETE_COUPONS, result.messages)));
31
+ return;
32
+ }
33
+ dispatch(successDeleteCouponsFromCart());
34
+ }).catch(error => {
35
+ dispatch(errorDeleteCouponsFromCart(couponIds, createPipelineErrorList(SHOPGATE_CART_DELETE_COUPONS, error)));
36
+ });
37
+ return request;
38
+ };
39
+ }
40
+
41
+ /** @mixes {MutableFunction} */
42
+ export default mutable(deleteCouponsFromCart);
@@ -1,9 +1,41 @@
1
- import PipelineRequest from'@shopgate/pwa-core/classes/PipelineRequest';import{PROCESS_SEQUENTIAL}from'@shopgate/pwa-core/constants/ProcessTypes';import{mutable}from'@shopgate/pwa-common/helpers/redux';import{SHOPGATE_CART_DELETE_PRODUCTS}from"../constants/Pipelines";import createPipelineErrorList from"../helpers/createPipelineErrorList";import{ECART}from"../constants/PipelineErrors";import deleteProducts from"../action-creators/deleteProductsFromCart";import successDeleteProductsFromCart from"../action-creators/successDeleteProductsFromCart";import errorDeleteProductsFromCart from"../action-creators/errorDeleteProductsFromCart";import{messagesHaveErrors,createErrorMessageList}from"../helpers";/**
1
+ import PipelineRequest from '@shopgate/pwa-core/classes/PipelineRequest';
2
+ import { PROCESS_SEQUENTIAL } from '@shopgate/pwa-core/constants/ProcessTypes';
3
+ import { mutable } from '@shopgate/pwa-common/helpers/redux';
4
+ import { SHOPGATE_CART_DELETE_PRODUCTS } from "../constants/Pipelines";
5
+ import createPipelineErrorList from "../helpers/createPipelineErrorList";
6
+ import { ECART } from "../constants/PipelineErrors";
7
+ import deleteProducts from "../action-creators/deleteProductsFromCart";
8
+ import successDeleteProductsFromCart from "../action-creators/successDeleteProductsFromCart";
9
+ import errorDeleteProductsFromCart from "../action-creators/errorDeleteProductsFromCart";
10
+ import { messagesHaveErrors, createErrorMessageList } from "../helpers";
11
+
12
+ /**
2
13
  * Deletes products from the cart.
3
14
  * @param {Array} cartItemIds The IDs of the items to remove from the cart.
4
15
  * @return {Function} A redux thunk.
5
- */function deleteProductsFromCart(cartItemIds){return function(dispatch){dispatch(deleteProducts(cartItemIds));var request=new PipelineRequest(SHOPGATE_CART_DELETE_PRODUCTS).setInput({cartItemIds:cartItemIds}).setResponseProcessed(PROCESS_SEQUENTIAL).setErrorBlacklist(ECART).dispatch();request.then(function(result){/**
6
- * @deprecated: The property "messages" is not supposed to be part of the pipeline response.
7
- * Specification demands errors to be returned as response object with an "error" property.
8
- * This code snippet needs to be removed after fixing the `@shopgate/legacy-cart` extension.
9
- */if(result.messages&&messagesHaveErrors(result.messages)){dispatch(errorDeleteProductsFromCart(cartItemIds,createErrorMessageList(SHOPGATE_CART_DELETE_PRODUCTS,result.messages)));}dispatch(successDeleteProductsFromCart());})["catch"](function(error){dispatch(errorDeleteProductsFromCart(cartItemIds,createPipelineErrorList(SHOPGATE_CART_DELETE_PRODUCTS,error)));});return request;};}/** @mixes {MutableFunction} */export default mutable(deleteProductsFromCart);
16
+ */
17
+ function deleteProductsFromCart(cartItemIds) {
18
+ return dispatch => {
19
+ dispatch(deleteProducts(cartItemIds));
20
+ const request = new PipelineRequest(SHOPGATE_CART_DELETE_PRODUCTS).setInput({
21
+ cartItemIds
22
+ }).setResponseProcessed(PROCESS_SEQUENTIAL).setErrorBlacklist(ECART).dispatch();
23
+ request.then(result => {
24
+ /**
25
+ * @deprecated: The property "messages" is not supposed to be part of the pipeline response.
26
+ * Specification demands errors to be returned as response object with an "error" property.
27
+ * This code snippet needs to be removed after fixing the `@shopgate/legacy-cart` extension.
28
+ */
29
+ if (result.messages && messagesHaveErrors(result.messages)) {
30
+ dispatch(errorDeleteProductsFromCart(cartItemIds, createErrorMessageList(SHOPGATE_CART_DELETE_PRODUCTS, result.messages)));
31
+ }
32
+ dispatch(successDeleteProductsFromCart());
33
+ }).catch(error => {
34
+ dispatch(errorDeleteProductsFromCart(cartItemIds, createPipelineErrorList(SHOPGATE_CART_DELETE_PRODUCTS, error)));
35
+ });
36
+ return request;
37
+ };
38
+ }
39
+
40
+ /** @mixes {MutableFunction} */
41
+ export default mutable(deleteProductsFromCart);