3.x.x release notes

3.0.0.RELEASE

This version requires Across 5.0.1.

Extension module

BootstrapUiModule configuration has been modified to extend the AcrossWebModule configuration. It no longer starts its own ApplicationContext.

Most applications should have no effect from this, but any code directly accessing the BootstrapUiModule bean factory would now fail.

Module configurations added to BootstrapUiModule should be added to AcrossWebModule instead.

Library upgrades

  • updated versions for external libraries and upgraded to their Bootstrap 4 variants

    • updated autoNumeric from 1.9.30 to 4.5.4

      • registered the corresponding AutoNumeric object as a data-autoNumeric attribute

    • updated MomentJS from 2.10.6 to 2.24.0

    • migrated from Eonasdan DateTimePicker 4.14.30 to Tempus Dominus DateTimePicker 5.1.2

      • DateTimePickers always require a unique controlName to ensure it works correctly.

    • updated autoSize from 3.0.20 to 4.0.2

    • updated bootstrap select from 1.12.2 to 1.13.11

    • updated jQuery from 1.11.3 to 3.4.1

Bootstrap 4 upgrades

  • migrated from bootstrap 3 to Bootstrap 4 resulting in various breaking changes

  • added support for Bootstrap 4 Switches, these can be found as ToggleFormElements

  • reduced custom css in favor of Bootstrap 4 utility classes

    • A variant containing the prefix axu- was provided for utility classes that make use of !important. These can be found in AcrossBootstrapStyles. The original classes can still be found in BootstrapStyles and are not modified.

  • panels have been removed and migrated to cards

  • iconOnly menu items are hidden using sr-only

  • added various strongly typed helper classes for bootstrap 4 styles, see BootstrapStyles.css

  • bootstrap select items enable dropUp by default

  • the default button style (ButtonViewElement) is now simply btn instead of btn btn-default

Improvements & New Features

  • removed BootstrapUiBuilders in favour of BootstrapViewElements. BootstrapViewElements provides a static variable bootstrap through which ViewElements can be created, with a corresponding bootstrap.builders to easily create ViewElementBuilders.

  • removed various attributes in favor of WitherSetter to support both extendability and easy customization of ViewElement

  • added an IconSetRegistry in which xref:[IconSets] can be registered

    • IconSets can be used to maintain a set of icons throughout modules

    • registered icons within an IconSet can be overridden for ease of customization

    • default IconSets are registered for FontAwesome 5 Regular, Solid and Brands styles

  • added checkbox-list, toggle-list and radio-list as CSS class to the wrapping div in case of OptionsFormElementBuilders for ease of customization

  • FormGroupElement now allows the configuration of the field errors that should be fetched from the BindingResult (which can be multiple), this provides more flexibility for validation scenarios

  • NavComponentBuilder has an additional includePathAsDataAttribute property which can be used to include the Menu.getPath() as HTML attribute data-ax-menu-path on generated nav items