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({
'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,
});
}