Skip to content

Commit 6e10819

Browse files
anzinandrewbess
authored andcommitted
AC-2086: Fixed failed build of the functional tests
1 parent 12fa2d2 commit 6e10819

File tree

3 files changed

+67
-58
lines changed

3 files changed

+67
-58
lines changed

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest/TextVerifyTinyMCETableToolbarOnPageBuilderStageTest.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,10 @@
113113

114114
<!-- Initialize TinyMCE Table Toolbar & Verify All Table Toolbar Menu Items are Visible -->
115115
<clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickOnTextContentType"/>
116-
<waitForPageLoad stepKey="waitForTinyMCEToolbar"/>
117-
<clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickAgainToOpenTableToolbar"/>
118-
<waitForPageLoad stepKey="waitForTinyMCETableToolbar"/>
119-
<seeElement selector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" stepKey="seeTableToolbar2"/>
116+
<waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.toolbar}}" stepKey="waitForTinyMCEToolbar"/>
117+
<comment userInput="Step key preserved for backwards compatibility" stepKey="clickAgainToOpenTableToolbar"/>
118+
<comment userInput="Step key preserved for backwards compatibility" stepKey="waitForTinyMCETableToolbar"/>
119+
<waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" stepKey="seeTableToolbar2"/>
120120
<seeElement selector="{{WYSIWYGOnPageBuilderInline.tableProperties}}" stepKey="seeTableProperties2"/>
121121
<seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteTable}}" stepKey="seeDeleteTable2"/>
122122
<seeElement selector="{{WYSIWYGOnPageBuilderInline.insertRowBefore}}" stepKey="seeInsertRowBefore2"/>
@@ -172,10 +172,10 @@
172172

173173
<!-- Initialize TinyMCE Table Toolbar & Verify All Table Toolbar Menu Items are Visible Again -->
174174
<clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickOnTextContentType2"/>
175-
<waitForPageLoad stepKey="waitForTinymceToolbar2"/>
176-
<clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickAgainToOpenTableToolbar2"/>
177-
<waitForPageLoad stepKey="waitForTinymceTableToolbar2"/>
178-
<seeElement selector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" stepKey="seeTableToolbar3"/>
175+
<waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.toolbar}}" stepKey="waitForTinymceToolbar2"/>
176+
<comment userInput="Step key preserved for backwards compatibility" stepKey="clickAgainToOpenTableToolbar2"/>
177+
<comment userInput="Step key preserved for backwards compatibility" stepKey="waitForTinymceTableToolbar2"/>
178+
<waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" stepKey="seeTableToolbar3"/>
179179
<seeElement selector="{{WYSIWYGOnPageBuilderInline.tableProperties}}" stepKey="seeTableProperties3"/>
180180
<seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteTable}}" stepKey="seeDeleteTable3"/>
181181
<seeElement selector="{{WYSIWYGOnPageBuilderInline.insertRowBefore}}" stepKey="seeInsertRowBefore3"/>

app/code/Magento/PageBuilder/view/adminhtml/web/js/wysiwyg/tinymce.js

Lines changed: 26 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/wysiwyg/tinymce.ts

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import WysiwygInstanceInterface from "wysiwygAdapter";
1212
import {AdditionalDataConfigInterface} from "../content-type-config.types";
1313
import DataStore from "../data-store";
1414
import checkStageFullScreen from "../utils/check-stage-full-screen";
15+
import delayUntil from "../utils/delay-until";
1516
import pageBuilderHeaderHeight from "../utils/pagebuilder-header-height";
1617
import WysiwygInterface from "./wysiwyg-interface";
1718

@@ -172,35 +173,39 @@ export default class Wysiwyg implements WysiwygInterface {
172173
events.trigger("stage:interactionStart");
173174

174175
// Wait for everything else to finish
175-
_.defer(() => {
176-
const $inlineToolbar = this.getFixedToolbarContainer().find(".tox-tinymce-inline");
177-
const self = this;
178-
179-
$inlineToolbar.css("min-width", this.config.adapter_config.minToolbarWidth + "px");
180-
181-
this.invertInlineEditorToAccommodateOffscreenToolbar();
182-
183-
// Update toolbar when the height changes
184-
this.toolbarHeight = $inlineToolbar.height();
185-
if ($inlineToolbar.length) {
186-
this.resizeObserver = new ResizeObserver((entries) => {
187-
for (const entry of entries) {
188-
if (entry.target === $inlineToolbar.get(0)
189-
&& entry.target.clientHeight !== self.toolbarHeight
190-
) {
191-
self.invertInlineEditorToAccommodateOffscreenToolbar();
192-
self.toolbarHeight = entry.target.clientHeight;
176+
_.defer(() => delayUntil(
177+
() => {
178+
const $inlineToolbar = this.getFixedToolbarContainer().find(".tox-tinymce-inline");
179+
const self = this;
180+
181+
$inlineToolbar.css("min-width", this.config.adapter_config.minToolbarWidth + "px");
182+
183+
this.invertInlineEditorToAccommodateOffscreenToolbar();
184+
185+
// Update toolbar when the height changes
186+
this.toolbarHeight = $inlineToolbar.height();
187+
if ($inlineToolbar.length) {
188+
this.resizeObserver = new ResizeObserver((entries) => {
189+
for (const entry of entries) {
190+
if (entry.target === $inlineToolbar.get(0)
191+
&& entry.target.clientHeight !== self.toolbarHeight
192+
) {
193+
self.invertInlineEditorToAccommodateOffscreenToolbar();
194+
self.toolbarHeight = entry.target.clientHeight;
195+
}
193196
}
194-
}
195-
});
196-
this.resizeObserver.observe($inlineToolbar.get(0));
197-
}
198-
const dialogContainer = document.querySelector(`#${this.elementId} ~ .tox-tinymce-aux`);
199-
if (!!dialogContainer) {
200-
dialogContainer.setAttribute("data-editor-aux", this.elementId);
201-
document.body.appendChild(dialogContainer);
202-
}
203-
});
197+
});
198+
this.resizeObserver.observe($inlineToolbar.get(0));
199+
}
200+
const dialogContainer = document.querySelector(`#${this.elementId} ~ .tox-tinymce-aux`);
201+
if (!!dialogContainer) {
202+
dialogContainer.setAttribute("data-editor-aux", this.elementId);
203+
document.body.appendChild(dialogContainer);
204+
}
205+
},
206+
() => document.querySelector(`#${this.elementId}`).classList.contains("mce-edit-focus"),
207+
10,
208+
));
204209
}
205210

206211
/**

0 commit comments

Comments
 (0)