toJson method
Abstract function that concrete classes must implement. This must encode the internal data model to a JSON compatible representation.
While not required, it is suggested to call removeNull before returning.
Implementation
@override
Map<String, dynamic> toJson() {
return JsonClass.removeNull({
'alignment': ThemeEncoder.encodeAlignmentGeometry(
alignment,
),
'autofocus': false == autofocus ? null : autofocus,
'color': ThemeEncoder.encodeColor(
color,
),
'constraints': ThemeEncoder.encodeBoxConstraints(
constraints,
),
'disabledColor': ThemeEncoder.encodeColor(
disabledColor,
),
'enableFeedback': enableFeedback,
'focusColor': ThemeEncoder.encodeColor(
focusColor,
),
'focusNode': focusNode,
'highlightColor': ThemeEncoder.encodeColor(
highlightColor,
),
'hoverColor': ThemeEncoder.encodeColor(
hoverColor,
),
'icon': icon.toJson(),
'iconSize': iconSize,
'isSelected': isSelected,
'mouseCursor': ThemeEncoder.encodeMouseCursor(
mouseCursor,
),
'onPressed': onPressed,
'padding': ThemeEncoder.encodeEdgeInsetsGeometry(
padding,
),
'selectedIcon': selectedIcon?.toJson(),
'splashColor': ThemeEncoder.encodeColor(
splashColor,
),
'splashRadius': splashRadius,
'style': ThemeEncoder.encodeButtonStyle(
style,
),
'tooltip': tooltip,
'visualDensity': ThemeEncoder.encodeVisualDensity(
visualDensity,
),
...args,
});
}