Skip to content

Commit 203c6c4

Browse files
committed
Fixed - MaterialRichEditor in modal MaterialWindow insert link issue #240
1 parent a22ce46 commit 203c6c4

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

src/main/java/gwt/material/design/addins/client/richeditor/MaterialRichEditor.java

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
*/
2020
package gwt.material.design.addins.client.richeditor;
2121

22+
import com.google.gwt.core.client.Scheduler;
2223
import com.google.gwt.dom.client.Element;
2324
import com.google.gwt.event.dom.client.BlurEvent;
2425
import com.google.gwt.event.dom.client.FocusEvent;
@@ -78,6 +79,7 @@ public class MaterialRichEditor extends MaterialRichEditorBase implements HasVal
7879
}
7980

8081
private boolean toggleFullScreen = true;
82+
8183
public MaterialRichEditor() {
8284
super();
8385
}
@@ -152,7 +154,7 @@ protected void initialize() {
152154
return true;
153155
});
154156

155-
toggleFullScreen();
157+
checkContainer();
156158
}
157159

158160
@Override
@@ -170,14 +172,25 @@ protected void onUnload() {
170172
jsRichEditor.destroy();
171173
}
172174

173-
protected void toggleFullScreen() {
174-
getEditor().find("div[data-event='fullscreen']").off("cl").on("click", (e, param1) -> {
175-
if (getParent() instanceof MaterialModal) {
176-
((MaterialModal) getParent()).setFullscreen(toggleFullScreen);
177-
} else if (getParent() instanceof MaterialModalContent) {
178-
MaterialModal modal = (MaterialModal) getParent().getParent();
179-
modal.setFullscreen(toggleFullScreen);
180-
}
175+
protected void checkContainer() {
176+
if (getParent() instanceof MaterialModal) {
177+
MaterialModal modal = (MaterialModal) getParent();
178+
adjustFullScreen(modal);
179+
adjustNestedModals(modal);
180+
} else if (getParent() instanceof MaterialModalContent) {
181+
MaterialModal modal = (MaterialModal) getParent().getParent();
182+
adjustFullScreen(modal);
183+
adjustNestedModals(modal);
184+
}
185+
}
186+
187+
protected void adjustNestedModals(MaterialModal modal) {
188+
modal.addOpenHandler(openEvent -> modal.setDepth(9999));
189+
}
190+
191+
protected void adjustFullScreen(MaterialModal modal) {
192+
getEditor().find("div[data-event='fullscreen']").off("click").on("click", (e, param1) -> {
193+
modal.setFullscreen(toggleFullScreen);
181194
if (toggleFullScreen) {
182195
toggleFullScreen = false;
183196
} else {

0 commit comments

Comments
 (0)