import 'package:fis_lib_report/report/element_type.dart'; import 'package:fis_lib_report/report/interfaces/cell.dart'; import 'package:fis_lib_report/report/paragraph.dart'; import 'package:fis_lib_report/report_info/block_element_info_interface.dart'; import 'package:fis_lib_report/report_info/element_info.dart'; import 'package:fis_lib_report/report_info/paragraph_info.dart'; class RTCellInfo extends ElementInfo { List? blocks = []; RTCellInfo.fromElement(ICell value) : super.fromElement(value) { for (var element in value.blocks!) { if (element.elementType!.name == ElementType.paragraph.name) { final paragraphInfo = element as Paragraph; final block = ParagraphInfo.fromElement(paragraphInfo); blocks!.add(block); } } } @override Map toJson() { final map = {}; map.addAll(super.toJson()); final blockInfos = {}; for (var b in blocks!) { if (b.elementType!.name == ElementType.paragraph.name) { final paragraphInfo = b as ParagraphInfo; blockInfos.addAll(paragraphInfo.toJson()); } } map['Blocks'] = blockInfos; return map; } }