Skip to content

Commit a447d68

Browse files
committed
MC-4189: IE11 - PageBuilder Does Not Load
- Only include babel polyfill for IE 11
1 parent 4a9d2e9 commit a447d68

File tree

5 files changed

+70
-3
lines changed

5 files changed

+70
-3
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
namespace Magento\PageBuilder\Block\Adminhtml\Html\Head;
10+
11+
use Magento\Framework\View\Element\Template;
12+
13+
/**
14+
* Class BabelPolyfill
15+
*
16+
* @package Magento\PageBuilder\Block
17+
*/
18+
class BabelPolyfill extends Template
19+
{
20+
/**
21+
* Detect if Page Builder is enabled before loading the polyfill
22+
*
23+
* @return bool
24+
*/
25+
public function shouldLoadPolyfill() : bool
26+
{
27+
return (bool)$this->_scopeConfig->getValue(
28+
\Magento\PageBuilder\Model\Config::IS_PAGEBUILDER_ENABLED
29+
);
30+
}
31+
32+
/**
33+
* Build and return the polyfill static URL
34+
*
35+
* @return string
36+
*/
37+
public function getJsUrl() : string
38+
{
39+
return $this->_assetRepo->getUrl("Magento_PageBuilder::js/babel/polyfill.min.js");
40+
}
41+
}

app/code/Magento/PageBuilder/view/adminhtml/layout/editor.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
-->
88
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
99
<body>
10+
<block class="Magento\Framework\View\Element\Template" name="head.additional" as="head.additional" template="Magento_PageBuilder::html/container.phtml">
11+
<block class="Magento\PageBuilder\Block\Adminhtml\Html\Head\BabelPolyfill" name="pagebuilder.babel.polyfill" as="pagebuilder.babel.polyfill" template="Magento_PageBuilder::head/babel-polyfill.phtml"/>
12+
</block>
1013
<referenceContainer name="before.body.end">
1114
<uiComponent name="pagebuilder_modal_form" />
1215
</referenceContainer>

app/code/Magento/PageBuilder/view/adminhtml/requirejs-config.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@ var config = {
2929
}
3030
},
3131
shim: {
32-
'Magento_PageBuilder/js/page-builder': {
33-
deps: ['Magento_PageBuilder/js/babel/polyfill.min']
34-
},
3532
'pagebuilder/ko-sortable': {
3633
deps: ['jquery', 'jquery/ui', 'Magento_PageBuilder/js/resource/jquery-ui/jquery.ui.touch-punch.min']
3734
},
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
/* @var $block \Magento\PageBuilder\Block\Adminhtml\Html\Head\BabelPolyfill */
8+
9+
if ($block->shouldLoadPolyfill()): ?>
10+
<script type="text/javascript">
11+
if (/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) {
12+
document.write('<script src="<?= $block->getJsUrl() ?>"><\/script>');
13+
}
14+
</script>
15+
<?php endif; ?>
16+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
// @codingStandardsIgnoreFile
8+
9+
?>
10+
<?= $block->getChildHtml() ?>

0 commit comments

Comments
 (0)