Skip to content

Commit 5e39346

Browse files
committed
Merge branch '2.4-develop' of https://github.com/magento-l3/magento2ce into MC-42443
2 parents f4426ef + 496570c commit 5e39346

File tree

218 files changed

+22820
-3768
lines changed

Some content is hidden

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

218 files changed

+22820
-3768
lines changed

app/code/Magento/Catalog/Test/Mftf/Test/AdminAddImageToWYSIWYGCatalogTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{SimpleSubCategory.name}}" stepKey="enterCategoryName"/>
2929
<click selector="{{AdminProductFormSection.contentTab}}" stepKey="clickContentTab"/>
3030
<waitForElementVisible selector="{{TinyMCESection.TinyMCE}}" stepKey="waitForTinyMCE" />
31+
<scrollTo selector="{{TinyMCESection.InsertImageIcon}}" stepKey="scrollToImageIcon"/>
3132
<click selector="{{TinyMCESection.InsertImageIcon}}" stepKey="clickInsertImageIcon" />
3233
<waitForPageLoad stepKey="waitForPageLoad" />
3334
<actionGroup ref="ClickBrowseBtnOnUploadPopupActionGroup" stepKey="clickBrowserBtn"/>

app/code/Magento/Cms/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ The CMS module provides the create, edit, and manage functionality on pages for
66

77
### Wysiwyg
88

9-
The Wysiwyg UI component is a customizable and configurable TinyMCE4 editor.
9+
The Wysiwyg UI component is a customizable and configurable TinyMCE editor.
1010

1111
The default implementation has the following customizations:
1212

13-
* Magento Media Library support
13+
* Magento Media Library support

app/code/Magento/Cms/Test/Mftf/Data/WysiwygConfigData.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@
2222
<data key="path">cms/wysiwyg/editor</data>
2323
<data key="scope_id">0</data>
2424
<data key="label">Yes</data>
25-
<data key="value">mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter</data>
25+
<data key="value">mage/adminhtml/wysiwyg/tiny_mce/tinymce5Adapter</data>
2626
</entity>
2727
</entities>

app/code/Magento/Cms/Test/Mftf/Section/TinyMCESection/MediaGallerySection.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@
88
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="MediaGallerySection">
11-
<element name="Browse" type="button" selector=".mce-i-browse"/>
11+
<element name="Browse" type="button" selector=".tox-browse-url"/>
1212
<element name="browseForImage" type="button" selector="#srcbrowser"/>
1313
<element name="BrowseUploadImage" type="file" selector=".fileupload"/>
1414
<element name="image" type="text" selector="//small[text()='{{var1}}']" parameterized="true"/>
1515
<element name="imageOrImageCopy" type="text" selector="//div[contains(@class,'media-gallery-modal')]//img[contains(@alt, '{{arg1}}.{{arg2}}')]|//img[contains(@alt,'{{arg1}}_') and contains(@alt,'.{{arg2}}')]" parameterized="true"/>
1616
<element name="lastImageOrImageCopy" type="text" selector="(//div[contains(@class,'media-gallery-modal')]//img[contains(@alt, '{{arg1}}.{{arg2}}')]|//img[contains(@alt,'{{arg1}}_') and contains(@alt,'.{{arg2}}')])[last()]" parameterized="true"/>
1717
<element name="imageSelected" type="text" selector="//small[text()='{{var1}}']/parent::*[@class='filecnt selected']" parameterized="true"/>
1818
<element name="ImageSource" type="input" selector=".mce-combobox.mce-abs-layout-item.mce-last.mce-has-open"/>
19-
<element name="ImageDescription" type="input" selector=".mce-textbox.mce-abs-layout-item.mce-last"/>
19+
<element name="ImageDescription" type="input" selector="//label[text()='Alternative description']/parent::div//input"/>
2020
<element name="ImageDescriptionTinyMCE" type="input" selector="#alt" />
21-
<element name="Height" type="input" selector=".mce-textbox.mce-abs-layout-item.mce-first"/>
21+
<element name="Height" type="input" selector="//label[text()='Height']/parent::div//input"/>
2222
<element name="UploadImage" type="file" selector=".fileupload"/>
23-
<element name="OkBtn" type="button" selector="//span[text()='Ok']"/>
23+
<element name="OkBtn" type="button" selector=".tox-dialog__footer button[title='Save']"/>
2424
<element name="insertBtn" type="button" selector="#insert"/>
2525
<element name="InsertFile" type="text" selector="#insert_files" timeout="30"/>
2626
<element name="CreateFolder" type="button" selector="#new_folder" timeout="30"/>

