1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import 'package:fis_lib_report/converts/date_to_string_converter.dart';
- import 'package:fis_lib_report/converts/event_type.dart';
- import 'package:fis_lib_report/report/date_time_element.dart';
- import 'package:fis_lib_report/report_info/report_info.dart';
- import 'package:fis_lib_report/report_info/text_element_info.dart';
- class DateTimeInfo extends TextElementInfo {
- ///UI绑定的文本
- String get text => _text;
- set text(String v) {
- _text = v;
- final date = DateTime.tryParse(_text.trim());
- if (date != null) {
- displayValue = DateToStringConverter.dateTimeConvert(
- dateTimeFormat!, date.millisecondsSinceEpoch)
- .trim();
- } else {
- displayValue = v;
- }
- onTextChange.emit(this, v);
- }
- String displayValue = '';
- ///文本改变通知UI变化
- FEventHandler<String> onTextChange = FEventHandler<String>();
- ///日期格式
- String? dateTimeFormat = 'yyyy-MM-dd';
- String _text = '';
- DateTimeInfo.fromElement(DateTimeElement element)
- : super.fromElement(element) {
- dateTimeFormat = element.dateTimeFormat;
- text = DateTime.now().toString();
- }
- @override
- Map<String, dynamic> toJson() {
- final map = <String, dynamic>{};
- map['Key'] = id;
- map['Value'] = text;
- ReportInfo.instance.jsonItems.add(map);
- return map;
- }
- }
|