element_info.dart 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'package:fis_lib_report/report/element_tag.dart';
  2. import 'package:fis_lib_report/report/element_type.dart';
  3. import 'package:fis_lib_report/report/interfaces/element.dart';
  4. import 'package:fis_lib_report/report/interfaces/position_layout.dart';
  5. import 'package:fis_lib_report/report/interfaces/report_element.dart';
  6. import 'package:fis_lib_report/report/measure_tag.dart';
  7. import 'package:fis_lib_report/report/rt_thickness.dart';
  8. import 'package:uuid/uuid.dart';
  9. abstract class ElementInfo {
  10. @override
  11. ElementType? elementType;
  12. @override
  13. int? index;
  14. @override
  15. MeasureTag? measureTag;
  16. @override
  17. IReportElement? parent;
  18. @override
  19. ElementTag? tag;
  20. @override
  21. String? id;
  22. IElement? element;
  23. ElementInfo.fromElement(IElement element) {
  24. this.element = element;
  25. elementType = element.elementType;
  26. index = element.index;
  27. measureTag = element.measureTag;
  28. parent = element.parent;
  29. tag = element.tag;
  30. id = element.id;
  31. }
  32. Map<String, dynamic> toJson() => {
  33. 'Index': index,
  34. 'Id': id,
  35. 'ElementType': elementType!.toJson(),
  36. 'MeasureTag': measureTag == null ? null : measureTag!.toJson(),
  37. };
  38. }