Skip to content

Commit 7331907

Browse files
MC-3993: Impossible add Slider on Page if it contains block with slider inside
1 parent 12a031a commit 7331907

File tree

5 files changed

+32
-16
lines changed

5 files changed

+32
-16
lines changed

app/code/Magento/PageBuilder/view/adminhtml/web/css/source/content-type/_preview.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@
177177
transition: opacity 200ms, top 200ms, visibility 200ms;
178178
visibility: hidden;
179179
width: 100%;
180-
z-index: 15;
180+
z-index: 20;
181181
}
182182
}
183183

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

Lines changed: 10 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/ts/js/content-type/block/preview.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export default class Preview extends BasePreview {
2323
public displayingBlockPreview: KnockoutObservable<boolean> = ko.observable(false);
2424
public loading: KnockoutObservable<boolean> = ko.observable(false);
2525
public placeholderText: KnockoutObservable<string>;
26+
public element: HTMLElement;
2627
protected messages = {
2728
NOT_SELECTED: $t("Empty Block"),
2829
UNKNOWN_ERROR: $t("An unknown error occurred. Please try again."),
@@ -46,10 +47,13 @@ export default class Preview extends BasePreview {
4647
/**
4748
* Runs the widget initializer for each configured widget
4849
*/
49-
public initializeWidgets() {
50-
widgetInitializer({
51-
config: Config.getConfig("widgets"),
52-
});
50+
public initializeWidgets(element: HTMLElement) {
51+
if (element) {
52+
this.element = element;
53+
widgetInitializer({
54+
config: Config.getConfig("widgets"),
55+
}, element);
56+
}
5357
}
5458

5559
/**
@@ -105,7 +109,7 @@ export default class Preview extends BasePreview {
105109
if (this.lastRenderedHtml) {
106110
this.data.main.html(this.lastRenderedHtml);
107111
this.showBlockPreview(true);
108-
this.initializeWidgets();
112+
this.initializeWidgets(this.element);
109113
}
110114
} else {
111115
this.showBlockPreview(false);
@@ -156,7 +160,7 @@ export default class Preview extends BasePreview {
156160
if (response.data.content) {
157161
this.showBlockPreview(true);
158162
this.data.main.html(response.data.content);
159-
this.initializeWidgets();
163+
this.initializeWidgets(this.element);
160164
} else if (response.data.error) {
161165
this.showBlockPreview(false);
162166
this.placeholderText(response.data.error);

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/content-type/widget-intializer.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ interface WidgetIntializerConfigInterface {
77
config: any;
88
}
99

10-
declare function WidgetInitializer(data: WidgetIntializerConfigInterface): void;
10+
declare function WidgetInitializer(data: WidgetIntializerConfigInterface, contextElement?: HTMLElement): void;
1111

1212
declare module "Magento_PageBuilder/js/widget-initializer" {
1313
export = WidgetInitializer;

app/code/Magento/PageBuilder/view/base/web/js/widget-initializer.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,18 @@ define([
2525
});
2626
}
2727

28-
return function (data) {
28+
return function (data, contextElement) {
2929
_.each(data.config, function (componentConfiguration, elementPath) {
3030
$(elementPath).each(function (index, element) {
31-
initializeWidget(element, componentConfiguration);
31+
var $element = $(element);
32+
33+
if (contextElement) {
34+
$element = $(contextElement).find(element);
35+
}
36+
37+
if ($element.length) {
38+
initializeWidget($element, componentConfiguration);
39+
}
3240
});
3341
});
3442
};

0 commit comments

Comments
 (0)