From 1215cd8ab96164adb02891b022593102ee036d7e Mon Sep 17 00:00:00 2001 From: Azizbek Rasulov Date: Wed, 1 Jun 2022 11:19:23 +0500 Subject: [PATCH 1/7] updating the state of productActions component on fieldReset --- .../scandipwa/src/component/Field/Field.container.js | 11 +++++++++-- .../ProductCustomizableOption.component.js | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/scandipwa/src/component/Field/Field.container.js b/packages/scandipwa/src/component/Field/Field.container.js index 96b035fcc6..f34cae2c40 100644 --- a/packages/scandipwa/src/component/Field/Field.container.js +++ b/packages/scandipwa/src/component/Field/Field.container.js @@ -40,7 +40,8 @@ export class FieldContainer extends PureComponent { value: PropTypes.number.isRequired, changeValueOnDoubleClick: PropTypes.bool, isSortSelect: PropTypes.bool, - resetFieldValue: PropTypes.func.isRequired, + updateSelectedValues: PropTypes.func, + resetFieldValue: PropTypes.func, // Validation validationRule: ValidationRuleType, validateOn: PropTypes.arrayOf(PropTypes.string), @@ -67,7 +68,9 @@ export class FieldContainer extends PureComponent { subLabel: '', elemRef: null, changeValueOnDoubleClick: false, - isSortSelect: false + isSortSelect: false, + updateSelectedValues: null, + resetFieldValue: null }; state = { @@ -121,6 +124,8 @@ export class FieldContainer extends PureComponent { } resetFieldValue(fieldHandler, event) { + const { updateSelectedValues } = this.props; + event.preventDefault(); event.stopPropagation(); @@ -130,8 +135,10 @@ export class FieldContainer extends PureComponent { isLoading: false }); + this.fieldRef.fileData = ''; this.fieldRef.value = ''; this.validate(); + updateSelectedValues(); } handleShowLengthError() { diff --git a/packages/scandipwa/src/component/ProductCustomizableOption/ProductCustomizableOption.component.js b/packages/scandipwa/src/component/ProductCustomizableOption/ProductCustomizableOption.component.js index 061cce9456..161d629a5a 100644 --- a/packages/scandipwa/src/component/ProductCustomizableOption/ProductCustomizableOption.component.js +++ b/packages/scandipwa/src/component/ProductCustomizableOption/ProductCustomizableOption.component.js @@ -174,6 +174,7 @@ export class ProductCustomizableOption extends PureComponent { name: uid, accept: fileExtensions } } + updateSelectedValues={ updateSelectedValues } events={ { onChange: updateSelectedValues } } From e0bb523d50c4976298df60486e19f0d03a38fef2 Mon Sep 17 00:00:00 2001 From: NutellaON Date: Thu, 2 Jun 2022 13:40:02 +0300 Subject: [PATCH 2/7] added padding top --- .../CheckoutOrderSummary/CheckoutOrderSummary.style.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss b/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss index 035dfedf31..8d7118e149 100644 --- a/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss +++ b/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss @@ -55,6 +55,7 @@ @include mobile { padding: 0 0 14px; + padding-block-start: 20px; } &:last-child { From 7d8031f71e07a48a50f225f3673133db180cfa99 Mon Sep 17 00:00:00 2001 From: NutellaON Date: Fri, 3 Jun 2022 09:47:52 +0300 Subject: [PATCH 3/7] changed padding to one single properity to all sides --- .../CheckoutOrderSummary/CheckoutOrderSummary.style.scss | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss b/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss index 8d7118e149..e0a280f337 100644 --- a/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss +++ b/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss @@ -54,8 +54,7 @@ padding-inline-start: 0; @include mobile { - padding: 0 0 14px; - padding-block-start: 20px; + padding: 10px 0 0 14px; } &:last-child { From f2d93b12e25eebf33e4d16aac9512a109426e1a2 Mon Sep 17 00:00:00 2001 From: NutellaON Date: Fri, 3 Jun 2022 10:02:17 +0300 Subject: [PATCH 4/7] Removed unnecessary '0' value from padding --- .../CheckoutOrderSummary/CheckoutOrderSummary.style.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss b/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss index e0a280f337..efabeeced9 100644 --- a/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss +++ b/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss @@ -54,7 +54,7 @@ padding-inline-start: 0; @include mobile { - padding: 10px 0 0 14px; + padding: 10px 0 14px; } &:last-child { From 9bf3d3c680a738a2d0ae8c857869ea816e3e36ad Mon Sep 17 00:00:00 2001 From: Azizbek Rasulov Date: Thu, 16 Jun 2022 15:19:35 +0500 Subject: [PATCH 5/7] fixed the data parsing --- packages/scandipwa/src/util/Product/Transform.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/scandipwa/src/util/Product/Transform.js b/packages/scandipwa/src/util/Product/Transform.js index e77ffaebe8..26799d5bd6 100644 --- a/packages/scandipwa/src/util/Product/Transform.js +++ b/packages/scandipwa/src/util/Product/Transform.js @@ -49,8 +49,8 @@ export const getBundleOptions = (buyRequest) => { return Object.entries(bundle_option).reduce((prev, [option, variant]) => { const qty = bundle_option_qty[option] || 1; - if (typeof variant === 'string') { - return [...prev, btoa(`bundle/${option}/${variant}/${qty}`)]; + if (Array.isArray(variant) && variant.every((val) => typeof (val) === 'string')) { + return [...prev, ...variant.map((val) => btoa(`bundle/${option}/${val}/${qty}`))]; } return [...prev, ...Object.keys(variant).map((id) => btoa(`bundle/${option}/${id}/${qty}`))]; From b2e8473c07e146516dc6dd0be3c75a4581c8a272 Mon Sep 17 00:00:00 2001 From: Azizbek Rasulov Date: Thu, 16 Jun 2022 18:44:29 +0500 Subject: [PATCH 6/7] Updating the values before adding to cart --- .../src/component/AddToCart/AddToCart.container.js | 5 ++++- .../src/component/Product/Product.component.js | 4 +++- .../src/component/Product/Product.container.js | 11 +++++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/scandipwa/src/component/AddToCart/AddToCart.container.js b/packages/scandipwa/src/component/AddToCart/AddToCart.container.js index 2c95696de1..72cfc14f5f 100644 --- a/packages/scandipwa/src/component/AddToCart/AddToCart.container.js +++ b/packages/scandipwa/src/component/AddToCart/AddToCart.container.js @@ -55,6 +55,7 @@ export class AddToCartContainer extends PureComponent { addToCart: PropTypes.func, fallbackAddToCart: PropTypes.func.isRequired, isDisabled: PropTypes.bool, + updateSelectedValues: PropTypes.func, isIconEnabled: PropTypes.bool, mix: MixType, @@ -69,6 +70,7 @@ export class AddToCartContainer extends PureComponent { isIconEnabled: true, isDisabled: false, addToCart: null, + updateSelectedValues: null, product: {} }; @@ -95,7 +97,8 @@ export class AddToCartContainer extends PureComponent { }; async addProductToCart(e) { - const { product, addToCart } = this.props; + const { product, addToCart, updateSelectedValues } = this.props; + await updateSelectedValues(); if ((!product || Object.keys(product).length === 0) && !addToCart) { return; diff --git a/packages/scandipwa/src/component/Product/Product.component.js b/packages/scandipwa/src/component/Product/Product.component.js index 12a24cca85..51095a2e50 100644 --- a/packages/scandipwa/src/component/Product/Product.component.js +++ b/packages/scandipwa/src/component/Product/Product.component.js @@ -266,7 +266,8 @@ export class Product extends PureComponent { addToCart, inStock, quantity, - getActiveProduct + getActiveProduct, + updateSelectedValues } = this.props; return ( @@ -276,6 +277,7 @@ export class Product extends PureComponent { isDisabled={ !inStock } isIconEnabled={ false } layout={ layout } + updateSelectedValues={ updateSelectedValues } quantity={ quantity } product={ getActiveProduct() } /> diff --git a/packages/scandipwa/src/component/Product/Product.container.js b/packages/scandipwa/src/component/Product/Product.container.js index 75729ad7aa..34fa2d1311 100644 --- a/packages/scandipwa/src/component/Product/Product.container.js +++ b/packages/scandipwa/src/component/Product/Product.container.js @@ -294,14 +294,21 @@ export class ProductContainer extends PureComponent { const values = getFieldsData(current, true, [FIELD_TYPE.numberWithControls]); - values.forEach(({ name, value, type }) => { + values.forEach(({ + field, name, value, type + }) => { if (type === FIELD_TYPE.select) { selectedOptions.push(value); } else if (type === FIELD_TYPE.checkbox || type === FIELD_TYPE.radio) { if (value !== FIELD_RADIO_NONE) { selectedOptions.push(value); } - } else if (type !== FIELD_TYPE.numberWithControls) { + } else if (type !== FIELD_TYPE.numberWithControls && type !== FIELD_TYPE.file) { + enteredOptions.push({ + uid: name, + value + }); + } else if (type === FIELD_TYPE.file && field.value) { enteredOptions.push({ uid: name, value From 7fdcbb9e0e8ac5c7fc80d3baac81e1e1ebd2e95e Mon Sep 17 00:00:00 2001 From: Azizbek Rasulov Date: Fri, 17 Jun 2022 19:47:43 +0500 Subject: [PATCH 7/7] changed padding --- .../CheckoutOrderSummary/CheckoutOrderSummary.style.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss b/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss index efabeeced9..43d1501531 100644 --- a/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss +++ b/packages/scandipwa/src/component/CheckoutOrderSummary/CheckoutOrderSummary.style.scss @@ -54,7 +54,7 @@ padding-inline-start: 0; @include mobile { - padding: 10px 0 14px; + padding: 14px 0; } &:last-child {