app/code/Magento/Cms/Test/Mftf/Section/TinyMCESection/TinyMCESection.xml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,31 @@
1010
<section name="TinyMCESection">
1111
<element name="checkIfContentTabOpen" type="button" selector="//span[text()='Content']/parent::strong/parent::*[@data-state-collapsible='closed']"/>
1212
<element name="CheckIfTabExpand" type="button" selector="//div[@data-state-collapsible='closed']//span[text()='Content']"/>
13-
<element name="TinyMCE" type="text" selector=".mce-branding"/>
13+
<element name="TinyMCE" type="text" selector=".tox-tinymce"/>
1414
<element name="InsertWidgetBtn" type="button" selector=".action-add-widget"/>
15-
<element name="InsertWidgetIcon" type="button" selector="div[aria-label='Insert Widget']" timeout="30"/>
15+
<element name="InsertWidgetIcon" type="button" selector="button[aria-label='Insert Widget']" timeout="30"/>
1616
<element name="InsertVariableBtn" type="button" selector=".scalable.add-variable.plugin"/>
17-
<element name="InsertVariableIcon" type="button" selector="div[aria-label='Insert Variable']"/>
17+
<element name="InsertVariableIcon" type="button" selector="button[aria-label='Insert Variable']"/>
1818
<element name="InsertImageBtn" type="button" selector=".scalable.action-add-image.plugin"/>
19-
<element name="InsertImageIcon" type="button" selector=".mce-i-image" timeout="30"/>
20-
<element name="Style" type="button" selector=".mce-txt"/>
21-
<element name="Bold" type="button" selector=".mce-i-bold"/>
22-
<element name="Italic" type="button" selector=".mce-i-italic"/>
23-
<element name="Underline" type="button" selector=".mce-i-underline"/>
24-
<element name="AlignLeft" type="button" selector=".mce-i-alignleft"/>
25-
<element name="AlignCenter" type="button" selector=".mce-i-aligncenter"/>
26-
<element name="AlignRight" type="button" selector=".mce-i-alignright"/>
27-
<element name="Bullet" type="button" selector=".mce-i-bullist"/>
28-
<element name="Numlist" type="button" selector=".mce-i-numlist"/>
29-
<element name="InsertLink" type="button" selector=".mce-i-link"/>
30-
<element name="InsertTable" type="button" selector=".mce-i-table"/>
31-
<element name="SpecialCharacter" type="button" selector=".mce-i-charmap"/>
19+
<element name="InsertImageIcon" type="button" selector="button[title='Insert/edit image']" timeout="30"/>
20+
<element name="Style" type="button" selector="button[title='Blocks']"/>
21+
<element name="Bold" type="button" selector="button[title='Bold']"/>
22+
<element name="Italic" type="button" selector="button[title='Italic']"/>
23+
<element name="Underline" type="button" selector="button[title='Underline']"/>
24+
<element name="AlignLeft" type="button" selector="button[title='Align left']"/>
25+
<element name="AlignCenter" type="button" selector="button[title='Align center']"/>
26+
<element name="AlignRight" type="button" selector="button[title='Align right']"/>
27+
<element name="Bullet" type="button" selector="div[title='Bullet list']"/>
28+
<element name="Numlist" type="button" selector="div[title='Numbered list']"/>
29+
<element name="InsertLink" type="button" selector="button[title='Insert/edit link']"/>
30+
<element name="InsertTable" type="button" selector="button[title='Table']"/>
31+
<element name="SpecialCharacter" type="button" selector="button[title='Special character']"/>
3232
<element name="WidgetButton" type="button" selector="span[class*='magento-widget mceNonEditable']"/>
3333
<element name="EditorContent" type="input" selector="#tinymce"/>
3434
<element name="Content" type="textarea" selector="textarea"/>
3535
<element name="ShowHideBtn" type="button" selector=".scalable.action-show-hide"/>
36-
<element name="EditArea" type="text" selector=".mce-edit-area"/>
37-
<element name="EditAreaIframe" type="iframe" selector=".mce-edit-area iframe"/>
36+
<element name="EditArea" type="text" selector=".tox-edit-area"/>
37+
<element name="EditAreaIframe" type="iframe" selector=".tox-edit-area iframe"/>
3838
<element name="IframeContent" type="block" selector=".mce-content-body"/>
3939
<element name="imageSource" type="text" selector="//img[contains(@src,'{{var1}}')]" parameterized="true"/>
4040
<element name="ImageAlt" type="text" selector="//img[contains(@alt,'{{var1}}')]" parameterized="true"/>

