Skip to content

Commit 4232f58

Browse files
authored
Merge branch 'develop' into comm_743
2 parents 979c959 + 6dd003e commit 4232f58

File tree

25 files changed

+196
-52
lines changed

25 files changed

+196
-52
lines changed

app/code/Magento/PageBuilder/Model/Stage/Renderer/Block.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ public function render(array $params): array
6868
];
6969

7070
$contentTypes = $this->config->getContentTypes();
71-
$backendBlockClassName = isset($contentTypes[$params['role']]['backend_block'])
71+
$backendBlockClassName = isset($params['role']) && isset($contentTypes[$params['role']]['backend_block'])
7272
? $contentTypes[$params['role']]['backend_block'] : false;
73-
$backendBlockTemplate = isset($contentTypes[$params['role']]['backend_template'])
73+
$backendBlockTemplate = isset($params['role']) && isset($contentTypes[$params['role']]['backend_template'])
7474
? $contentTypes[$params['role']]['backend_template'] : false;
7575

7676
if ($backendBlockTemplate) {

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup/ValidateVideoBackgroundWithOnlyVideoUrlActionGroup.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
<actualResult type="variable">grabBackgroundColorValue</actualResult>
2929
</assertEquals>
3030
<wait time="5" stepKey="waitToPreventVideoFlakiness"/>
31-
<waitForElementVisible selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideoVisible"/>
31+
<scrollToTopOfPage stepKey="scrollToTopToAvoidFlakiness" />
32+
<waitForElement selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideoVisible"/>
3233
<waitForElement selector="{{section.videoBackgroundVideoUrl(index, videoUrl.renderedValue)}}" stepKey="waitForVideoUrl"/>
3334
<grabAttributeFrom selector="{{section.videoBackgroundJarallaxContainer(index)}}" userInput="style" stepKey="jarallaxStyle"/>
3435
<assertStringContainsString stepKey="assertHeight">

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/EditFormActionGroup/validateSlideOutPanelFieldIsNotRequiredWithUploaderIdActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<arguments>
1212
<argument name="property"/>
1313
</arguments>
14-
<waitForElementVisible time="2" selector="{{EditPanelForm.panelFieldControlWithUploaderId(property.section, property.fieldName)}}" stepKey="waitForPropertyElement"/>
14+
<waitForElementVisible time="2" selector="{{EditPanelForm.panelFieldNameWithUploaderId(property.section, property.fieldName)}}" stepKey="waitForPropertyElement"/>
1515
<dontSeeElement selector="{{EditPanelForm.panelFieldRequired(property.section, property.fieldName)}}" stepKey="seePropertyIsNotARequiredField"/>
1616
</actionGroup>
1717
</actionGroups>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderEditFormSection/EditPanelFormSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<element name="panelSectionGenericError" type="text" selector="div.message.message-error.error"/>
2222
<element name="panelFieldControl" type="input" selector="//aside//div[@data-index=&quot;{{arg1}}&quot;]/descendant::*[@name=&quot;{{arg2}}&quot;]" parameterized="true"/>
2323
<element name="panelFieldControlWithUploaderId" type="input" selector="//aside//div[@data-index=&quot;{{arg1}}&quot;]/descendant::*[@upload-area-id=&quot;{{arg2}}&quot;]//div[contains(@class,'uppy-Root')]//input[contains(@class,'uppy-Dashboard-input')]" parameterized="true"/>
24+
<element name="panelFieldNameWithUploaderId" type="input" selector="//aside//div[@data-index=&quot;{{propertySection}}&quot;]/descendant::*[@upload-area-id=&quot;{{propertyField}}&quot;]" parameterized="true"/>
2425
<element name="panelFieldControlCheckbox" type="input" selector="//input[@type='checkbox' and @name='{{arg1}}']" parameterized="true"/>
2526
<element name="panelFieldControlCheckboxState" type="input" selector="//input[@type='checkbox' and @name='{{arg1}}' and @value='{{arg2}}']" parameterized="true"/>
2627
<element name="panelFieldControlSwitch" type="input" selector="//*[@name='{{arg1}}']/parent::*/label" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderImageTest/ImageTestCMSPageOnTabletTest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,12 @@
9494
<dontSeeElement selector="{{ImageOnStorefront.imageMobile('1')}}" stepKey="dontSeeMobileImageOnDefaultRes"/>
9595

9696
<!-- Validate images with window width of 768px -->
97-
<resizeWindow width="769" height="1024" stepKey="resizeWindowTo768by1024"/>
97+
<resizeWindow width="768" height="1024" stepKey="resizeWindowTo768by1024"/>
9898
<seeElement selector="{{ImageOnStorefront.imageDesktop('1')}}" stepKey="seeMainImageOn768by1024"/>
9999
<dontSeeElement selector="{{ImageOnStorefront.imageMobile('1')}}" stepKey="dontSeeMobileImageOn768by1024"/>
100100

101101
<!-- Validate images with window width of 767px -->
102-
<resizeWindow width="768" height="1024" stepKey="resizeWindowTo767by1024"/>
102+
<resizeWindow width="767" height="1024" stepKey="resizeWindowTo767by1024"/>
103103
<seeElement selector="{{ImageOnStorefront.imageMobile('1')}}" stepKey="seeMobileImageOn767by1024"/>
104104
<dontSeeElement selector="{{ImageOnStorefront.imageDesktop('1')}}" stepKey="dontSeeDesktopImageOn767by1024"/>
105105
</test>
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
/**
3+
* Copyright 2024 Adobe
4+
* All Rights Reserved.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\PageBuilder\ViewModel;
9+
10+
use Magento\Backend\ViewModel\RequireJsConfigModifierInterface;
11+
use Magento\Framework\View\Element\Block\ArgumentInterface;
12+
13+
/**
14+
* Modifies requirejs configuration for the stage render frame
15+
*
16+
* Override the text! plugin within the iframe to ensure we can pipe any XHR requests through to the parent window
17+
* as the same origin policy will not allow us to load the templates within this iframe.
18+
* It is important that this mapping is configured before requirejs-config.js to ensure the text! plugin is overridden
19+
* for all requests.
20+
*/
21+
class StageRenderFrameRequireJsConfigModifier implements ArgumentInterface, RequireJsConfigModifierInterface
22+
{
23+
/**
24+
* @inheritDoc
25+
*/
26+
public function modify(array $config): array
27+
{
28+
$config['map']['*'] = array_merge(
29+
$config['map']['*'] ?? [],
30+
[
31+
'text' => 'Magento_PageBuilder/js/master-format/render/requirejs/text',
32+
'Magento_PageBuilder/js/events' => 'Magento_PageBuilder/js/master-format/render/events'
33+
]
34+
);
35+
return $config;
36+
}
37+
}

app/code/Magento/PageBuilder/etc/view.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@
6262
<var name="stage">true</var>
6363
<var name="class">mobile-switcher</var>
6464
<var name="icon">Magento_PageBuilder::css/images/switcher/switcher-mobile.svg</var>
65-
<var name="media">only screen and (max-width: 768px)</var>
65+
<var name="media">only screen and (max-width: 767px)</var>
6666
<var name="conditions">
67-
<var name="max-width">768px</var>
67+
<var name="max-width">767px</var>
6868
<var name="min-width">640px</var>
6969
</var>
7070
<var name="options">

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@
1414
<remove src="css/styles.css"/>
1515
</head>
1616
<body>
17+
<referenceBlock name="require.js">
18+
<arguments>
19+
<argument name="config_modifier" xsi:type="object">
20+
Magento\PageBuilder\ViewModel\StageRenderFrameRequireJsConfigModifier
21+
</argument>
22+
</arguments>
23+
</referenceBlock>
1724
<referenceContainer name="backend.page" remove="true"/>
1825
<referenceContainer name="menu.wrapper" remove="true"/>
1926
<referenceContainer name="root">

app/code/Magento/PageBuilder/view/adminhtml/templates/stage/render.phtml

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,16 @@
1010
*/
1111
?>
1212

13-
<?php
14-
/**
15-
* Override the text! plugin within the iframe to ensure we can pipe any XHR requests through to the parent window
16-
* as the same origin policy will not allow us to load the templates within this iframe.
17-
*/
18-
?>
1913
<?php
2014
$pageBuilderConfig = $block->getPageBuilderConfig();
2115

22-
$script = <<<SCRIPT
23-
require.config({
24-
'map': {
25-
'*': {
26-
'text': 'Magento_PageBuilder/js/master-format/render/requirejs/text',
27-
'Magento_PageBuilder/js/events': 'Magento_PageBuilder/js/master-format/render/events'
28-
}
29-
}
30-
});
31-
SCRIPT;
32-
3316
/**
3417
* To be able to override the text plugin we need the Magento template engine to be used, as the template engine
3518
* within lib has a dependency on the text! plugin we need to ensure we set the template engine before the
3619
* dependency blocks us. If we try to just override using the RequireJS config above our !text plugin will never
3720
* get overridden as our template engine cannot load.
3821
*/
39-
$script .= <<<SCRIPT
22+
$script = <<<SCRIPT
4023
require([
4124
'ko',
4225
'Magento_Ui/js/lib/knockout/template/engine'

app/code/Magento/PageBuilder/view/adminhtml/web/js/content-type/text/preview.js

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)