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({
    'decoration': decoration,
    'enableFeedback': enableFeedback,
    'enableTapToDismiss':
        true == enableTapToDismiss ? null : enableTapToDismiss,
    'excludeFromSemantics': excludeFromSemantics,
    'exitDuration': exitDuration?.inMilliseconds,
    'height': height,
    'margin': ThemeEncoder.encodeEdgeInsetsGeometry(
      margin,
    ),
    'message': message,
    'onTriggered': onTriggered,
    'padding': ThemeEncoder.encodeEdgeInsetsGeometry(
      padding,
    ),
    'preferBelow': preferBelow,
    'richMessage': richMessage,
    'showDuration': showDuration?.inMilliseconds,
    'textAlign': ThemeEncoder.encodeTextAlign(
      textAlign,
    ),
    'textStyle': ThemeEncoder.encodeTextStyle(
      textStyle,
    ),
    'triggerMode': ThemeEncoder.encodeTooltipTriggerMode(
      triggerMode,
    ),
    'verticalOffset': verticalOffset,
    'waitDuration': waitDuration?.inMilliseconds,
    'child': child?.toJson(),
    ...args,
  });
}