toJson method

  1. @override
Map<String, dynamic> toJson()
override

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.encodeMainAxisAlignment(
      alignment,
    ),
    'buttonAlignedDropdown': buttonAlignedDropdown,
    'buttonHeight': buttonHeight,
    'buttonMinWidth': buttonMinWidth,
    'buttonPadding': ThemeEncoder.encodeEdgeInsetsGeometry(
      buttonPadding,
    ),
    'buttonTextTheme': ThemeEncoder.encodeButtonTextTheme(
      buttonTextTheme,
    ),
    'layoutBehavior': ThemeEncoder.encodeButtonBarLayoutBehavior(
      layoutBehavior,
    ),
    'mainAxisSize': ThemeEncoder.encodeMainAxisSize(
      mainAxisSize,
    ),
    'overflowButtonSpacing': overflowButtonSpacing,
    'overflowDirection': ThemeEncoder.encodeVerticalDirection(
      overflowDirection,
    ),
    'children': const <JsonWidgetData>[] == children
        ? null
        : JsonClass.toJsonList(children),
    ...args,
  });
}