LargeScaleAreaConfig.fromJson constructor

LargeScaleAreaConfig.fromJson(
  1. Map<String, dynamic> j
)

Implementation

factory LargeScaleAreaConfig.fromJson(Map<String, dynamic> j) {
  final rawSeriesData = ChartSeriesJson.firstSeriesRawData(j['series']);
  final xFromSeries = <double>[];
  final yFromSeries = <double>[];
  for (final item in rawSeriesData) {
    final tuple = JsonValue.list(item);
    final map = JsonValue.map(item);
    if (tuple != null && tuple.length >= 2) {
      xFromSeries.add(JsonValue.doubleOrNull(tuple[0]) ?? 0);
      yFromSeries.add(JsonValue.doubleOrNull(tuple[1]) ?? 0);
    } else if (map != null) {
      xFromSeries.add(JsonValue.doubleOrNull(map['x']) ?? 0);
      yFromSeries.add(JsonValue.doubleOrNull(map['y']) ?? 0);
    }
  }
  final x = JsonValue.doubleList(j['xData']) ?? xFromSeries;
  final y = JsonValue.doubleList(j['yData']) ?? yFromSeries;
  return LargeScaleAreaConfig(
    xData: x,
    yData: y,
    targetPoints: JsonValue.intOrNull(j['targetPoints']) ?? 500,
    seriesName: j['seriesName']?.toString(),
    seriesColor: j['seriesColor']?.toString(),
    fillOpacity: JsonValue.doubleOrNull(j['fillOpacity']) ?? 0.25,
    title: j['title'] != null ? TitlesData.fromJson(j['title']) : null,
    tooltip: j['tooltip'] != null
        ? ChartTooltip.fromJson(j['tooltip'])
        : null,
    legend: j['legend'] != null ? ChartLegend.fromJson(j['legend']) : null,
    toolbox: j['toolbox'] != null
        ? ChartToolbox.fromJson(j['toolbox'])
        : null,
    grid: j['grid'] != null ? GridData.fromJson(j['grid']) : null,
  );
}