improve code and add AppExpandableNotifier

merge-requests/90/head
Elham Rababah 6 years ago
parent 10877ac658
commit 489ad9e729

@ -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';

@ -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,

@ -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(

@ -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<VitalSignResModel> vitalList ;
final List<VitalSignResModel> 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: <Widget>[
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}',
),
),
],
);

@ -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<VitalSignDetailsWidget> {
borderRadius: BorderRadius.only(
topLeft: Radius.circular(10.0),
),
border: Border.all(
color: Colors.grey,
width: 0.5
),
),
margin: EdgeInsets.all(20),
child: Container(

@ -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: <Widget>[
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),
),
);
},
),
),
],
),
),
));
}
}

@ -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,

@ -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<TimeSeriesSales> 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);
}
}

Loading…
Cancel
Save