Skip to content

Commit f8bfa11

Browse files
MC-849: Button On Frontend Has HTML Binding
- change buttons to display html as text
1 parent 9b6ca7c commit f8bfa11

File tree

5 files changed

+80
-9
lines changed

5 files changed

+80
-9
lines changed

app/code/Magento/PageBuilder/view/adminhtml/web/js/converter/html/encode.js

Lines changed: 41 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
6+
import {DataObject} from "../../data-store";
7+
import ConverterInterface from "../converter-interface";
8+
9+
export default class Encode implements ConverterInterface {
10+
/**
11+
* Convert value to internal format
12+
*
13+
* @param {string} value
14+
* @returns {string | object}
15+
*/
16+
public fromDom(value: string): string | object {
17+
return value.replace(/&amp;lt;/g, "<").replace(/&amp;gt;/g, ">");
18+
}
19+
20+
/**
21+
* Convert value to knockout format
22+
*
23+
* @param {string} name
24+
* @param {Object} data
25+
* @returns {string}
26+
*/
27+
public toDom(name: string, data: DataObject): string {
28+
return data[name].toString().replace(/</g, "&amp;lt;").replace(/>/g, "&amp;gt;");
29+
}
30+
}

app/code/Magento/PageBuilder/view/base/pagebuilder/content_type/banner.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
<element name="button">
7676
<style name="opacity" source="opacity" converter="Magento_PageBuilder/js/content-type/banner/converter/style/button-opacity" persistence_mode="write"/>
7777
<style name="visibility" source="visibility" converter="Magento_PageBuilder/js/content-type/banner/converter/style/button-visibility" persistence_mode="write"/>
78-
<html name="button_text"/>
78+
<html name="button_text" converter="Magento_PageBuilder/js/converter/html/encode"/>
7979
<css name="button_type">
8080
<filter>
8181
<class source="pagebuilder-banner-button"/>
@@ -150,7 +150,7 @@
150150
<element name="button">
151151
<style name="opacity" source="opacity" converter="Magento_PageBuilder/js/content-type/banner/converter/style/button-opacity" persistence_mode="write"/>
152152
<style name="visibility" source="visibility" converter="Magento_PageBuilder/js/content-type/banner/converter/style/button-visibility" persistence_mode="write"/>
153-
<html name="button_text"/>
153+
<html name="button_text" converter="Magento_PageBuilder/js/converter/html/encode"/>
154154
<css name="button_type">
155155
<filter>
156156
<class source="pagebuilder-banner-button"/>
@@ -225,7 +225,7 @@
225225
<element name="button">
226226
<style name="opacity" source="opacity" converter="Magento_PageBuilder/js/content-type/banner/converter/style/button-opacity" persistence_mode="write"/>
227227
<style name="visibility" source="visibility" converter="Magento_PageBuilder/js/content-type/banner/converter/style/button-visibility" persistence_mode="write"/>
228-
<html name="button_text"/>
228+
<html name="button_text" converter="Magento_PageBuilder/js/converter/html/encode"/>
229229
<css name="button_type">
230230
<filter>
231231
<class source="pagebuilder-banner-button"/>
@@ -299,7 +299,7 @@
299299
<element name="button">
300300
<style name="opacity" source="opacity" converter="Magento_PageBuilder/js/content-type/banner/converter/style/button-opacity" persistence_mode="write"/>
301301
<style name="visibility" source="visibility" converter="Magento_PageBuilder/js/content-type/banner/converter/style/button-visibility" persistence_mode="write"/>
302-
<html name="button_text"/>
302+
<html name="button_text" converter="Magento_PageBuilder/js/converter/html/encode"/>
303303
<css name="button_type">
304304
<filter>
305305
<class source="pagebuilder-banner-button"/>

app/code/Magento/PageBuilder/view/base/pagebuilder/content_type/button_item.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<css name="button_type"/>
4848
</element>
4949
<element name="link_text">
50-
<html name="button_text"/>
50+
<html name="button_text" converter="Magento_PageBuilder/js/converter/html/encode"/>
5151
</element>
5252
</elements>
5353
</appearance>

app/code/Magento/PageBuilder/view/base/pagebuilder/content_type/slide.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
<element name="button">
8080
<style name="opacity" source="opacity" converter="Magento_PageBuilder/js/content-type/slide/converter/style/button-opacity" persistence_mode="write"/>
8181
<style name="visibility" source="visibility" converter="Magento_PageBuilder/js/content-type/slide/converter/style/button-visibility" persistence_mode="write"/>
82-
<html name="button_text"/>
82+
<html name="button_text" converter="Magento_PageBuilder/js/converter/html/encode"/>
8383
<css name="button_type">
8484
<filter>
8585
<class source="pagebuilder-slider-button"/>
@@ -155,7 +155,7 @@
155155
<element name="button">
156156
<style name="opacity" source="opacity" converter="Magento_PageBuilder/js/content-type/slide/converter/style/button-opacity" persistence_mode="write"/>
157157
<style name="visibility" source="visibility" converter="Magento_PageBuilder/js/content-type/slide/converter/style/button-visibility" persistence_mode="write"/>
158-
<html name="button_text"/>
158+
<html name="button_text" converter="Magento_PageBuilder/js/converter/html/encode"/>
159159
<css name="button_type">
160160
<filter>
161161
<class source="pagebuilder-slider-button"/>
@@ -231,7 +231,7 @@
231231
<element name="button">
232232
<style name="opacity" source="opacity" converter="Magento_PageBuilder/js/content-type/slide/converter/style/button-opacity" persistence_mode="write"/>
233233
<style name="visibility" source="visibility" converter="Magento_PageBuilder/js/content-type/slide/converter/style/button-visibility" persistence_mode="write"/>
234-
<html name="button_text"/>
234+
<html name="button_text" converter="Magento_PageBuilder/js/converter/html/encode"/>
235235
<css name="button_type">
236236
<filter>
237237
<class source="pagebuilder-slider-button"/>
@@ -309,7 +309,7 @@
309309
<element name="button">
310310
<style name="opacity" source="opacity" converter="Magento_PageBuilder/js/content-type/slide/converter/style/button-opacity" persistence_mode="write"/>
311311
<style name="visibility" source="visibility" converter="Magento_PageBuilder/js/content-type/slide/converter/style/button-visibility" persistence_mode="write"/>
312-
<html name="button_text"/>
312+
<html name="button_text" converter="Magento_PageBuilder/js/converter/html/encode"/>
313313
<css name="button_type">
314314
<filter>
315315
<class source="pagebuilder-slider-button"/>

0 commit comments

Comments
 (0)