Skip to content

Commit 680aef3

Browse files
committed
#37308: converted cookieMessages to observable attribute
UI will now stay in sync after manipulation of state
1 parent f37b43c commit 680aef3

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

app/code/Magento/Theme/view/frontend/templates/messages.phtml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
*/
66
?>
77
<div data-bind="scope: 'messages'">
8-
<!-- ko if: cookieMessages && cookieMessages.length > 0 -->
9-
<div aria-atomic="true" role="alert" data-bind="foreach: { data: cookieMessages, as: 'message' }" class="messages">
8+
<!-- ko if: cookieMessages() && cookieMessages().length > 0 -->
9+
<div aria-atomic="true" role="alert" class="messages" data-bind="foreach: {
10+
data: cookieMessages(), as: 'message'
11+
}">
1012
<div data-bind="attr: {
1113
class: 'message-' + message.type + ' ' + message.type + ' message',
1214
'data-ui-id': 'message-' + message.type

app/code/Magento/Theme/view/frontend/web/js/view/messages.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,14 @@ define([
2727
* Extends Component object by storage observable messages.
2828
*/
2929
initialize: function () {
30-
this._super();
30+
this._super().observe(
31+
[
32+
'cookieMessages',
33+
]
34+
);
35+
36+
this.cookieMessages(_.unique($.cookieStorage.get('mage-messages'), 'text'));
3137

32-
this.cookieMessages = _.unique($.cookieStorage.get('mage-messages'), 'text');
3338
this.messages = customerData.get('messages').extend({
3439
disposableCustomerData: 'messages'
3540
});

0 commit comments

Comments
 (0)