Bootstrap 4 for DotVVM: Cheat Sheet

Published: 11/9/2018 10:21:00 AM

So, you have upgraded to the new Bootstrap 4 for DotVVM and now Visual Studio is spitting errors all over the place?

Don't panic

Bootstrap 4 for DotVVM was not designed to be drop in replacement for Bootstrap 3 for DotVVM. That said, we know that new projects are not started every day, and everybody deserves to work with the latest technologies.
So, we have prepared for you this Migration guide to Bootstrap 4 for DotVVM.

This migration guide contains quick overview of breaking changes in Bootstrap 4 for DotVVM. The full description and samples for each control can be found in documentation.

Accordion

Breaking Changes

Accordion items can be now created using DataSource.
Limited which controls can be used inside Accordion.

Breaking changes

  • Accordion now can contain only AccordionItems.
  • ExpandedPanelIndex was renamed to ExpandedItemIndex

Alert

Breaking ChangesNew Features

Alert now has different set of colors.

Breaking changes

  • Type – completely new set of supported colors

Badge

New Features

Old label is now badge. Therefore, badge now hove properties which were formally on label (eq. Type).
Badge is also now clickable (has properties such as Click, NavigateUrl, ...) and can be rendered as pill.

Breadcrumb

Breaking ChangesNew Features

Added option which controls whether there should be link for active items.
Limited which controls can be used inside Breadcrumb.

Breaking Changes

  • Breadcrumb now can contain only BreadCrumbItems

Button

Breaking ChangesNew Features

Added new visual styles to button (eq. Outline only, ...) and new set of supported colors.

Breaking changes

  • Type – completely new set of supported colors

ButtonGroup

Breaking ChangesNew Features

ButtonGroup items can be now created using DataSource. Limited which controls can be used inside ButtonGroup.

Breaking changes

  • ButtonGroup can only contain those items
    • Button
    • RouteLink
    • DropownButton
    • ButtonGroupRadioButton
    • ButtonGroupCheckBox
  • Removed IsJustified property

ButtonToolbar

Added

New control which combines multiple ButtonGroups and InputGroups into single component.

Card

Added

New flexible content container with support for various styles and features.

CardGroup

Added

New Control which groups card controls.
Supports multiple modes (Deck, Group, Columns)

Carousel

Breaking ChangesNew Features

Added support for new animation and option to enable/disable cycling of items.

Breaking changes

  • EnableAnimation property was replaced by setting Animation property to None
  • CaptionTemplateBinding renamed to CaptionTemplate

CheckBox

Breaking ChangesNew Features

Added support for bootstrap custom style.

Breaking changes

  • Type property was moved to ButtonGroupCheckbox

CloseButton

No Changes

Collapsible

Added

Lightweight replacement for no longer supported CollapsiblePanel.

CollapsiblePanel

Breaking ChangesNew Features

CollapsiblePanel was completely rewritten, because it was replaced by Collapsible in Bootstrap.
CollapsiblePanel is now based on Cards.

Breaking Changes

  • Due to massive changes nearly everything has changed.


See CollapsiblePanel documentation for current API.

ColorDecorator

Breaking ChangesNew Features

Added support for setting text color.

Breaking changes

  • Color renamed to BackgroundColor

Column

Breaking ChangesNew Features

Added support for custom column count to Offset and Size properties.

Breaking changes

  • Size and Offset properties are no string instead off int? . Supported values are positive numbers representing column count and value “auto”.

ColumnBreak

Added

Moves next column to the next line.

ComboBox

Added

ComboBox with support for sizing and form style.

Container

Breaking Changes

