fromDynamic static method
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,
),
);
}