From 7559e3e1e3005b37750f07f791f8efaa0a0a6264 Mon Sep 17 00:00:00 2001 From: Oleksandr Miroshnichenko Date: Fri, 2 Nov 2018 17:09:46 +0200 Subject: [PATCH 1/3] #13157 - Last Ordered Items block - bad js code --- .../view/frontend/templates/reorder/sidebar.phtml | 14 +++++++++----- .../frontend/web/js/view/last-ordered-items.js | 12 ++++-------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/code/Magento/Sales/view/frontend/templates/reorder/sidebar.phtml b/app/code/Magento/Sales/view/frontend/templates/reorder/sidebar.phtml index 5ecf1ebe893bc..370e034ead64a 100644 --- a/app/code/Magento/Sales/view/frontend/templates/reorder/sidebar.phtml +++ b/app/code/Magento/Sales/view/frontend/templates/reorder/sidebar.phtml @@ -26,14 +26,18 @@
  1. -
    +
    @@ -46,8 +50,8 @@
-
+
diff --git a/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js b/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js index f393cc3fcd3bc..9897666653df9 100644 --- a/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js +++ b/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js @@ -12,18 +12,14 @@ define([ return Component.extend({ /** @inheritdoc */ initialize: function () { - var isShowAddToCart = false, - item; + var isShowAddToCart; this._super(); this.lastOrderedItems = customerData.get('last-ordered-items'); - for (item in this.lastOrderedItems.items) { - if (item['is_saleable']) { - isShowAddToCart = true; - break; - } - } + isShowAddToCart = _.some(this.lastOrderedItems().items, { + 'is_saleable': true + }); this.lastOrderedItems.isShowAddToCart = isShowAddToCart; } From 58550b9a406536cf8b6db8af2ca62d9f8a18aec9 Mon Sep 17 00:00:00 2001 From: Oleksandr Miroshnichenko Date: Tue, 6 Nov 2018 13:03:59 +0200 Subject: [PATCH 2/3] #13157 - Last Ordered Items block - bad js code --- .../Sales/view/frontend/web/js/view/last-ordered-items.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js b/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js index 9897666653df9..74465128f8c72 100644 --- a/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js +++ b/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js @@ -5,8 +5,9 @@ define([ 'uiComponent', - 'Magento_Customer/js/customer-data' -], function (Component, customerData) { + 'Magento_Customer/js/customer-data', + 'underscore' +], function (Component, customerData, _) { 'use strict'; return Component.extend({ From f1bb98ec0b2ffe12cd91b161f83bfd76cda0827f Mon Sep 17 00:00:00 2001 From: Oleksandr Miroshnichenko Date: Tue, 13 Nov 2018 13:25:39 -0600 Subject: [PATCH 3/3] #13157 - Last Ordered Items block - bad js code --- .../frontend/templates/reorder/sidebar.phtml | 2 +- .../web/js/view/last-ordered-items.js | 27 ++++++++++++++++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/code/Magento/Sales/view/frontend/templates/reorder/sidebar.phtml b/app/code/Magento/Sales/view/frontend/templates/reorder/sidebar.phtml index 370e034ead64a..9b3633fde60b4 100644 --- a/app/code/Magento/Sales/view/frontend/templates/reorder/sidebar.phtml +++ b/app/code/Magento/Sales/view/frontend/templates/reorder/sidebar.phtml @@ -51,7 +51,7 @@
+ data-bind="visible: isShowAddToCart"> diff --git a/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js b/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js index 74465128f8c72..17e61a77d98a3 100644 --- a/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js +++ b/app/code/Magento/Sales/view/frontend/web/js/view/last-ordered-items.js @@ -11,18 +11,37 @@ define([ 'use strict'; return Component.extend({ + defaults: { + isShowAddToCart: false + }, + /** @inheritdoc */ initialize: function () { - var isShowAddToCart; - this._super(); this.lastOrderedItems = customerData.get('last-ordered-items'); + this.lastOrderedItems.subscribe(this.checkSalableItems.bind(this)); + this.checkSalableItems(); + + return this; + }, + + /** @inheritdoc */ + initObservable: function () { + this._super() + .observe('isShowAddToCart'); + + return this; + }, - isShowAddToCart = _.some(this.lastOrderedItems().items, { + /** + * Check if items is_saleable and change add to cart button visibility. + */ + checkSalableItems: function () { + var isShowAddToCart = _.some(this.lastOrderedItems().items, { 'is_saleable': true }); - this.lastOrderedItems.isShowAddToCart = isShowAddToCart; + this.isShowAddToCart(isShowAddToCart); } }); });