decodeChartTitle<D> static method

ChartTitle<D>? decodeChartTitle<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:

{
  "behaviorPosition": <BehaviorPosition>,
  "innerPadding": <int>,
  "layoutMinSize": <int>,
  "layoutPreferredSize": <int>,
  "maxWidthStrategy": <MaxWidthStrategy>,
  "outerPadding": <int>,
  "subTitle": <String>,
  "subTitleStyleSpec": <TextStyleSpec>,
  "text": <String>,
  "titleDirection": <ChartTitleDirection>,
  "titleOutsideJustification": <TitleOutsideJustification>,
  "titlePadding": <int>,
  "titleStyleSpec": <TextStyleSpec>
}

See also:

Implementation

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

  if (map is charts.ChartTitle<D>) {
    result = map;
  } else if (map != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/chart_title',
      value: map,
      validate: validate,
    ));
    result = charts.ChartTitle<D>(
      map['text'],
      behaviorPosition: decodeBehaviorPosition(
        map['behaviorPosition'],
        validate: false,
      ),
      innerPadding: JsonClass.parseInt(map['innerPadding']),
      layoutMinSize: JsonClass.parseInt(map['layoutMinSize']),
      layoutPreferredSize: JsonClass.parseInt(map['layoutPreferredSize']),
      maxWidthStrategy: decodeMaxWidthStrategy(
        map['maxWidthStrategy'],
        validate: false,
      ),
      outerPadding: JsonClass.parseInt(map['outerPadding']),
      subTitle: map['subTitle'],
      subTitleStyleSpec: decodeTextStyleSpec(
        map['subTitleStyleSpec'],
        validate: false,
      ),
      titleDirection: decodeChartTitleDirection(
        map['titleDirection'],
        validate: false,
      ),
      titleOutsideJustification: decodeOutsideJustification(
        map['titleOutsideJustification'],
        validate: false,
      ),
      titlePadding: JsonClass.parseInt(map['titlePadding']),
      titleStyleSpec: decodeTextStyleSpec(
        map['titleStyleSpec'],
        validate: false,
      ),
    );
  }

  return result;
}