decodeSeriesLegend<D> static method

SeriesLegend<D>? decodeSeriesLegend<D>(
  1. dynamic map, {
  2. bool validate = true,
})

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

{
  "cellPadding": <EdgeInsets>,
  "defaultHiddenSeries": <List<String>>,
  "desiredMaxColumns": <int>,
  "desiredMaxRows": <int>,
  "horizontalFirst": <bool>,
  "entryTextStyle": <common.TextStyleSpec>,
  "insideJustification": <charts.InsideJustification>,
  "legendDefaultMeasure": <charts.LegendDefaultMeasure>,
  "measureFormatter": <common.MeasureFormatter>,
  "outsideJustification": <charts.OutsideJustification>,
  "position": <BehaviorPosition>,
  "secondaryMeasureFormatter": <common.MeasureFormatter>,
  "showMeasures": <bool>,
  "type": "series_legend"
}

See also

Implementation

static charts.SeriesLegend<D>? decodeSeriesLegend<D>(
  dynamic map, {
  bool validate = true,
}) {
  charts.SeriesLegend<D>? result;

  if (map is charts.SeriesLegend<D>) {
    result = map;
  } else if (map != null) {
    result = charts.SeriesLegend<D>(
      cellPadding: ThemeDecoder.decodeEdgeInsetsGeometry(
        map['cellPadding'],
        validate: false,
      ) as EdgeInsets?,
      defaultHiddenSeries: map['defaultHiddenSeries'] == null
          ? null
          : List<String>.from(map['defaultHiddenSeries']),
      desiredMaxColumns: JsonClass.parseInt(map['desiredMaxColumns']),
      desiredMaxRows: JsonClass.parseInt(map['desiredMaxRows']),
      horizontalFirst: map['horizontalFirst'] == null
          ? null
          : JsonClass.parseBool(map['horizontalFirst']),
      entryTextStyle: decodeTextStyleSpec(
        map['entryTextStyle'],
        validate: false,
      ),
      insideJustification: decodeInsideJustification(
        map['insideJustification'],
        validate: false,
      ),
      legendDefaultMeasure: decodeLegendDefaultMeasure(
        map['legendDefaultMeasure'],
        validate: false,
      ),
      measureFormatter: map['measureFormatter'],
      outsideJustification: decodeOutsideJustification(
        map['outsideJustification'],
        validate: false,
      ),
      position: decodeBehaviorPosition(
        map['position'],
        validate: false,
      ),
      secondaryMeasureFormatter: map['secondaryMeasureFormatter'],
      showMeasures: map['showMeasures'] == null
          ? null
          : JsonClass.parseBool(map['showMeasures']),
    );
  }

  return result;
}