import 'package:diplomaticquarterapp/core/model/labs/lab_result.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.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( TranslationBase.of(context).showMoreBtn, decoration: TextDecoration.underline, color: Colors.blue, ), ), ], ), Table( border: TableBorder.symmetric( inside: BorderSide( width: 2.0, color: Colors.grey[300]), ), children: fullData(patientLabResultList,context), ), ], ), ); } List fullData(List labResultList,context) { List tableRow = []; tableRow.add( TableRow( children: [ Container( child: Container( decoration: BoxDecoration( color: Theme.of(context).primaryColor, 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( TranslationBase.of(context).description, color: Colors.white, ), ), height: 60, ), ), Container( child: Container( decoration: BoxDecoration( color: Theme.of(context).primaryColor, ), child: Center( child: Texts(TranslationBase.of(context).value, color: Colors.white), ), height: 60), ), Container( child: Container( decoration: BoxDecoration( color: Theme.of(context).primaryColor, 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(TranslationBase.of(context).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; } }