import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; import 'package:fcs/model/log_model.dart'; import 'package:fcs/model/user_model.dart'; import 'package:fcs/fcs/common/theme.dart'; import 'package:fcs/vo/document_log.dart'; import 'package:fcs/vo/role.dart'; import 'package:fcs/widget/local_text.dart'; import 'package:fcs/widget/my_data_table.dart'; class DocumentLogPage extends StatefulWidget { final String docID; const DocumentLogPage({Key key, this.docID}) : super(key: key); @override _DocumentLogPageState createState() => _DocumentLogPageState(); } class _DocumentLogPageState extends State { var dateFormatter = new DateFormat('dd MMM yyyy\nhh:mm:ss a'); @override void initState() { super.initState(); if (widget.docID != null) { Provider.of(context, listen: false).loadDocLogs(widget.docID); } } @override void dispose() { super.dispose(); } @override Widget build(BuildContext context) { var logModel = Provider.of(context); var userModel = Provider.of(context); return Scaffold( appBar: AppBar( title: LocalText(context, 'document.log.title', fontSize: 20, color: Colors.white), backgroundColor: primaryColor, ), body: Container( padding: EdgeInsets.only(top: 10), child: SingleChildScrollView( scrollDirection: Axis.horizontal, child: MyDataTable( headingRowHeight: 40, columnSpacing: 40, columns: [ MyDataColumn(label: LocalText(context, "document.date")), MyDataColumn(label: LocalText(context, "document.by")), MyDataColumn(label: LocalText(context, "document.desc")), ], rows: getProductRow(logModel.docLogs, userModel.privileges), ), ), ), ); } List getProductRow( List docLogs, List privileges) { return docLogs.map((d) { return MyDataRow( cells: [ MyDataCell( new Text(dateFormatter.format(d.date), style: textStyle), ), MyDataCell( new Text( d.actionerName == null ? '' : d.actionerName, style: textStyle, ), ), MyDataCell( new Text(d.getDesc(privileges) == null ? '' : d.getDesc(privileges), style: textStyle), ), ], ); }).toList(); } }