ReportTemplate.fromJson constructor
ReportTemplate.fromJson(
- Map<String, dynamic> json
)
Implementation
factory ReportTemplate.fromJson(Map<String, dynamic> json) {
return ReportTemplate(
id: json['id'],
name: json['name'],
description: json['description'],
reportType: ReportType.values.firstWhere(
(e) => e.name == json['reportType'],
orElse: () => ReportType.label,
),
pageWidth: (json['pageWidth'] as num).toDouble(),
pageHeight: (json['pageHeight'] as num).toDouble(),
pageFormat: PageFormat.values.firstWhere(
(e) => e.name == json['pageFormat'],
orElse: () => PageFormat.a4Portrait,
),
marginTop: (json['marginTop'] as num?)?.toDouble() ?? 10,
marginBottom: (json['marginBottom'] as num?)?.toDouble() ?? 10,
marginLeft: (json['marginLeft'] as num?)?.toDouble() ?? 10,
marginRight: (json['marginRight'] as num?)?.toDouble() ?? 10,
itemsPerRow: json['itemsPerRow'] ?? 3,
itemsPerColumn: json['itemsPerColumn'] ?? 8,
horizontalGap: (json['horizontalGap'] as num?)?.toDouble() ?? 2,
verticalGap: (json['verticalGap'] as num?)?.toDouble() ?? 2,
itemWidth: (json['itemWidth'] as num?)?.toDouble() ?? 50,
itemHeight: (json['itemHeight'] as num?)?.toDouble() ?? 30,
elements:
(json['elements'] as List?)
?.map((e) => ReportElement.fromJson(e))
.toList() ??
[],
dataSchemaName: json['dataSchemaName'],
dataSchema: json['dataSchema'] != null
? DataSchema.fromJson(json['dataSchema'])
: null,
createdAt: json['createdAt'] != null
? DateTime.parse(json['createdAt'])
: DateTime.now(),
updatedAt: json['updatedAt'] != null
? DateTime.parse(json['updatedAt'])
: DateTime.now(),
);
}