Bug #3613

WDialog has display/interaction issues without Javascript (theme dependent)

Added by Bruce Toll about 8 years ago. Updated over 7 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


With github (3.3.3-19-gad17d0b) version of Wt, WDialog and its derived classes display incorrectly and/or fail to respond to input. The issue is theme dependent and can be observed in the WidgetGallery. To reproduce:

Bootstrap3 (default) -

Visit: and click on "Jump" button. The WMessageBox is not visible.

Bootstrap2 -

Visit: and click on "Jump" button. The WMessageBox looks fine, but clicking the cell input just refreshes the page.

Polished -

Visit: and click on "Jump" button. The WMessageBox is not visible.

Default -

Visit: and click on "Jump" button. The WMessageBox is not visible.

The cause appears to be button-wrap related, due to a click handler that provides some additional javascript support for popups. The first attached patch just makes this click handler conditional on javascript support and appears to help with the default, polished, and Bootstrap2 cases.

The Bootstrap3 theme WMessageBox is still not visible using just the first patch. It seems that the default and polished themes use a Wt-dialog class to assist with WDialog positioning without Javascript. The Bootstrap2 theme uses a different mechanism and does not need the Wt-dialog class for positioning. But, Bootstrap3 does not appear to share this approach. As a workaround, the second patch just adds a Wt-dialog class to the Bootstrap3 dialog. I'm not sure if this is the best approach.

Both patches have only been lightly tested.

NOTE: The behavior of popup menus (without JS) is changed by the first patch - they are no longer visible. However, the popups do not appear to be functional or styled properly without the patch either. An example can be seen at:


Also available in: Atom PDF