From 6b7c5adc0eb721a2971aa0fe97a0b233e834586c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cbc-yevhenii-buliuk=E2=80=9D?= <“yevhenii.buliuk@bigcommerce.com”> Date: Fri, 13 May 2022 17:24:50 +0300 Subject: [PATCH] fix(storefront): BCTHEME-1089 Incorrect handling of unsuccessful item removing from cart on the Cart page. --- CHANGELOG.md | 1 + assets/js/theme/cart.js | 3 ++- assets/js/theme/global/modal.js | 13 +++++++++---- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bcfad77253..92db7dee0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## Draft +- Incorrect handling of unsuccessful item removing from cart on the Cart page. [#2211](https://github.com/bigcommerce/cornerstone/issues/2211) ## 6.4.0 (05-11-2022) - Remove adminBar translations from da/no lang files [#2209](https://github.com/bigcommerce/cornerstone/issues/2209) diff --git a/assets/js/theme/cart.js b/assets/js/theme/cart.js index ea5ad5e075..f624c97dfa 100644 --- a/assets/js/theme/cart.js +++ b/assets/js/theme/cart.js @@ -113,7 +113,8 @@ export default class Cart extends PageManager { if (response.data.status === 'succeed') { this.refreshContent(true); } else { - showAlertModal(response.data.errors.join('\n')); + showAlertModal('test error message'); + this.$overlay.hide(); } }); } diff --git a/assets/js/theme/global/modal.js b/assets/js/theme/global/modal.js index 932b951327..a57a4b0f3b 100644 --- a/assets/js/theme/global/modal.js +++ b/assets/js/theme/global/modal.js @@ -298,7 +298,8 @@ export function alertModal() { */ export function showAlertModal(message, options = {}) { const modal = alertModal(); - const cancelBtn = modal.$modal.find('.cancel'); + const $cancelBtn = modal.$modal.find('.cancel'); + const $confirmBtn = modal.$modal.find('.confirm'); const { icon = 'error', $preModalFocusedEl = null, @@ -322,12 +323,16 @@ export function showAlertModal(message, options = {}) { modal.updateContent(`${message}`); if (onConfirm) { - modal.$modal.find('.confirm').on('click', onConfirm); + $confirmBtn.on('click', onConfirm); + + modal.$modal.one(ModalEvents.closed, () => { + $confirmBtn.off('click', onConfirm); + }); } if (showCancelButton) { - cancelBtn.show(); + $cancelBtn.show(); } else { - cancelBtn.hide(); + $cancelBtn.hide(); } }