1919 */
2020package gwt .material .design .addins .client .richeditor ;
2121
22+ import com .google .gwt .core .client .Scheduler ;
2223import com .google .gwt .dom .client .Element ;
2324import com .google .gwt .event .dom .client .BlurEvent ;
2425import 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