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<IElement>? elements = []; @override double? lineSpace; bool? isEmptyFirst; Paragraph.fromJson(Map<String, dynamic> json, {IElement? parent}) : super.fromJson(json) { this.parent = parent; lineSpace = json['LineSpace']; List<dynamic> jsonElements = json['Elements']; jsonElements.forEach((map) { 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); } }); } }