-
Notifications
You must be signed in to change notification settings - Fork 124
Migrating from 1.3 to 1.4
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
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.gwt.xml # 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.
Almost every component has had changes that will break from 1.3 the changes are listed here.
New Enums:
- Alignment
- ButtonSize
- ButtonType
- CenterOn
- CheckBoxType
- CollapsibleType
- CollectionType
- CssType
- DatePickerType
- Edge
- HeadingSize
- HideOn
- IconPosition
- IconSize
- IconType
- ImageType
- InputType
- LoaderSize
- ModalType
- NavBarType
- Orientation
- Position
- RadioButtonType
- ShowOn
- SideNavType
- TextAlign
- WavesType
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.
You can see how all the components operate now in the official 1.4 demo. It provides detailed examples of each component and how they are now implemented.