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>",
  "onTriggered": "<TooltipTriggeredCallback>",
  "padding": "<EdgeInsetsGeometry>",
  "preferBelow": "<bool>",
  "richMessage": "<InlineSpan>",
  "showDuration": "<Duration>",
  "textAlign": "<TextAlign>",
  "textStyle": "<TextStyle>",
  "triggerMode": "<bool>",
  "verticalOffset": "<double>",
  "waitDuration": "<Duration>"
}
See also:
- JsonClass.maybeParseDurationFromMillis
- ThemeDecoder.decodeBoxDecoration
- ThemeDecoder.decodeEdgeInsetsGeometry
- ThemeDecoder.decodeTextAlign
- ThemeDecoder.decodeTextStyle
- ThemeDecoder.decodeTooltipTriggerMode
Implementation
static JsonTooltipBuilder? fromDynamic(
  dynamic map, {
  JsonWidgetRegistry? registry,
}) {
  JsonTooltipBuilder? result;
  if (map != null) {
    result = JsonTooltipBuilder(
      decoration: ThemeDecoder.decodeBoxDecoration(
        map['decoration'],
        validate: false,
      ),
      enableFeedback: map['enableFeedback'] == null
          ? null
          : JsonClass.parseBool(map['enableFeedback']),
      excludeFromSemantics: map['excludeFromSemantics'] == null
          ? null
          : JsonClass.parseBool(map['excludeFromSemantics']),
      height: JsonClass.maybeParseDouble(map['height']),
      margin: ThemeDecoder.decodeEdgeInsetsGeometry(
        map['margin'],
        validate: false,
      ),
      message: map['message']?.toString() ?? '',
      padding: ThemeDecoder.decodeEdgeInsetsGeometry(
        map['padding'],
        validate: false,
      ),
      preferBelow: map['preferBelow'] == null
          ? null
          : JsonClass.parseBool(map['preferBelow']),
      richMessage: map['richMessage'],
      showDuration:
          JsonClass.maybeParseDurationFromMillis(map['showDuration']),
      textAlign: ThemeDecoder.decodeTextAlign(
        map['textAlign'],
        validate: false,
      ),
      textStyle: ThemeDecoder.decodeTextStyle(
        map['textStyle'],
        validate: false,
      ),
      triggerMode: ThemeDecoder.decodeTooltipTriggerMode(
        map['triggerMode'],
        validate: false,
      ),
      verticalOffset: JsonClass.maybeParseDouble(map['verticalOffset']),
      waitDuration:
          JsonClass.maybeParseDurationFromMillis(map['waitDuration']),
    );
  }
  return result;
}