fromDynamic static method
Builds the builder from a Map-like dynamic structure. This expects the JSON format to be of the following structure:
{
"decoration": <BoxDecoration>,
"enableFeedback": <bool>,
"excludeFromSemantics": <bool>,
"height": <double>,
"margin": <EdgeInsetsGeometry>,
"message": <String>,
"padding": <EdgeInsetsGeometry>,
"preferBelow": <bool>,
"richMessage": <InlineSpan>,
"showDuration": <Duration>,
"textStyle": <TextStyle>,
"triggerMode": <bool>,
"verticalOffset": <double>,
"waitDuration": <Duration>
}
See also:
JsonClass.parseDurationFromMillis
ThemeDecoder.decodeBoxDecoration
ThemeDecoder.decodeEdgeInsetsGeometry
ThemeDecoder.decodeTextStyle
ThemeDecoder.decodeTooltipTriggerMode
Implementation
static JsonTooltipBuilder? fromDynamic(
dynamic map, {
JsonWidgetRegistry? registry,
}) {
JsonTooltipBuilder? result;
if (map != null) {
result = JsonTooltipBuilder(
decoration: ThemeDecoder.decodeBoxDecoration(map['decoration']),
enableFeedback: map['enableFeedback'] == null
? null
: JsonClass.parseBool(map['enableFeedback']),
excludeFromSemantics: map['excludeFromSemantics'] == null
? null
: JsonClass.parseBool(map['excludeFromSemantics']),
height: JsonClass.parseDouble(map['height']),
margin: ThemeDecoder.decodeEdgeInsetsGeometry(map['margin']),
message: map['message']?.toString() ?? '',
padding: ThemeDecoder.decodeEdgeInsetsGeometry(map['padding']),
preferBelow: map['preferBelow'] == null
? null
: JsonClass.parseBool(map['preferBelow']),
richMessage: map['richMessage'],
showDuration: JsonClass.parseDurationFromMillis(map['showDuration']),
textStyle: ThemeDecoder.decodeTextStyle(map['textStyle']),
triggerMode: ThemeDecoder.decodeTooltipTriggerMode(map['triggerMode']),
verticalOffset: JsonClass.parseDouble(map['verticalOffset']),
waitDuration: JsonClass.parseDurationFromMillis(map['waitDuration']),
);
}
return result;
}