123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import 'package:fis_lib_report/pages/paragraph_page.dart';
- import 'package:fis_lib_report/pages/rt_table.dart';
- import 'package:fis_lib_report/report/element_type.dart';
- import 'package:fis_lib_report/report/interfaces/block_element.dart';
- import 'package:fis_lib_report/report/paragraph.dart';
- import 'package:fis_lib_report/report/rt_Cell.dart';
- import 'package:fis_lib_report/report/rt_table.dart';
- import 'package:fis_ui/index.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/material.dart';
- import 'helper.dart';
- class FRTCellPage extends StatefulWidget implements FWidget {
- final double? width;
- const FRTCellPage({required this.cell, this.width, Key? key})
- : super(key: key);
- final RTCell cell;
- @override
- State<StatefulWidget> createState() {
- return _RTCellState();
- }
- }
- class _RTCellState extends State<FRTCellPage> {
- List<IBlockElement>? _blocks = [];
- @override
- initState() {
- super.initState();
- }
- @override
- FWidget build(BuildContext context) {
- _blocks = widget.cell.blocks;
- return _blocks!.isEmpty
- ? FContainer(
- constraints: const BoxConstraints(minHeight: 24),
- width: widget.width,
- )
- : FWrap(
- alignment: WrapAlignment.center,
- runAlignment: WrapAlignment.center,
- runSpacing: 2,
- children: [
- ..._blocks!.map((e) {
- if (e.elementType!.name == ElementType.paragraph.name) {
- final paragraph = e as Paragraph;
- return FContainer(
- width: widget.width,
- alignment: Alignment.center,
- child: FParagraphPage(paragraph: paragraph),
- );
- } else if (e.elementType!.name == ElementType.rtTable.name) {
- final table = e as RTTable;
- return FSizedBox(
- width: widget.width,
- child: FRTTablePage(element: table),
- );
- }
- return FContainer();
- }),
- ],
- );
- }
- }
|