fromDynamic static method

OrdinalComboChartBuilder fromDynamic(
  1. dynamic map, {
  2. JsonWidgetRegistry? registry,
})

Builds the builder from a Map-like dynamic structure. This expects the JSON format to be of the following structure:

{
  "animate": <bool>,
  "animationDuration": <Duration>,
  "behaviors": <List<charts.ChartBehavior<String>>>,
  "customSeriesRenderers": <List<charts.SeriesRendererConfig<String>>>,
  "defaultInteractions": <bool>,
  "defaultRenderer": <common.BarRendererConfig<String>>,
  "domainAxis": <common.AxisSpec>,
  "layoutConfig": <charts.LayoutConfig>,
  "primaryMeasureAxis": <common.NumericAxisSpec>,
  "rtlSpec": <common.RTLSpec>,
  "secondaryMeasureAxis": <common.NumericAxisSpec>,
  "series": <List<charts.Series<dynamic, String>>>,
  "selectionModels": <List<charts.SelectionModelConfig<String>>>
}

Implementation

static OrdinalComboChartBuilder fromDynamic(
  dynamic map, {
  JsonWidgetRegistry? registry,
}) {
  if (map == null) {
    throw Exception('[OrdinalComboChartBuilder]: map is null');
  }

  return OrdinalComboChartBuilder(
    animate:
        map['animate'] == null ? null : JsonClass.parseBool(map['animate']),
    animationDuration:
        JsonClass.parseDurationFromMillis(map['animationDuration']),
    behaviors: JsonChartsDecoder.decodeChartBehaviorList(
      map['behaviors'],
      validate: false,
    ),
    customSeriesRenderers: JsonChartsDecoder.decodeSeriesRendererConfigList(
      map['customSeriesRenderers'],
      validate: false,
    ),
    defaultInteractions: JsonClass.parseBool(
      map['defaultInteractions'],
      whenNull: true,
    ),
    defaultRenderer: JsonChartsDecoder.decodeSeriesRendererConfig<String>(
      map['defaultRenderer'],
      validate: false,
    ) as charts.BarRendererConfig<String>?,
    domainAxis: JsonChartsDecoder.decodeAxisSpec(
      map['domainAxis'],
      validate: false,
    ),
    layoutConfig: JsonChartsDecoder.decodeLayoutConfig(
      map['layoutConfig'],
      validate: false,
    ),
    primaryMeasureAxis: JsonChartsDecoder.decodeNumericAxisSpec(
      map['primaryMeasureAxis'],
      validate: false,
    ),
    rtlSpec: JsonChartsDecoder.decodeRTLSpec(
      map['rtlSpec'],
      validate: false,
    ),
    secondaryMeasureAxis: JsonChartsDecoder.decodeNumericAxisSpec(
      map['secondaryMeasureAxis'],
      validate: false,
    ),
    series: JsonChartsDecoder.decodeSeriesList(
      map['series'],
      validate: false,
    ),
    selectionModels: JsonChartsDecoder.decodeSelectionModelConfigList<String>(
      map['selectionModels'],
      validate: false,
    ),
  );
}