Skip to content

Commit 7e87b88

Browse files
committed
MC-3903: Clicking into live edit shouldn't focus all text if existing text is present
- revert removal of click event to handle text selection - add selectAll setting to control text selection for element
1 parent c449696 commit 7e87b88

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

app/code/Magento/PageBuilder/view/adminhtml/web/js/binding/live-edit.js

Lines changed: 14 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/live-edit.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ ko.bindingHandlers.liveEdit = {
3636
* @param {KnockoutBindingContext} bindingContext
3737
*/
3838
init(element, valueAccessor, allBindings, viewModel, bindingContext) {
39-
const {field, placeholder} = valueAccessor();
39+
const {field, placeholder, selectAll = false} = valueAccessor();
4040
let focusedValue = element.innerHTML;
4141
/**
4242
* Strip HTML and return text
@@ -67,6 +67,15 @@ ko.bindingHandlers.liveEdit = {
6767
}
6868
};
6969

70+
/**
71+
* Click event on element
72+
*/
73+
const onClick = () => {
74+
if (selectAll && element.innerHTML !== "") {
75+
document.execCommand("selectAll", false, null);
76+
}
77+
};
78+
7079
/**
7180
* Key down event on element
7281
*
@@ -143,6 +152,7 @@ ko.bindingHandlers.liveEdit = {
143152
element.contentEditable = true;
144153
element.addEventListener("focus", onFocus);
145154
element.addEventListener("blur", onBlur);
155+
element.addEventListener("click", onClick);
146156
element.addEventListener("keydown", onKeyDown);
147157
element.addEventListener("input", onInput);
148158
element.addEventListener("drop", onDrop);

0 commit comments

Comments
 (0)