Skip to content

Commit 5022493

Browse files
MC-3860: Cannot Use On Hover Upload Image Buttons
- Fixed Cannot Select Text Or Click In Textarea To Move Cursor
1 parent c70acb8 commit 5022493

File tree

6 files changed

+53
-16
lines changed

6 files changed

+53
-16
lines changed

app/code/Magento/PageBuilder/view/adminhtml/web/js/content-type/slide/preview.js

Lines changed: 23 additions & 6 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/template/content-type/slide/collage-centered/preview.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<div ifnot="isWysiwygSupported()">
3636
<textarea class="inline-wysiwyg-textarea"
3737
afterRender="initTextarea"
38-
event="{keyup: onTextareaKeyUp, focus: onTextareaFocus, blur: onTextareaBlur}"
38+
event="keyup: onTextareaKeyUp, focus: onTextareaFocus, blur: onTextareaBlur, mousedown: stopEvent"
3939
data-bind="attr: { placeholder: $t('Edit Slide Text') }" />
4040
</div>
4141
<a if="data.main.attributes()['data-show-button'] !== 'never'"

app/code/Magento/PageBuilder/view/adminhtml/web/template/content-type/slide/collage-left/preview.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<div ifnot="isWysiwygSupported()">
3838
<textarea class="inline-wysiwyg-textarea"
3939
afterRender="initTextarea"
40-
event="{keyup: onTextareaKeyUp, focus: onTextareaFocus, blur: onTextareaBlur}"
40+
event="keyup: onTextareaKeyUp, focus: onTextareaFocus, blur: onTextareaBlur, mousedown: stopEvent"
4141
data-bind="attr: { placeholder: $t('Edit Slide Text') }" />
4242
</div>
4343
<a if="data.main.attributes()['data-show-button'] !== 'never'"

app/code/Magento/PageBuilder/view/adminhtml/web/template/content-type/slide/collage-right/preview.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<div ifnot="isWysiwygSupported()">
3636
<textarea class="inline-wysiwyg-textarea"
3737
afterRender="initTextarea"
38-
event="{keyup: onTextareaKeyUp, focus: onTextareaFocus, blur: onTextareaBlur}"
38+
event="keyup: onTextareaKeyUp, focus: onTextareaFocus, blur: onTextareaBlur, mousedown: stopEvent"
3939
data-bind="attr: { placeholder: $t('Edit Slide Text') }" />
4040
</div>
4141
<a if="data.main.attributes()['data-show-button'] !== 'never'"

app/code/Magento/PageBuilder/view/adminhtml/web/template/content-type/slide/poster/preview.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<div ifnot="isWysiwygSupported()">
4040
<textarea class="inline-wysiwyg-textarea"
4141
afterRender="initTextarea"
42-
event="{keyup: onTextareaKeyUp, focus: onTextareaFocus, blur: onTextareaBlur}"
42+
event="keyup: onTextareaKeyUp, focus: onTextareaFocus, blur: onTextareaBlur, mousedown: stopEvent"
4343
data-bind="attr: { placeholder: $t('Edit Slide Text') }" />
4444
</div>
4545
<a if="data.main.attributes()['data-show-button'] !== 'never'"

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/content-type/slide/preview.ts

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,15 +200,35 @@ export default class Preview extends BasePreview {
200200

201201
/**
202202
* Makes WYSIWYG active
203+
*
204+
* @param {Preview} preview
205+
* @param {JQueryEventObject} event
206+
* @returns {Boolean}
203207
*/
204-
public activateEditor() {
205-
if (this.element) {
206-
this.element.focus();
207-
}
208+
public activateEditor(preview: Preview, event: JQueryEventObject) {
209+
const element = this.element || this.textarea;
208210

209-
if (this.textarea) {
210-
this.textarea.focus();
211+
if (event.currentTarget !== event.target &&
212+
event.target !== element &&
213+
!element.contains(event.target)
214+
) {
215+
return false;
211216
}
217+
218+
element.focus();
219+
}
220+
221+
/**
222+
* Stop event to prevent execution of action when editing textarea.
223+
*
224+
* @param {Preview} preview
225+
* @param {JQueryEventObject} event
226+
* @returns {Boolean}
227+
*/
228+
public stopEvent(preview: Preview, event: JQueryEventObject) {
229+
event.stopPropagation();
230+
231+
return true;
212232
}
213233

214234
/**

0 commit comments

Comments
 (0)