ChartLegend.fromJson constructor

ChartLegend.fromJson(
  1. Object? raw
)

Implementation

factory ChartLegend.fromJson(Object? raw) {
  if (raw is ChartLegend) return raw;
  final json = JsonValue.map(raw) ?? const <String, dynamic>{};
  return ChartLegend(
    type: JsonValue.string(json['type']),
    id: JsonValue.string(json['id']),
    show: JsonValue.boolOrNull(json['show']) ?? true,
    zlevel: JsonValue.intOrNull(json['zlevel']),
    z: JsonValue.intOrNull(json['z']),
    left: JsonValue.string(json['left']),
    top: JsonValue.string(json['top']),
    right: JsonValue.string(json['right']),
    bottom: JsonValue.string(json['bottom']),
    orient: JsonValue.string(json['orient']),
    align: JsonValue.string(json['align']),
    padding: JsonValue.doubleList(json['padding']),
    itemGap: JsonValue.doubleOrNull(json['itemGap']),
    itemWidth: JsonValue.doubleOrNull(json['itemWidth']),
    itemHeight: JsonValue.doubleOrNull(json['itemHeight']),
    formatter: json['formatter'], // Assumes dynamic; handle as needed
    selectedMode: json['selectedMode'], // Assumes dynamic; handle as needed
    selected: JsonValue.boolMap(json['selected']),
    icon: JsonValue.string(json['icon']),
    textStyle: json['textStyle'] != null
        ? ChartTextStyle.fromJson(json['textStyle'])
        : null,
    backgroundColor:
        JsonValue.string(json['backgroundColor']) ?? 'transparent',
    borderColor: JsonValue.string(json['borderColor']) ?? 'black',
    borderWidth: JsonValue.doubleOrNull(json['borderWidth']),
    borderRadius: JsonValue.doubleOrNull(json['borderRadius']),
    shadowBlur: JsonValue.doubleOrNull(json['shadowBlur']),
    shadowColor: JsonValue.string(json['shadowColor']),
    shadowOffsetX: JsonValue.doubleOrNull(json['shadowOffsetX']),
    shadowOffsetY: JsonValue.doubleOrNull(json['shadowOffsetY']),
    scrollDataIndex: JsonValue.intOrNull(json['scrollDataIndex']),
    pageButtonPosition: JsonValue.string(json['pageButtonPosition']),
    pageIconsColor: JsonValue.string(json['pageIconsColor']) ?? 'black',
    pageIconsInactiveColor:
        JsonValue.string(json['pageIconsInactiveColor']) ?? 'grey',
    textColor: JsonValue.string(json['textColor']) ?? 'black',
    fontSize: JsonValue.doubleOrNull(json['fontSize']) ?? 12,
    iconSize: JsonValue.doubleOrNull(json['iconSize']) ?? 10,
    data: JsonValue.stringList(json['data']) ?? <String>[],
  );
}