block_element_page.dart 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import 'package:fis_lib_report/pages/components/input_imageList.dart';
  2. import 'package:fis_lib_report/pages/helpler.dart';
  3. import 'package:fis_lib_report/pages/paragraph_page.dart';
  4. import 'package:fis_lib_report/pages/rt_table.dart';
  5. import 'package:fis_lib_report/report/element_type.dart';
  6. import 'package:fis_lib_report/report/inputImageList.dart';
  7. import 'package:fis_lib_report/report/interfaces/block_element.dart';
  8. import 'package:fis_lib_report/report/paragraph.dart';
  9. import 'package:fis_lib_report/report/rt_table.dart';
  10. import 'package:flutter/material.dart';
  11. class BlockElementPage extends StatefulWidget {
  12. const BlockElementPage({required this.element, Key? key}) : super(key: key);
  13. final IBlockElement element;
  14. @override
  15. State<StatefulWidget> createState() {
  16. return _BlockElementState();
  17. }
  18. }
  19. class _BlockElementState extends State<BlockElementPage> {
  20. ElementType? _type;
  21. @override
  22. initState() {
  23. super.initState();
  24. }
  25. @override
  26. Widget build(BuildContext context) {
  27. _type = widget.element.elementType!;
  28. if (_type != null && _type!.name == ElementType.rtTable!.name) {
  29. RTTable t = widget.element as RTTable;
  30. return RTTablePage(element: t);
  31. } else if (_type != null && _type!.name == ElementType.paragraph!.name) {
  32. final paragraph = widget.element as Paragraph;
  33. return ParagraphPage(paragraph: paragraph);
  34. } else if (_type != null && _type!.name == ElementType.imageList!.name) {
  35. final inputImageList = widget.element as InputImageList;
  36. return RInputImageList(inputImageList);
  37. }
  38. return Container(
  39. height: 20,
  40. decoration: TestBoxDecoration.buildDecoration(),
  41. );
  42. }
  43. }