Qooxdoo Dialog Widgets
Notes: The code of this package originates from the cboulanger/qx-contrib repository and has been moved to the new namespace
A set of often used dialog widgets for the qooxdoo framework.
The package also provides support for user-defined forms and wizards. These more complex widgets, however, are likely to be moved into a separate package eventually.
See the code of the Demo app for examples how to use the widgets.
To install the package into an existing qooxdoo application, execute in its root directory:
qx pkg install qooxdoo/qxl.dialog
Install icon theme
From v1.3.0 on, the contrib allows you to use custom icons for the dialogs. However, this means that the icons will not work out of the box. You must use or extend one of the shipped icon themes in your application's meta theme (see this example) or copy the alias definitions from one of them into your own icon theme.
You can also use your own choice of icons by writing an icon theme which defines
defining the aliases
dialog.icon.(ok|cancel|info|warning|error) with the paths
to the icons. Those paths also need to be put into a
@asset compiler hint.
See, for example, this theme
To run the tests, first start the built-in server with
qx serve --target=build
Once the message
Web server started ... appears, open a new terminal and start
the tests with
npm test. Once the tests have succeeded, you can kill the
server process in the first tab.
Migrating from cboulanger/qx-contrib-Dialog
To migrate code that has used the cboulanger/qx-contrib-Dialog package, you need to do the following steps:
qx pkg remove cboulanger/qx-contrib-Dialog
qx pkg install qooxdoo/qxl.dialog
- search and replace
qxl/dialog/(check each search/replace manually to avoid false positives )
Moved package from cboulanger/qx-contrib-Dialog and changed namespace to
- Dropped support for qx v5.0 and the python generator
- Rewrote tests to make use of the new
- Added TextCafe UI tests
- integrate demo application into library code, now you can simply do
qx serveto run the demo.
- fix alias names
- Compatible with qooxdoo 5.x and 6.x: added support for new JS compiler
- Merged changes from https://github.com/jbruwes/qooxdialog
- replaced base widget qx.ui.GroupBox with modal qx.ui.window.Window
- Added new black and white SVG icons from https://icomoon.io/#preview-free, added support for live icon theme switching
- Added promise() method returning a Promise as an alternative to callbacks
- Promisified all shorthand methods (dialog.alert, ...), resulting in massively better readability see Demo app
- Added caption parameter to shorthand methods.
- Since a modal window has its own blocker, the default coloured blocker has been removed. If you want the old behavior,
- Prettified with the default settings of https://github.com/prettier/prettier
- Added 'cancelOnEscape' property (default: true) which triggers the 'cancel' button action if the user presses the Escape key and 'allowCancel' is true.
- Progress Widget enhancements:
- added 'hideWhenCancelled' property (default: true) to allow "cleanup" or similar actions to be displayed after the cancel button has been pressed.
- fixed a bug that prevented submitting the login dialog by pressing enter (patch by @novij)
- added "Forgot Password?" button to login widget
- compatible with qooxdoo v4.0
- Progress dialog widget added
- compatible with qooxdoo v3.5
- Tab and focus handling is still buggy: Users can tab into non-modal widgets.
- Rewrite using child controls, to make dialogs truly themeable.