Skip to content

Commit d0a0890

Browse files
author
Hwashiang Yu
committed
Merge branch 'MC-843-heading-live-edit-should-unfocus' into cms-team-2-sprint-14
2 parents fbfbdd7 + 251c9a9 commit d0a0890

File tree

4 files changed

+51
-2
lines changed

4 files changed

+51
-2
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<element name="headingOnStage" type="text" selector="(//{{arg1}}[contains(@data-bind,'heading_text')])[{{arg2}}]" parameterized="true"/>
1818
<element name="headingType" type="button" selector="(//{{arg1}})[{{arg2}}]" parameterized="true"/>
1919
<element name="headingEditableText" type="button" selector="(//div[contains(@class, 'pagebuilder-heading')])[{{arg1}}]//h2[contains(@contenteditable, 'true')]" parameterized="true"/>
20+
<element name="headingToolbar" type="text" selector="(//div[contains(@class,'pagebuilder-heading')])[{{arg1}}]//div[contains(@class, 'pagebuilder-toolbar-options')]" parameterized="true"/>
2021
<element name="headingTypeToolbar" type="text" selector="(//div[contains(@class,'pagebuilder-heading')])[{{arg1}}]//span[text()='{{arg2}}']" parameterized="true"/>
2122
<element name="headingTypeToolbarSelected" type="text" selector="(//div[contains(@class,'pagebuilder-heading')])[{{arg1}}]//a[contains(@class, 'toolbar-active')]//span[text()='{{arg2}}']" parameterized="true"/>
2223
<element name="headingTextAlignToolbar" type="button" selector="(//div[contains(@class,'pagebuilder-heading')])[{{arg1}}]//i[contains(@class,'icon-pagebuilder-align-{{arg2}}')]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderHeadingEditOnStageTest.xml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,4 +1574,44 @@
15741574
<expectedResult type="variable">actualLastButtonYPosition</expectedResult>
15751575
</assertLessThan>
15761576
</test>
1577+
<test name="HeadingToolbarHideOnDrag">
1578+
<annotations>
1579+
<features value="PageBuilder"/>
1580+
<stories value="Heading"/>
1581+
<title value="Stage Edit - Heading Toolbar should hide on drag action"/>
1582+
<description value="Heading live edit should become unfocused on drag action"/>
1583+
<severity value="MINOR"/>
1584+
<useCaseId value="MC-843"/>
1585+
<testCaseId value="MC-3540"/>
1586+
<group value="pagebuilder"/>
1587+
<group value="pagebuilder-heading"/>
1588+
</annotations>
1589+
<before>
1590+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
1591+
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
1592+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
1593+
</before>
1594+
<after>
1595+
<actionGroup ref="logout" stepKey="logout"/>
1596+
</after>
1597+
<actionGroup ref="expandPageBuilderPanelGroup" stepKey="expandPageBuilderPanelGroup">
1598+
<argument name="group" value="PageBuilderHeadingContentType"/>
1599+
</actionGroup>
1600+
<actionGroup ref="dragContentTypeToStage" stepKey="dragHeadingIntoStage">
1601+
<argument name="contentType" value="PageBuilderHeadingContentType"/>
1602+
</actionGroup>
1603+
<!-- Validate Heading edit toolbar shows after dragging in -->
1604+
<comment userInput="Validate Heading edit toolbar" stepKey="CommentHeadingEditToolbar"/>
1605+
<seeElement selector="{{HeadingOnStage.headingToolbar('1')}}" stepKey="seeHeadingToolbar"/>
1606+
<!-- Check if clicking on draggable content, the heading input loses focus and the toolbar hides -->
1607+
<comment userInput="When click on draggable content, heading input loses focus, toolbar disappears, and placeholder displays Enter Heading Text" stepKey="commentClickOnDraggable"/>
1608+
<click selector="{{PageBuilderPanel.draggableContentTypeInPanel(PageBuilderHeadingContentType.name)}}" stepKey="clickDraggableInPanel"/>
1609+
<dontSeeElement selector="{{HeadingOnStage.headingToolbar('1')}}" stepKey="dontSeeHeadingToolbar"/>
1610+
<!-- Check if heading toolbar shows after focusing on heading content type -->
1611+
<comment userInput="When click inside heading see heading input gain focus, placeholder disappears and WYSIWYG toolbar appears" stepKey="commentClickInsideHeading"/>
1612+
<actionGroup ref="clickInsideLiveEditHeading" stepKey="clickInsideLiveEditHeading">
1613+
<argument name="index" value="1"/>
1614+
</actionGroup>
1615+
<seeElement selector="{{HeadingOnStage.headingToolbar('1')}}" stepKey="seeHeadingToolbar2"/>
1616+
</test>
15771617
</tests>

app/code/Magento/PageBuilder/view/adminhtml/web/js/binding/draggable.js

Lines changed: 5 additions & 1 deletion
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/binding/draggable.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ import ko from "knockout";
1212
// Create a new sortable Knockout binding
1313
ko.bindingHandlers.draggable = {
1414
init(element, valueAccessor) {
15-
$(element).draggable(valueAccessor());
15+
$(element).on("mousedown", () => {
16+
if (document.hasFocus()) {
17+
(document.activeElement as HTMLElement).blur();
18+
}
19+
}).draggable(valueAccessor());
1620
},
1721
};

0 commit comments

Comments
 (0)