block_element_page.dart 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 Center(
  37. child: RInputImageList(inputImageList),
  38. );
  39. }
  40. return Container(
  41. height: 20,
  42. decoration: TestBoxDecoration.buildDecoration(),
  43. );
  44. }
  45. }