import 'package:fis_lib_report/converts/event_type.dart'; import 'package:fis_lib_report/report/interfaces/element.dart'; import 'package:fis_lib_report/report/multiSelected.dart'; import 'package:fis_lib_report/report_info/report_info.dart'; import 'package:fis_lib_report/report_info/text_element_info.dart'; class MulitiSelectedInfo extends TextElementInfo { ///是否只读 bool? isReadOnly = false; ///所有待选项 List? items = []; ///选中项集合 List get selectedItems => _selectedItems; set selectedItems(List v) { _selectedItems = v; onSelectedChange.emit(this, v); } ///选中项改变通知UI变化 FEventHandler> onSelectedChange = FEventHandler>(); List _selectedItems = []; MulitiSelectedInfo.fromElement(MultiSelected element) : super.fromElement(element) { items = element.items; isReadOnly = element.isReadOnly; } @override Map toJson() { final map = {}; map['Key'] = tag!.id; map['Value'] = selectedItems; ReportInfo.instance.jsonItems.add(map); return map; } }