Skip to content

Migrating from 1.3 to 1.4

Ben Dol edited this page Nov 13, 2015 · 11 revisions

There have been a lot of changes since 1.3 in version 1.4. The code base has been entirely refactored to be more logical and expandable for new features. Note that this is not a change log and will only list the things required when updating from 1.3.x to 1.4.

The main goal of version 1.4 was to provide a solid foundation for Gwt Material Design to improve on and has been inspired by the fantastic work done by the GwtBootstrap3 team. Following a similar structure will also make it easier for people previously using GwtBootstrap3 to migrate to use GwtMaterial. The new package structure is like so:

gwt.material.design.client
  .base # Base classes and interfaces
  .constants # All Enum classes
  .resources # Resources like .js and .css files.
  .ui # The main interface components

New Modules:

The GWT module has been expanded on to provide a wider variety of options for users in both production and development:

- GwtMaterialDesign # Standard use with all resources (but will not load jQuery for you).
- GwtMaterialDesignDebug # Same as above but will load non-minified js and Source URL included for Chrome debugging
- GwtMaterialWithJQuery # Standard use with all resources and will also include loading jQuery
- GwtMaterialWithJQueryDebug # Same as but will load non-minified js and Source URL included for Chrome debugging
- GwtMaterialDesignBasic # Use without materialize.css/overridecss.css file (but will not load jQuery for you).
- GwtMaterialDesignBasicDebug # Same as above but with non-minified js and Source URL included for Chrome 
- GwtMaterialBasicWithJQuery # Use without materialize.css/overridecss.css file and will also include loading jQuery
- GwtMaterialBasicWithJQueryDebug # Same as above but with non-minified js and Source URL included for Chrome debugging.

If you would like to load GwtMaterial with a custom theme or one of our themes (found here) you will need to use one of the GwtMaterialDesignBasic modules. This will not load the materialize.css default file allowing you to customize your design.

More Enum Additions

Almost every component has had changes that will break from 1.3 the changes are listed here.

New Enums:

One of the most breaking changes will be the new Enums used to define certain properties on UI components, you will need to go through each of your classes updating the properties.

For example: MaterialIcon#setIcon(String) is now MaterialIcon#setIconType(IconType), modern IDE should make this easy to update.

In 1.4 release, We changed the declaration of icons from <m:MaterialIcon icon="mdi-action-stars" /> to <m:MaterialIcon iconType="STARS" />. We have included 740 Material Design Icons courtesy of Google.

Component Changes

You can see how all the components operate now in the official 1.4 demo documentation. It provides detailed examples of each component and how they are now implemented.