From 489ad9e729e23a8f2c66f5c469fc6c6d321867d4 Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Wed, 3 Jun 2020 15:16:25 +0300 Subject: [PATCH] improve code and add AppExpandableNotifier --- .../profile/insurance_approvals_screen.dart | 1 - .../profile/vital_sign/vital_sign_item.dart | 7 +++ .../vital_sign_item_details_screen.dart | 9 +++- .../vital_sing_chart_and_detials.dart | 38 ++++++++----- .../patients/vital_sign_details_wideget.dart | 7 ++- .../shared/app_expandable_notifier.dart | 53 +++++++++++++++++++ lib/widgets/shared/charts/app_line_chart.dart | 7 +++ .../shared/charts/app_time_series_chart.dart | 26 ++++++++- 8 files changed, 131 insertions(+), 17 deletions(-) create mode 100644 lib/widgets/shared/app_expandable_notifier.dart diff --git a/lib/screens/patients/profile/insurance_approvals_screen.dart b/lib/screens/patients/profile/insurance_approvals_screen.dart index e2d531c5..2015e106 100644 --- a/lib/screens/patients/profile/insurance_approvals_screen.dart +++ b/lib/screens/patients/profile/insurance_approvals_screen.dart @@ -1,6 +1,5 @@ import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/models/patient/insurance_aprovals_request.dart'; -import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart'; import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart'; import 'package:flutter/material.dart'; diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_item.dart b/lib/screens/patients/profile/vital_sign/vital_sign_item.dart index 702d7bac..9e25af85 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_item.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_item.dart @@ -2,6 +2,13 @@ import 'package:flutter/material.dart'; import '../../../../config/size_config.dart'; import '../../../../widgets/shared/rounded_container_widget.dart'; +/* + *@author: Elham Rababah + *@Date:03/6/2020 + *@param: + *@return: + *@desc: VitalSignItem + */ class VitalSignItem extends StatelessWidget { const VitalSignItem( {Key key, diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_item_details_screen.dart b/lib/screens/patients/profile/vital_sign/vital_sign_item_details_screen.dart index 8acfeaf0..55f636d2 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_item_details_screen.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_item_details_screen.dart @@ -7,6 +7,14 @@ import '../../../../providers/patients_provider.dart'; import '../../../../screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart'; import '../../../../widgets/shared/app_scaffold_widget.dart'; + +/* + *@author: Elham Rababah + *@Date:03/6/2020 + *@param: + *@return: + *@desc: VitalSignItemDetailsScreen + */ class VitalSignItemDetailsScreen extends StatelessWidget { VitalSignItemDetailsScreen(); // ; @@ -145,7 +153,6 @@ class VitalSignItemDetailsScreen extends StatelessWidget { default: } - // generateData(); return AppScaffold( appBarTitle: pageTitle, body: ListView( diff --git a/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart b/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart index e01290c1..1bc5b55d 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart @@ -1,9 +1,21 @@ import 'package:doctor_app_flutter/models/patient/vital_sign_res_model.dart'; import 'package:doctor_app_flutter/widgets/patients/vital_sign_details_wideget.dart'; +import 'package:doctor_app_flutter/widgets/shared/Text.dart'; +import 'package:doctor_app_flutter/widgets/shared/app_expandable_notifier.dart'; import 'package:doctor_app_flutter/widgets/shared/charts/app_time_series_chart.dart'; +import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart'; +import 'package:expandable/expandable.dart'; import 'package:flutter/material.dart'; + +/* + *@author: Elham Rababah + *@Date:03/6/2020 + *@param: + *@return: + *@desc: VitalSingChartAndDetials + */ class VitalSingChartAndDetials extends StatelessWidget { - VitalSingChartAndDetials({ + VitalSingChartAndDetials({ Key key, @required this.vitalList, @required this.name, @@ -12,7 +24,7 @@ class VitalSingChartAndDetials extends StatelessWidget { @required this.title2, }) : super(key: key); - final List vitalList ; + final List vitalList; final String name; final String viewKey; final String title1; @@ -22,16 +34,18 @@ class VitalSingChartAndDetials extends StatelessWidget { Widget build(BuildContext context) { return Column( children: [ - AppTimeSeriesChart( - vitalList: vitalList, - chartName: name, - viewKey: viewKey, - ), - VitalSignDetailsWidget( - vitalList: vitalList.reversed.toList(), - title1: '${title1}', - title2: '${title2}', - viewKey: '${viewKey}', + AppExpandableNotifier( + headerWid: AppTimeSeriesChart( + vitalList: vitalList, + chartName: name, + viewKey: viewKey, + ), + bodyWid: VitalSignDetailsWidget( + vitalList: vitalList.reversed.toList(), + title1: '${title1}', + title2: '${title2}', + viewKey: '${viewKey}', + ), ), ], ); diff --git a/lib/widgets/patients/vital_sign_details_wideget.dart b/lib/widgets/patients/vital_sign_details_wideget.dart index 35e85699..7c91b499 100644 --- a/lib/widgets/patients/vital_sign_details_wideget.dart +++ b/lib/widgets/patients/vital_sign_details_wideget.dart @@ -11,7 +11,8 @@ class VitalSignDetailsWidget extends StatefulWidget { final String title2; final String viewKey; - VitalSignDetailsWidget({Key key, this.vitalList, this.title1, this.title2,this.viewKey}); + VitalSignDetailsWidget( + {Key key, this.vitalList, this.title1, this.title2, this.viewKey}); @override _VitalSignDetailsWidgetState createState() => _VitalSignDetailsWidgetState(); @@ -26,6 +27,10 @@ class _VitalSignDetailsWidgetState extends State { borderRadius: BorderRadius.only( topLeft: Radius.circular(10.0), ), + border: Border.all( + color: Colors.grey, + width: 0.5 + ), ), margin: EdgeInsets.all(20), child: Container( diff --git a/lib/widgets/shared/app_expandable_notifier.dart b/lib/widgets/shared/app_expandable_notifier.dart new file mode 100644 index 00000000..ca3edd09 --- /dev/null +++ b/lib/widgets/shared/app_expandable_notifier.dart @@ -0,0 +1,53 @@ +import 'package:expandable/expandable.dart'; +import 'package:flutter/material.dart'; + +class AppExpandableNotifier extends StatelessWidget { + final Widget headerWid; + final Widget bodyWid; + + AppExpandableNotifier({this.headerWid, this.bodyWid}); + @override + Widget build(BuildContext context) { + return ExpandableNotifier( + child: Padding( + padding: const EdgeInsets.all(10), + child: Card( + clipBehavior: Clip.antiAlias, + child: Column( + children: [ + SizedBox( + child: headerWid, + ), + ScrollOnExpand( + scrollOnExpand: true, + scrollOnCollapse: false, + child: ExpandablePanel( + theme: const ExpandableThemeData( + headerAlignment: ExpandablePanelHeaderAlignment.center, + tapBodyToCollapse: true, + ), + header: Padding( + padding: EdgeInsets.all(10), + child: Text( + "See Graph Details", + )), + collapsed: Text(''), + expanded: bodyWid, + builder: (_, collapsed, expanded) { + return Padding( + padding: EdgeInsets.only(left: 10, right: 10, bottom: 10), + child: Expandable( + collapsed: collapsed, + expanded: expanded, + theme: const ExpandableThemeData(crossFadePoint: 0), + ), + ); + }, + ), + ), + ], + ), + ), + )); + } +} diff --git a/lib/widgets/shared/charts/app_line_chart.dart b/lib/widgets/shared/charts/app_line_chart.dart index 554eafa1..35320962 100644 --- a/lib/widgets/shared/charts/app_line_chart.dart +++ b/lib/widgets/shared/charts/app_line_chart.dart @@ -1,6 +1,13 @@ import 'package:flutter/material.dart'; import 'package:charts_flutter/flutter.dart' as charts; +/* + *@author: Elham Rababah + *@Date:03/6/2020 + *@param: + *@return: + *@desc: AppLineChart + */ class AppLineChart extends StatelessWidget { const AppLineChart({ Key key, diff --git a/lib/widgets/shared/charts/app_time_series_chart.dart b/lib/widgets/shared/charts/app_time_series_chart.dart index f581e1e7..1ffb1afb 100644 --- a/lib/widgets/shared/charts/app_time_series_chart.dart +++ b/lib/widgets/shared/charts/app_time_series_chart.dart @@ -5,8 +5,15 @@ import '../../../config/size_config.dart'; import '../../../models/patient/vital_sign_res_model.dart'; import '../../../widgets/shared/rounded_container_widget.dart'; +/* + *@author: Elham Rababah + *@Date:03/6/2020 + *@param: + *@return: + *@desc: AppTimeSeriesChart + */ class AppTimeSeriesChart extends StatelessWidget { - AppTimeSeriesChart( + AppTimeSeriesChart( {Key key, @required this.vitalList, @required this.viewKey, @@ -66,6 +73,13 @@ class AppTimeSeriesChart extends StatelessWidget { ); } + /* + *@author: Elham Rababah + *@Date:03/6/2020 + *@param: + *@return: + *@desc: generateData + */ generateData() { final List data = []; if (vitalList.length > 0) { @@ -91,9 +105,17 @@ class AppTimeSeriesChart extends StatelessWidget { ]; } } + +/* + *@author: Elham Rababah + *@Date:03/6/2020 + *@param: + *@return: + *@desc: TimeSeriesSales + */ class TimeSeriesSales { final DateTime time; final int sales; TimeSeriesSales(this.time, this.sales); -} \ No newline at end of file +}