element_info.dart 1.0 KB

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