Skip to content

Commit e36441d

Browse files
javier-godoypaodb
authored andcommitted
feat: add support for applying theme in iframe
1 parent 941a025 commit e36441d

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/main/java/com/flowingcode/vaadin/addons/demo/TabbedDemo.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,14 @@ public static void applyTheme(Element element, boolean useDarkTheme) {
357357
public static void applyTheme(Element element, String theme) {
358358
VaadinSession.getCurrent().setAttribute(THEME_NAME, theme);
359359

360-
element.executeJs("document.body.setAttribute('theme', $0);", theme);
360+
String script;
361+
if (element.getTag().equalsIgnoreCase("iframe")) {
362+
script = "this.contentWindow.document.body.setAttribute('theme', $0)";
363+
} else {
364+
script = "document.body.setAttribute('theme', $0);";
365+
}
366+
367+
element.executeJs(script, theme);
361368

362369
Component c = element.getComponent().get();
363370
collectThemeChangeObservers(c).forEach(observer -> observer.onThemeChange(theme));

0 commit comments

Comments
 (0)