app/code/Magento/Cms/Test/Mftf/Test/AdminMediaGalleryPopupUploadImagesWithoutErrorTest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<before>
2222
<!--Enable WYSIWYG options-->
2323
<comment userInput="Enable WYSIWYG options" stepKey="commentEnableWYSIWYG"/>
24-
<magentoCLI command="config:set cms/wysiwyg/enabled enabled" stepKey="enableWYSIWYGEditor"/>
24+
<actionGroup ref="EnabledWYSIWYGActionGroup" stepKey="enableWYSIWYGEditor"/>
2525
<magentoCLI command="config:set cms/wysiwyg/editor 'TinyMCE 4'" stepKey="setValueWYSIWYGEditor"/>
2626
<!--Create block-->
2727
<comment userInput="Create block" stepKey="commentCreateBlock"/>
@@ -31,7 +31,7 @@
3131
<after>
3232
<!--Disable WYSIWYG options-->
3333
<comment userInput="Disable WYSIWYG options" stepKey="commentDisableWYSIWYG"/>
34-
<magentoCLI command="config:set cms/wysiwyg/enabled disabled" stepKey="disableWYSIWYG"/>
34+
<actionGroup ref="AdminDisableWYSIWYGActionGroup" stepKey="disableWYSIWYG"/>
3535
<deleteData createDataKey="createBlock" stepKey="deleteBlock" />
3636
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
3737
</after>

app/code/Magento/Cms/etc/adminhtml/di.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
<arguments>
3838
<argument name="adapterOptions" xsi:type="array">
3939
<item name="tinymce" xsi:type="array">
40-
<item name="value" xsi:type="string">mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter</item>
41-
<item name="label" xsi:type="string" translatable="true">TinyMCE 4</item>
40+
<item name="value" xsi:type="string">mage/adminhtml/wysiwyg/tiny_mce/tinymce5Adapter</item>
41+
<item name="label" xsi:type="string" translatable="true">TinyMCE 5</item>
4242
</item>
4343
</argument>
4444
</arguments>

app/code/Magento/Cms/etc/config.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<cms>
2424
<wysiwyg>
2525
<enabled>enabled</enabled>
26-
<editor>mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter</editor>
26+
<editor>mage/adminhtml/wysiwyg/tiny_mce/tinymce5Adapter</editor>
2727
<force_valid>0</force_valid>
2828
</wysiwyg>
2929
</cms>
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Config\Setup\Patch\Data;
9+
10+
use Magento\Framework\Setup\ModuleDataSetupInterface;
11+
use Magento\Framework\Setup\Patch\DataPatchInterface;
12+
13+
/**
14+
* Remove old tinymce versions from the configuration
15+
*/
16+
class RemoveTinymceConfig implements DataPatchInterface
17+
{
18+
/**
19+
* @var ModuleDataSetupInterface
20+
*/
21+
private $moduleDataSetup;
22+
23+
/**
24+
* @param ModuleDataSetupInterface $moduleDataSetup
25+
*/
26+
public function __construct(
27+
ModuleDataSetupInterface $moduleDataSetup
28+
) {
29+
$this->moduleDataSetup = $moduleDataSetup;
30+
}
31+
32+
/**
33+
* @inheritdoc
34+
*/
35+
public function apply()
36+
{
37+
$this->moduleDataSetup->getConnection()->startSetup();
38+
39+
$select = $this->moduleDataSetup->getConnection()->select()
40+
->from(
41+
$this->moduleDataSetup->getTable('core_config_data'),
42+
['value']
43+
)
44+
->where('path = ?', 'cms/wysiwyg/editor');
45+
46+
$configValue = $this->moduleDataSetup->getConnection()->fetchOne($select);
47+
48+
if ($configValue && (strpos($configValue, 'Tinymce3/tinymce3Adapter') !== false
49+
|| strpos($configValue, 'tiny_mce/tinymce4Adapter') !== false)
50+
) {
51+
$this->moduleDataSetup->getConnection()->query(
52+
$select->deleteFromSelect(
53+
$this->moduleDataSetup->getTable('core_config_data')
54+
)
55+
);
56+
}
57+
58+
return $this->moduleDataSetup->getConnection()->endSetup();
59+
}
60+
61+
/**
62+
* @inheritdoc
63+
*/
64+
public static function getDependencies()
65+
{
66+
return [];
67+
}
68+
69+
/**
70+
* @inheritdoc
71+
*/
72+
public function getAliases()
73+
{
74+
return [];
75+
}
76+
}

app/code/Magento/MediaGalleryCatalogUi/Test/Mftf/Test/AdminMediaGalleryCatalogUiUsedInProductFilterOnTest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
</before>
2727

2828
<after>
29-
<magentoCLI command="config:set {{WysiwygDisabledByDefault.path}} {{WysiwygDisabledByDefault.value}}" stepKey="disableWYSIWYG"/>
29+
<actionGroup ref="AdminDisableWYSIWYGActionGroup" stepKey="disableWYSIWYG"/>
3030
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
3131
<actionGroup ref="AdminOpenStandaloneMediaGalleryActionGroup" stepKey="openMediaGallery"/>
3232
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearFilters"/>

0 commit comments

Comments
 (0)