From cbf850da2faaf5d8c35fa64d6f6b5f069220d9c7 Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Sun, 24 Jan 2021 11:10:09 +0200 Subject: [PATCH] fix DA-201 --- .../medicine/medicine_search_screen.dart | 87 ++++--------------- .../medicine/pharmacies_list_screen.dart | 39 ++++++--- 2 files changed, 41 insertions(+), 85 deletions(-) diff --git a/lib/screens/medicine/medicine_search_screen.dart b/lib/screens/medicine/medicine_search_screen.dart index 5e26e65b..e0102e77 100644 --- a/lib/screens/medicine/medicine_search_screen.dart +++ b/lib/screens/medicine/medicine_search_screen.dart @@ -117,7 +117,7 @@ class _MedicineSearchState extends State { Widget build(BuildContext context) { return BaseView( onModelReady: (model) async { - if(model.allMedicationList.isNotEmpty) + if(model.allMedicationList.length == 0) await model.getMedicationList(); }, builder: (_, model, w) => @@ -214,6 +214,8 @@ class _MedicineSearchState extends State { .startsWith(input.toLowerCase()), ) : TextField( + minLines: 2, + maxLines: 2, decoration: textFieldSelectorDecoration( TranslationBase .of(context) @@ -245,72 +247,6 @@ class _MedicineSearchState extends State { ], ), ), - Column( - children: [ - Container( - margin: EdgeInsets.only( - left: SizeConfig.heightMultiplier * 2), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText( - TranslationBase - .of(context) - .youCanFind + - model.pharmacyItemsList.length - .toString() + - " " + - TranslationBase - .of(context) - .itemsInSearch, - fontWeight: FontWeight.bold, - ), - ], - ), - ), - Container( - height: MediaQuery - .of(context) - .size - .height * 0.35, - child: Container( - child: ListView.builder( - scrollDirection: Axis.vertical, - shrinkWrap: true, - itemCount: model.pharmacyItemsList == null - ? 0 - : model.pharmacyItemsList.length, - itemBuilder: (BuildContext context, - int index) { - return InkWell( - child: MedicineItemWidget( - label: model.pharmacyItemsList[index] - ["ItemDescription"], - url: model.pharmacyItemsList[index] - ["ImageSRCUrl"], - ), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => - PharmaciesListScreen( - itemID: - model.pharmacyItemsList[ - index]["ItemID"], - url: model - .pharmacyItemsList[ - index]["ImageSRCUrl"]), - ), - ); - }, - ); - }, - ), - ), - ), - ], - ), ], ), ), @@ -337,10 +273,19 @@ class _MedicineSearchState extends State { return; } - GifLoaderDialogUtils.showMyDialog(context); - - await model.getMedicineItem(_selectedMedication.description); - GifLoaderDialogUtils.hideDialog(context); + // GifLoaderDialogUtils.showMyDialog(context); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + PharmaciesListScreen( + itemID:_selectedMedication.itemId, + selectedMedication: _selectedMedication, + ), + ), + ); + // await model.getMedicineItem(_selectedMedication.description); + // GifLoaderDialogUtils.hideDialog(context); } diff --git a/lib/screens/medicine/pharmacies_list_screen.dart b/lib/screens/medicine/pharmacies_list_screen.dart index 2433487f..d39de338 100644 --- a/lib/screens/medicine/pharmacies_list_screen.dart +++ b/lib/screens/medicine/pharmacies_list_screen.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'dart:typed_data'; import 'package:doctor_app_flutter/config/size_config.dart'; +import 'package:doctor_app_flutter/core/model/get_medication_response_model.dart'; import 'package:doctor_app_flutter/core/viewModel/medicine_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; @@ -22,9 +23,11 @@ class PharmaciesListScreen extends StatefulWidget { final int itemID; final String url; + final GetMedicationResponseModel selectedMedication; // In the constructor, require a item id. - PharmaciesListScreen({Key key, @required this.itemID, this.url}) + PharmaciesListScreen( + {Key key, @required this.itemID, this.url, this.selectedMedication}) : super(key: key); @override @@ -49,17 +52,24 @@ class _PharmaciesListState extends State { Widget build(BuildContext context) { projectsProvider = Provider.of(context); return BaseView( - onModelReady: (model) => model.getPharmaciesList(widget.itemID), - builder: (_, model, w) => AppScaffold( - baseViewModel: model, - appBarTitle: TranslationBase.of(context).pharmaciesList, - body: Container( - height: SizeConfig.screenHeight, - child: ListView( - shrinkWrap: true, - scrollDirection: Axis.vertical, - physics: const AlwaysScrollableScrollPhysics(), - children: [ + onModelReady: (model) async { + await model.getPharmaciesList(widget.selectedMedication.itemId); + await model.getMedicineItem(widget.selectedMedication.description); + + }, + builder: (_, model, w) => + AppScaffold( + baseViewModel: model, + appBarTitle: TranslationBase + .of(context) + .pharmaciesList, + body: Container( + height: SizeConfig.screenHeight, + child: ListView( + shrinkWrap: true, + scrollDirection: Axis.vertical, + physics: const AlwaysScrollableScrollPhysics(), + children: [ model.pharmaciesList.length > 0 ? RoundedContainer( child: Row( @@ -69,9 +79,10 @@ class _PharmaciesListState extends State { child: ClipRRect( borderRadius: BorderRadius.all(Radius.circular(7)), - child: widget.url != null + child: model.pharmacyItemsList[0] + ["ImageSRCUrl"]!= null ? Image.network( - widget.url, + model.pharmacyItemsList[0]["ImageSRCUrl"], height: SizeConfig.imageSizeMultiplier * 21,