import 'package:diplomaticquarterapp/core/model/labs/lab_result.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../text.dart'; class LabResultWidget extends StatelessWidget { final String filterName ; final List patientLabResultList; LabResultWidget({Key key, this.filterName, this.patientLabResultList}) : super(key: key); ProjectViewModel projectViewModel; @override Widget build(BuildContext context) { projectViewModel = Provider.of(context); return Container( width: double.infinity, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Texts(filterName), InkWell( onTap: () { //TODO model.getPatientLabResult(patientLabOrder: widget.patientLabOrder); }, child: Texts( 'Flow Chart', decoration: TextDecoration.underline, color: Colors.blue, ), ), ], ), Table( border: TableBorder.symmetric( inside: BorderSide( width: 2.0, color: Colors.grey[300]), ), children: fullData(patientLabResultList), ), ], ), ); } List fullData(List labResultList) { List tableRow = []; tableRow.add( TableRow( children: [ Container( child: Container( decoration: BoxDecoration( color: Color(0xff515B5D), borderRadius: BorderRadius.only( topLeft: projectViewModel.isArabic ? Radius.circular(0.0) : Radius.circular(10.0), topRight: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0.0), ), ), child: Center( child: Texts( 'Description', color: Colors.white, ), ), height: 60, ), ), Container( child: Container( decoration: BoxDecoration( color: Color(0xff515B5D), ), child: Center( child: Texts('Value', color: Colors.white), ), height: 60), ), Container( child: Container( decoration: BoxDecoration( color: Color(0xff515B5D), borderRadius: BorderRadius.only( topLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0.0), topRight: projectViewModel.isArabic ? Radius.circular(0.0) : Radius.circular(10.0), ), ), child: Center( child: Texts('Range', color: Colors.white), ), height: 60), ), ], ), ); labResultList.forEach((lab) { tableRow.add( TableRow( children: [ Container( child: Container( padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: Texts( lab.description, textAlign: TextAlign.center, ), ), ), ), Container( child: Container( padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: Texts( lab.resultValue, textAlign: TextAlign.center, ), ), ), ), Container( child: Container( padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: Texts( lab.referanceRange, textAlign: TextAlign.center, ), ), ), ), ], ), ); }); return tableRow; } }