input_text_info.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import 'package:fis_lib_report/converts/event_type.dart';
  2. import 'package:fis_lib_report/report/inputText.dart';
  3. import 'package:fis_lib_report/report_info/report_info.dart';
  4. import 'package:fis_lib_report/report_info/text_element_info.dart';
  5. class InputTextInfo extends TextElementInfo {
  6. ///是否只读
  7. bool? isReadOnly;
  8. ///输入框宽度
  9. double lineWidth = 0.0;
  10. ///当前输入框是否已经监听
  11. bool? isListening;
  12. ///UI绑定的文本
  13. String get text => _text;
  14. set text(String v) {
  15. _text = v;
  16. onTextChange.emit(this, v);
  17. }
  18. ///文本改变通知UI变化
  19. FEventHandler<String> onTextChange = FEventHandler<String>();
  20. String _text = '';
  21. InputTextInfo.fromElement(InputText element) : super.fromElement(element) {
  22. isReadOnly = element.isReadOnly;
  23. isListening = false;
  24. text = '';
  25. }
  26. @override
  27. Map<String, dynamic> toJson() {
  28. final map = <String, dynamic>{};
  29. map['Key'] = tag!.id;
  30. map['Value'] = text;
  31. ReportInfo.instance.jsonItems.add(map);
  32. return map;
  33. }
  34. }