1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import 'package:fis_lib_report/report/borders.dart';
- import 'package:fis_lib_report/report/element.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/interfaces/cell.dart';
- import 'package:fis_lib_report/report/interfaces/element.dart';
- import 'package:fis_lib_report/report/paragraph.dart';
- import 'package:fis_lib_report/report/rt_color.dart';
- import 'rt_table.dart';
- class RTCell extends Element implements ICell {
- @override
- RTColor? background;
- @override
- List<IBlockElement>? blocks = [];
- @override
- WidthTypeEnum? heightType;
- @override
- WidthTypeEnum? widthType;
- Borders? borders;
- RTCell.fromJson(Map<String, dynamic> json, {IElement? parent})
- : super.fromJson(json) {
- this.parent = parent;
- final jsonBackground = json['Background'];
- background = RTColor.fromJson(jsonBackground);
- if (json['HeightType'] != null) {
- heightType = WidthTypeEnum.values
- .firstWhere((element) => element.name == json['HeightType']);
- }
- if (json['WidthType'] != null) {
- widthType = WidthTypeEnum.values
- .firstWhere((element) => element.name == json['WidthType']);
- }
- List<dynamic> jsonBlocks = json['Blocks'];
- for (var map in jsonBlocks) {
- final jsonType = map['ElementType'];
- final type = ElementType.fromJson(jsonType);
- final typeName = type.name;
- if (typeName == ElementType.paragraph.name) {
- final block = Paragraph.fromJson(map, parent: this);
- blocks!.add(block);
- } else if (typeName == ElementType.rtTable.name) {
- final block = RTTable.fromJson(map);
- blocks!.add(block);
- }
- }
- final jsonBorders = json['Borders'];
- borders = Borders.fromJson(jsonBorders);
- }
- }
|