Skip to content

Commit 97e5da9

Browse files
MC-3913: WYSIWYG Does Not Always Appear After Rearranging Slides
1 parent 66b3f94 commit 97e5da9

File tree

2 files changed

+20
-4
lines changed
  • app/code/Magento/PageBuilder/view/adminhtml/web

2 files changed

+20
-4
lines changed

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

Lines changed: 9 additions & 2 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/content-type/slide/preview.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import $ from "jquery";
77
import $t from "mage/translate";
88
import events from "Magento_PageBuilder/js/events";
9+
import {PreviewSortableSortUpdateEventParams} from "../../binding/sortable-children";
910
import Config from "../../config";
1011
import ConditionalRemoveOption from "../../content-type-menu/conditional-remove-option";
1112
import {OptionsInterface} from "../../content-type-menu/option.d";
@@ -206,9 +207,10 @@ export default class Preview extends BasePreview {
206207
* @returns {Boolean}
207208
*/
208209
public activateEditor(preview: Preview, event: JQueryEventObject) {
209-
const element = this.element || this.textarea;
210+
const element = this.wysiwyg && this.element || this.textarea;
210211

211-
if (event.currentTarget !== event.target &&
212+
if (!element ||
213+
event.currentTarget !== event.target &&
212214
event.target !== element &&
213215
!element.contains(event.target)
214216
) {
@@ -295,6 +297,13 @@ export default class Preview extends BasePreview {
295297
events.trigger(`image:${this.parent.id}:assignAfter`, imageObject);
296298
});
297299

300+
// Remove wysiwyg before assign new instance.
301+
events.on("childContentType:sortUpdate", (args: PreviewSortableSortUpdateEventParams) => {
302+
if (args.instance.id === this.parent.parent.id) {
303+
this.wysiwyg = null;
304+
}
305+
});
306+
298307
events.on(`${this.config.name}:mountAfter`, (args: ContentTypeMountEventParamsInterface) => {
299308
if (args.id === this.parent.id) {
300309
const dataStore = this.parent.dataStore.get();

0 commit comments

Comments
 (0)