import 'package:fis_lib_report/report/dateTimeElement.dart'; import 'package:fis_lib_report/report/element.dart'; import 'package:fis_lib_report/report/element_type.dart'; import 'package:fis_lib_report/report/inputImage.dart'; import 'package:fis_lib_report/report/inputText.dart'; import 'package:fis_lib_report/report/interfaces/element.dart'; import 'package:fis_lib_report/report/interfaces/paragraph.dart'; import 'package:fis_lib_report/report/line.dart'; import 'package:fis_lib_report/report/multiSelected.dart'; import 'package:fis_lib_report/report/page_number.dart'; import 'package:fis_lib_report/report/singleSelected.dart'; import 'package:fis_lib_report/report/space.dart'; import 'package:fis_lib_report/report/static_text.dart'; import 'package:fis_lib_report/report/static_image.dart'; class Paragraph extends Element implements IParagraph { @override List? elements = []; @override double? lineSpace; bool? isEmptyFirst; Paragraph.fromJson(Map json, {IElement? parent}) : super.fromJson(json) { this.parent = parent; lineSpace = json['LineSpace']; List jsonElements = json['Elements']; for (var map in jsonElements) { final jsonType = ElementType.fromJson(map['ElementType']); if (jsonType.name == ElementType.inputText.name) { final inputText = InputText.fromJson(map); elements!.add(inputText); } else if (jsonType.name == ElementType.line.name) { final line = Line.fromJson(map); elements!.add(line); } else if (jsonType.name == ElementType.staticText.name) { final staticText = StaticText.fromJson(map, parent: this); elements!.add(staticText); } else if (jsonType.name == ElementType.singleSelected.name) { final singleSelected = SingleSelected.fromJson(map); elements!.add(singleSelected); } else if (jsonType.name == ElementType.multiSelected.name) { final multiSelected = MultiSelected.fromJson(map); elements!.add(multiSelected); } else if (jsonType.name == ElementType.dateTime.name) { final dateTime = DateTimeElement.fromJson(map); elements!.add(dateTime); } else if (jsonType.name == ElementType.inputImage.name) { final inputImage = InputImage.fromJson(map); elements!.add(inputImage); } else if (jsonType.name == ElementType.staticImage.name) { final staticImage = StaticImage.fromJson(map); elements!.add(staticImage); } else if (jsonType.name == ElementType.space.name) { final space = Space.fromJson(map); elements!.add(space); } else if (jsonType.name == ElementType.pageNumber.name) { final pageNumber = PageNumber.fromJson(map); elements!.add(pageNumber); } } } }