Skip to content

Commit a0f5e27

Browse files
committed
Merge remote-tracking branch 'owls/1.0.0-beta-release' into MC-5372-Collage-doesnt-work-correctly
2 parents ea6238b + d4d31a7 commit a0f5e27

File tree

154 files changed

+2278
-693
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+2278
-693
lines changed

README.md

Lines changed: 12 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,28 @@
1-
# magento2-page-builder
2-
3-
<!-- {% raw %} -->
4-
51
## PageBuilder Early Access Program
62

7-
The PageBuilder Early Access Program (EAP) gives partners the following perks:
8-
9-
* Explore PageBuilder extension points to build custom modules and integrations for 3rd party services, such as Facebook, Instagram, etc.
10-
* Try out PageBuilder customization options and extend its functionality beyond its default features.
11-
* Preview PageBuilder to prepare a migration plan from BlueFoot 1.0 to PageBuilder.
12-
13-
**Note:**
14-
*This program should not be used to design and launch a production website using early code.*
15-
16-
## Installation
17-
18-
We offer one method for installing PageBuilder:
19-
20-
* As a [Composer package] - use this option if you do not plan to contribute to the PageBuilder code repository.
21-
* Using the [GitHub repository] - use this option to install PageBuilder from the GitHub repository and contribute to the code.
22-
23-
[Composer package]: docs/install-pagebuilder.md#composer-installation
24-
[GitHub repository]: docs/install-pagebuilder.md#github-installation
25-
26-
<!-- {% comment %} -->
3+
The Page Builder Early Access Program (EAP) gives partners the following perks:
4+
5+
* Explore extension points to build custom modules and integrations for 3rd party services, such as Facebook and Instagram.
6+
* Try out customization options and extend its functionality beyond its default features.
7+
* Preview to prepare a migration plan from BlueFoot 1.0 to PageBuilder.
278

289
## Developer documentation
2910

