Skip to content

Commit 68f7e05

Browse files
committed
Merge remote-tracking branch 'origin/MC-3495-drop-text-bug' into cms-team-2-button-bugs
2 parents 2420232 + 2017440 commit 68f7e05

File tree

2 files changed

+31
-10
lines changed

2 files changed

+31
-10
lines changed

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

Lines changed: 16 additions & 5 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/binding/live-edit.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,29 +129,39 @@ ko.bindingHandlers.liveEdit = {
129129
}, 300).call(this);
130130
};
131131

132+
/**
133+
* Prevent content from being dropped inside of inline edit area
134+
*
135+
* @param {DragEvent} event
136+
*/
137+
const onDrop = (event: DragEvent) => {
138+
event.preventDefault();
139+
};
140+
132141
/**
133142
* Input event on element
134143
*/
135144
const onInput = () => {
136145
handlePlaceholderClass(element);
137146
};
138147
element.setAttribute("data-placeholder", placeholder);
139-
element.innerText = viewModel.previewData[field]();
148+
element.innerText = viewModel.parent.dataStore.get(field);
140149
element.contentEditable = true;
141150
element.addEventListener("focus", onFocus);
142151
element.addEventListener("blur", onBlur);
143152
element.addEventListener("click", onClick);
144153
element.addEventListener("keydown", onKeyDown);
145154
element.addEventListener("input", onInput);
155+
element.addEventListener("drop", onDrop);
146156

147157
$(element).parent().css("cursor", "text");
148158
handlePlaceholderClass(element);
149159

150160
// Create a subscription onto the original data to update the internal value
151-
viewModel.previewData[field].subscribe((value: string) => {
152-
element.innerText = viewModel.previewData[field]();
161+
viewModel.parent.dataStore.subscribe(() => {
162+
element.innerText = viewModel.parent.dataStore.get(field);
153163
handlePlaceholderClass(element);
154-
});
164+
}, field);
155165
},
156166

157167
/**
@@ -166,7 +176,7 @@ ko.bindingHandlers.liveEdit = {
166176
update(element, valueAccessor, allBindings, viewModel, bindingContext) {
167177
const {field} = valueAccessor();
168178

169-
element.innerText = viewModel.previewData[field]();
179+
element.innerText = viewModel.parent.dataStore.get(field);
170180
handlePlaceholderClass(element);
171181
},
172182
};

0 commit comments

Comments
 (0)