Breaking changes

  • Removed CollumnCount property - it`s no longer needed due to changes in Column.

DataPager

No Changes

DateTimePicker

No Changes

DropDownButton

Breaking ChangesNew Features

Added new ways how to configure behavior (whether to allow popup to flip, …) and appearance (Size, Menu alignment, …) of DropDown button.

Breaking changes

  • DropDownType renamed to DropDirection
  • ButtonTemplate renamed to ButtonContentTemplate

DropDownButtonHeader

New Features

Tag used for header is now configurable.

Form

Breaking ChangesNew Features

It’s now possible to define size of all sizable inner controls.

Breaking changes

  • LabelSizeXS renamed to LabelSize

CheckBoxGroup

Breaking ChangesNew Features

Upgraded to support new FormGroup and CheckBox features.

Breaking changes

  • Renamed to CheckBoxFormGroup
  • Removed IsInline property.

ComboBoxGroup

Breaking ChangesNew Features

Upgraded to support new FormGroup and ComboBox features.

Breaking changes

  • Renamed to ComboBoxFormGroup
  • ValueMember renamed to ItemValueBinding
  • DisplayMember renamed to ItemTextBinding

DateTimePickerGroup

New Features

Upgraded to support new FormGroup features. Added Changed event binding.

FormStaticValue

Removed

This control is no longer needed.
When form contains only text element than the corresponding class is added automatically.

TextBoxGroup

New Features

Upgraded to support new FormGroup and ComboBox features.

FlexDecorator

Added

New set of attached properties which allows easy configuration of elements position and alignment.

FormGroup

Breaking ChangesNew Features

It’s now possible to set Label size directly to the FormGroup.
FormGroup can now utilize fieldset.

Breaking changes

  • FormContent renamed to ContentTemplate

GlyphIcon

Removed

Bootstrap no longer contains any icons, therefore we decided to move GlyphIcon (FAIcons) control to separate package (in Dotvvm contribution).

GitHub link

GridView

Breaking ChangesNew Features

It’s now possible to set theme of table AND theme of header individually.
Also due to merge with ResponsiveTable control it’s possible to make GridView responsive by changing single property.

Breaking changes

  • Type property (flags enum) was replaced by individual properties for each option HasStripedRows, Border, HighlightRowOnHover and Size.

HelpText

No Changes

Image

No Changes

InputGroup

Breaking Changes

Limited which controls can be put to InputGroup.

Breaking changes

  • InputGroup can only contain those items
    • Side items
      • InputGroupButton
      • InputGroupDropDownButton
      • InputGroupRadioButton
      • InputGroupCheckBox
      • InputGroupLinkButton
      • InputGroupRouteLink
      • InputGroupLiteral
    • Center items
      • InputGroupTextBox
      • InputGroupComboBox

Jumbotron

New Features

Now can be set to occupy the entire horizontal space via IsFluid property.

Label

Removed

Old label is now badge, and old badge is gone.

LinkButton

Breaking Changesimage

Added new visual styles to button (eq. Outline only...) and new set of supported colors.

Breaking changes

  • Type – completely new set of supported colors

ListGroup

Breaking ChangesNew Features

ListGroup can be now set to fill parent container.
Limited which items can be put inside ListGroup.

Breaking changes

  • ListGroup can now contain only ListGroupItems.

ListGroupItem

Breaking ChangesNew Features

It’s now possible to insert your own badge into ListGroupItem.
Color – completely new set of supported colors

Breaking changes

  • Badge is no longer string property, but inner property which accepts single badge control.

MediaList

Breaking Changes

Limited which items can be put inside MediaList

Breaking changes

  • Only MediaObject controls are now supported inside MediaList.

MediaDefaultTemplate

Removed

MediaObject

Breaking ChangesNew Features

Added support for nested MediaObjects. MediaObject can now have Click command set.

Breaking changes

  • ImageTemplate was renamed to MediaTemplate
  • HorizontalAlignment was renamed to Possition

MetaViewport

No Changes

ModalDialog

New Features

Ways how to close modal dialog are now configurable (CloseOnEscape, CloseOnBackdropClick, … ).
Added way how to control whether the animation is used.

NavigationBar

Breaking Changes

Added support for scroll spy.
Limited which items can be put inside NavigationBar.

Breaking changes

  • Navigation bar can now contain only ListItems
  • IsFilled and IsJustified properties were replaced by VisualStyle property

NavigationItem

No Changes

PageHeader

Removed

Panel

Removed

Popover

Breaking ChangesNew Features

It is now possible to display popup as soon as page loads.

Breaking changes

  • AutoPlacement was replaced by setting Placement to auto.
  • Delay is now in fractions of second (double) instead of milliseconds (int).

ProgressBar

Breaking ChangesNew Features

New set of supported colors.

Breaking changes

  • IsAnimated and IsStriped were replaced with VisualStyle (enum) property.
  • Color - completely new set of supported colors

RadioButton

Breaking Changes

Added support for bootstrap custom style

Breaking changes

  • Type was moved to ButtonGroupRadioButton

Range

Added

Form control used to select ranges of numbers.

ResponsiveEmbed

Breaking ChangesNew Features

Added new aspect ratios.

Breaking changes

  • Type – added OneByOne and TwentyoneByNine options to the enum.

ResponsiveNavigation

Breaking ChangesNew Features

Added support for scroll spy.

Breaking changes

  • Removed ContainerType
  • IsInverted property was replaced by Theme
  • IsResponsivelyCollapsing was replaced by setting MaximumScreenSizeBeforeCollapse to None
  • IsStaticTop and FixedTo was replaced by ScrollBehavior enum
  • LeftAlighnedItemsTeplate was renamed to LeftAlignedItems
  • RightAlignedItemsTemplate was renamed to RightAlighnedItems

ResponsiveTable

Removed

Merged together with GridView

RouteLink

Breaking ChangesNew Features

Added new visual styles to button (eq. Outline only...) and new set of supported colors.

Breaking changes

  • Type – completely new set of supported colors

Row

New Features

Added support for gutters and different row types.

SimpleImage

Added

Wrapper around html img tag.

StackedProgressbar

No Changes

StyleDecorator

Removed

Was moved to separate package which will be released soon.

TabControl

Breaking ChangesNew Features

Limited which items can be put inside NavigationBar.
Layout and visual style of TabControl is now configurable.

Breaking changes

  • Tab control can now contain only Tab items

TabItem

Breaking ChangesNew Features

It’s now possible to disable TabItem.

Breaking changes

  • Removed IsActive property, active item is now set using ActiveTabIndex

Table

Removed

There is no need to have table when there is more powerful GridView

TextBox

Added

TextBox with support for sizing and form style.

Thumbnail

Removed

Thumbnail is now one of supported types of image

Tooltip

Breaking ChangesNew Features

Tooltips behavior is more configurable (Delay, Enabling animation, Enabling popup, ...) now.

Breaking changes

  • Title is now required
  • Position property was renamed to Placement

Well

Removed

Michal Tichý

.NET Developer

Working on DotVVM controls (Bootstrap & BusinessPack) since alpha release of DotVVM.