30-
### Getting Started
31-
32-
1. [Introduction](docs/getting-started/introduction.md)
33-
2. [Install Page Builder](docs/getting-started/install-pagebuilder.md)
34-
3. [Activate Page Builder](docs/getting-started/activate-pagebuilder.md)
35-
36-
### Customizations
37-
38-
* [Block chooser](docs/customizations/block-chooser.md)
39-
* [Full-width page layouts](docs/customizations/full-width-page-layouts.md)
40-
* [Responsive layouts](docs/customizations/responsive-layouts.md)
41-
* [Storefront customization](docs/customizations/storefront-customization.md)
42-
* [Visual selects](docs/customizations/visual-selects.md)
43-
* [Additional data configuration](docs/customizations/additional-data-configuration.md)
44-
* [Product conditions](docs/customizations/product-conditions.md)
45-
* [Server-side rendered previews](docs/customizations/server-side-rendered-previews.md)
46-
47-
### How Tos
48-
49-
* [How to develop a new content type](docs/how-to/how-to-develop-new-content-type.md)
50-
* [How to develop a container content type](docs/how-to/how-to-develop-container-content-type.md)
51-
* [How to use the Image Uploader](docs/how-to/how-to-use-image-uploader.md)
52-
* [How to add inline text editing](docs/how-to/how-to-add-inline-text-editing.md)
53-
* [How to add a custom toolbar](docs/how-to/how-to-add-custom-toolbar.md)
54-
* [How to convert product attribute fields to use Page Builder](docs/how-to/how-to-convert-product-attributes-to-use-pagebuilder.md)
55-
* [How to store a component master format as a widget-directive](docs/how-to/how-to-store-master-format-as-widget-directive.md)
56-
57-
### Reference
58-
59-
* [Architecture](docs/reference/architecture.md)
60-
* [Events](docs/reference/events.md)
61-
* [Knockout bindings](docs/reference/knockout-bindings.md)
62-
* [Configuration](docs/reference/configuration.md)
63-
* [Master format](docs/reference/master-format.md)
64-
65-
### Migration
66-
67-
* [Migrate from BlueFoot](docs/migration/migrate-from-bluefoot.md)
68-
* [Migrate custom content types from BlueFoot](docs/migration/migrate-custom-content-types-from-bluefoot.md)
69-
70-
<!-- {% endcomment %} -->
11+
We will update the developer documentation frequently during beta. Please use this link to access the latest updates: 
12+
[Page Builder developer documentation](https://devdocs.magedevteam.com/ds_pagebuilder/page-builder/getting-started/introduction.html)
7113

7214
## Contribute to PageBuilder
7315

7416
We appreciate any and all contributions to PageBuilder. If you are interested in contributing to this repository, please see our [Contribution Guide].
7517

76-
[Contribution Guide]: CONTRIBUTING.md
77-
7818
## PageBuilder updates from the Magento core team
7919

80-
The PageBuilder team updates the code every 2 weeks.
81-
**These changes may introduce breaking changes.**
82-
83-
## Provide feedback
20+
We will push new beta releases once a week, including work from the backlog. We don't expect any large breaking changes, but we will communicate them to you if the need arises.
8421

85-
We want to hear what you think of PageBuilder!
86-
We are particularly interested on your thoughts on the following:
22+
## Contact us
8723

88-
* [How would you customize PageBuilder and what do you need to accomplish this task?](https://github.com/magento/magento2-page-builder/issues/57)
89-
* [What web content API do you use or would like to see in PageBuilder?](https://github.com/magento/magento2-page-builder/issues/58)
24+
To participate in technical discussions and ask questions, join us in [Slack], where a number of Page Builder team members are present.
9025

91-
To participate in technical discussions and ask questions, join us in [Slack].
9226

93-
For all other questions or requests, contact [Olena Tkacheva].
94-
95-
[Slack]: https://magentocommeng.slack.com/
96-
[Olena Tkacheva]: https://magentocommeng.slack.com/messages/@UAFV915FB
97-
98-
<!-- {% endraw %} -->
27+
[Contribution Guide]: CONTRIBUTING.md
28+
[Slack]: https://magentocommeng.slack.com/messages/GANS1R4C9

app/code/Magento/PageBuilder/Block/Adminhtml/ContentType/Edit/ResetButton.php

Lines changed: 0 additions & 37 deletions
This file was deleted.

app/code/Magento/PageBuilder/Model/Stage/Config.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,6 @@ private function flattenContentTypeData(string $name, array $contentType)
179179
'label' => $contentType['label'],
180180
'icon' => $contentType['icon'],
181181
'form' => $contentType['form'],
182-
'is_hideable' =>
183-
isset($contentType['is_hideable']) && $contentType['is_hideable'] === 'false' ? false : true,
184182
'contentType' => '',
185183
'group' => $contentType['group'] ?? 'general',
186184
'fields' => $this->uiComponentConfig->getFields($contentType['form']),

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/OptionsMenuActionGroup.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,21 @@
8383
<arguments>
8484
<argument name="contentType"/>
8585
<argument name="targetIndex" defaultValue="1" type="string"/>
86-
<argument name="expectedIndex" defaultValue="2" type="string"/>
8786
<argument name="contentTypeXCoordinate" defaultValue="null" type="string"/>
8887
<argument name="contentTypeYCoordinate" defaultValue="null" type="string"/>
8988
</arguments>
89+
<waitForElement selector="{{PageBuilderStage.contentTypeTotalInStage(contentType.role)}}" stepKey="waitForAllContentTypes"/>
90+
<executeJS function="return document.querySelectorAll('{{PageBuilderStage.contentTypeTotalInStage(contentType.role)}}').length+1" stepKey="expectedContentTypeCount"/>
9091
<waitForElementVisible selector="{{PageBuilderStage.contentTypeInStageByIndex(contentType.role, targetIndex)}}" stepKey="waitForContentTypeInStageVisible"/>
9192
<moveMouseOver selector="{{PageBuilderStage.contentTypeInStageByIndex(contentType.role, targetIndex)}}" x="{{contentTypeXCoordinate}}" y="{{contentTypeYCoordinate}}" stepKey="onMouseOverContentTypeStage"/>
9293
<waitForElementVisible selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenuByIndex(contentType.role, targetIndex)}}" stepKey="waitForOptionsMenu"/>
9394
<click selector="{{PageBuilderContentTypeOptionsMenu.contentTypeDuplicate(contentType.role, targetIndex)}}" stepKey="clickDuplicateContentType"/>
9495
<waitForPageLoad time="30" stepKey="waitForAnimation"/>
95-
<waitForElementVisible selector="{{PageBuilderStage.contentTypeInStageByIndex(contentType.role, expectedIndex)}}" stepKey="waitForDuplicateContentType"/>
96+
<executeJS function="return document.querySelectorAll('{{PageBuilderStage.contentTypeTotalInStage(contentType.role)}}').length" stepKey="resultingContentTypeCount"/>
97+
<assertEquals stepKey="assertContentTypeCount">
98+
<actualResult type="variable">$resultingContentTypeCount</actualResult>
99+
<expectedResult type="variable">$expectedContentTypeCount</expectedResult>
100+
</assertEquals>
96101
</actionGroup>
97102
<actionGroup name="duplicateSmallContentType">
98103
<arguments>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderBannerSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
<section name="BannerOnBackend">
7171
<element name="base" type="button" selector="(//div[contains(@class,'pagebuilder-banner') and contains(@class,'pagebuilder-content-type')])[{{arg1}}]" parameterized="true"/>
7272
<element name="hidden" type="button" selector="(//div[contains(@class,'pagebuilder-banner') and contains(@class,'pagebuilder-content-type')])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/>
73-
<element name="notHidden" type="button" selector="(//div[contains(@class,'pagebuilder-banner') and contains(@class,'pagebuilder-content-type')])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
73+
<element name="notHidden" type="button" selector="(//div[contains(@class,'pagebuilder-banner') and contains(@class,'pagebuilder-content-type')])[{{arg1}}]/parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
7474
<element name="elementJS" type="button" selector="document.querySelectorAll('[data-role=banner]')[{{arg1}} - 1]" parameterized="true"/>
7575
<element name="wrapperJS" type="button" selector="document.querySelectorAll('[data-role=banner] div.pagebuilder-banner-wrapper')[{{arg1}} - 1]" parameterized="true"/>
7676
<element name="overlay" type="button" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-banner')])[{{arg1}}]//div[@data-element='overlay']" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderBlockSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<element name="title" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@class,'pagebuilder-options-wrapper')]//div[contains(@class,'option-title') and text()='{{arg}}']" parameterized="true"/>
1616
<element name="base" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]" parameterized="true"/>
1717
<element name="hidden" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/>
18-
<element name="notHidden" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
18+
<element name="notHidden" type="text" selector="(//div[contains(@class,'pagebuilder-block') and not(contains(@class,'placeholder'))])[{{arg1}}]/parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
1919
<element name="hr" type="button" selector="((//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[@data-identifier])[{{arg2}}]//hr" parameterized="true"/>
2020
<element name="content" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@class,'block-static-block')]" parameterized="true"/>
2121
<!-- Advanced Configuration -->

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderButtonsSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<element name="jsButtonGroupSelector" type="text" selector="document.querySelectorAll('.pagebuilder-buttons')[{{arg1}}-1]" parameterized="true"/>
1313
<element name="base" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]" parameterized="true"/>
1414
<element name="hidden" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/>
15-
<element name="notHidden" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
15+
<element name="notHidden" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]/parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
1616
<element name="appearance" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]//div[@data-appearance='{{arg2}}']" parameterized="true"/>
1717
<element name="sameSizeValue" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]//div[@data-element='main'][@data-same-width='{{arg2}}']" parameterized="true"/>
1818
<element name="addNewButtonItemOption" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]//a[contains(@title,'Add Button')]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderDividerSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<element name="allDividers" type="text" selector="//div[contains(@class,'pagebuilder-divider')]"/>
1313
<element name="base" type="text" selector="(//div[contains(@class,'pagebuilder-divider')])[{{arg1}}]" parameterized="true"/>
1414
<element name="hidden" type="text" selector="(//div[contains(@class,'pagebuilder-divider')])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/>
15-
<element name="notHidden" type="text" selector="(//div[contains(@class,'pagebuilder-divider')])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
15+
<element name="notHidden" type="text" selector="(//div[contains(@class,'pagebuilder-divider')])[{{arg1}}]/parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
1616
<element name="color" type="text" selector="(//div[contains(@class,'pagebuilder-divider')])[{{arg1}}]//hr[contains(@style,'border-color: {{arg2}};')]" parameterized="true"/>
1717
<element name="noColor" type="text" selector="(//div[contains(@class,'pagebuilder-divider')])[{{arg1}}]//hr[not(contains(@style,'border-color:'))]" parameterized="true"/>
1818
<element name="thickness" type="text" selector="(//div[contains(@class,'pagebuilder-divider')])[{{arg1}}]//hr[contains(@style,'border-width: {{arg2}}px;')]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderHeadingSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<element name="all" type="button" selector="//div[contains(@class,'pagebuilder-heading')]"/>
1313
<element name="base" type="text" selector="(//*[@data-role='heading'])[{{arg1}}]" parameterized="true"/>
1414
<element name="hidden" type="text" selector="(//*[@data-role='heading'])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/>
15-
<element name="notHidden" type="text" selector="(//*[@data-role='heading'])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
15+
<element name="notHidden" type="text" selector="(//div[contains(@class,'pagebuilder-heading')])[{{arg1}}]/parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
1616
<element name="baseByTagName" type="text" selector="(//{{arg1}})[{{arg2}}]" parameterized="true"/>
1717
<element name="allHeadingsInContainer" type="button" selector="(//div[contains(@class, '{{arg1}}-container')])[{{arg2}}]//div[contains(@class,'pagebuilder-heading')]" parameterized="true"/>
1818
<element name="headingText" type="button" selector="(//{{arg1}}[.= '{{arg2}}'])[{{arg3}}]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderHtmlSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<section name="HtmlOnStage">
1111
<element name="base" type="text" selector="(//div[contains(@class,'pagebuilder-html')]//div[contains(@data-bind,'text: data.main.html') or contains(@class,'placeholder-html-empty')])[{{arg1}}]" parameterized="true"/>
1212
<element name="hidden" type="text" selector="(//*[@data-role='html'])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/>
13-
<element name="notHidden" type="text" selector="(//*[@data-role='html'])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
13+
<element name="notHidden" type="text" selector="(//div[contains(@class,'pagebuilder-html')])[{{arg1}}]/parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
1414
<element name="empty" type="text" selector="(//div[contains(@class,'placeholder-html-empty')])[{{arg1}}]" parameterized="true"/>
1515
<element name="html" type="text" selector="(//div[contains(@class,'pagebuilder-html')]//div[contains(@data-bind,'text: data.main.html')])[{{arg1}}]{{arg2}}" parameterized="true"/>
1616
<!-- Advanced Configuration -->

0 commit comments

Comments
 (0)