From 8457cbd5c3c102b31856b12eb7264e208c088124 Mon Sep 17 00:00:00 2001 From: Amjad Amireh Date: Sat, 2 May 2020 05:31:49 +0300 Subject: [PATCH 1/2] Search filter name --- .../patients/patient_search_screen.dart | 2 +- lib/screens/patients/patients_screen.dart | 136 ++++++++++++------ 2 files changed, 96 insertions(+), 42 deletions(-) diff --git a/lib/screens/patients/patient_search_screen.dart b/lib/screens/patients/patient_search_screen.dart index 591d3059..82a8a341 100644 --- a/lib/screens/patients/patient_search_screen.dart +++ b/lib/screens/patients/patient_search_screen.dart @@ -241,7 +241,7 @@ class _PatientSearchScreenState extends State { //_patientSearchFormValues. = value; }, ), - (!(_selectedType == '3' || _selectedType == '5')) + (!(_selectedType == '2' || _selectedType == '4')) ? DynamicElements(_patientSearchFormValues) : SizedBox( height: 0, diff --git a/lib/screens/patients/patients_screen.dart b/lib/screens/patients/patients_screen.dart index f49e4417..91c15022 100644 --- a/lib/screens/patients/patients_screen.dart +++ b/lib/screens/patients/patients_screen.dart @@ -33,8 +33,19 @@ class PatientsScreen extends StatefulWidget { class _PatientsScreenState extends State { List litems; + // final List parsed; + List parsed; + //********** + List date; + List unfilterDate; + //*********** List responseModelList; + List responseModelList2; + + + + List _locations = ['Today', 'Tomorrow', 'Next Week']; int _activeLocation = 0; @@ -60,7 +71,7 @@ class _PatientsScreenState extends State { patientType = routeArgs['selectedType']; patientTypetitle = SERVICES_PATIANT_HEADER[int.parse(patientType)]; - print("**************patiant Type**************"); + print(patientType); if (_isInit) { @@ -71,9 +82,10 @@ class _PatientsScreenState extends State { int val2 = int.parse(patientType); litems = res[SERVICES_PATIANT2[val2]]; - final List parsed = litems; + parsed = litems; responseModelList = new ModelResponse.fromJson(parsed).list; + responseModelList2=responseModelList; //******************** _isLoading = false; _hasError = res['ErrorEndUserMessage']; @@ -86,6 +98,40 @@ class _PatientsScreenState extends State { _isInit = false; super.didChangeDependencies(); } +/* + *@author: Amjad Amireh + *@Date:2/5/2020 + *@param: + *@return:PatientsScreen Search textbox + + *@desc: + */ + searchData(String str) { + var strExist = str.length > 0 ? true : false; + if (strExist) { + List filterData=[] ; + for (var i = 0; i < responseModelList2.length; i++) { + + String firstName = responseModelList[i].firstName.toUpperCase(); + String lastName = responseModelList[i].lastName.toUpperCase(); + if (firstName.contains(str.toUpperCase())||lastName.contains(str.toUpperCase())) { + print("==========data done==========="); + filterData.add(responseModelList[i]); + } + } + setState(() { + print("==========data good==========="); + this.responseModelList = filterData; + }); + } else { + setState(() { + print("==========no data==========="); + + this.responseModelList =this.responseModelList2; + }); + } + } + @override Widget build(BuildContext context) { @@ -95,11 +141,13 @@ class _PatientsScreenState extends State { appBarTitle: patientTypetitle, //***********Modify by amjad (create List view to insert all new data webservise in scroll )************* body: Container( + // margin: EdgeInsets.all(20), child: ListView(scrollDirection: Axis.vertical, children: [ Container( child: litems == null ? Column() - : Column( + : + Column( children: [ Padding( padding: EdgeInsets.only( @@ -111,50 +159,56 @@ class _PatientsScreenState extends State { width: SizeConfig.screenWidth * 0.80, child: TextField( controller: _controller, - onSubmitted: (value) { - // fetch all the news related to the keyword - if (value.isNotEmpty) { - // vm.search(value); - } + + onChanged: (String str){ + // print(str); + this.searchData(str); + }, decoration: buildInputDecoration(context, 'Search patiant'), ), ), - Column( - children: - responseModelList.map((PatiantInformtion item) { - return InkWell( - child: CardWithBgWidget( - widget: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText( - item.nationalityName, - fontSize: 2.5 * SizeConfig.textMultiplier, - ), - SizedBox( - height: 8, - ), - AppText(item.lastName, - fontSize: - 2.5 * SizeConfig.textMultiplier), - SizedBox( - height: 8, - ), - AppText(item.middleName, - fontSize: - 2.5 * SizeConfig.textMultiplier), - ], + Container( + margin: EdgeInsets.fromLTRB(15, 0, 15, 0), + child: Column( + + children: + responseModelList.map((PatiantInformtion item) { + return InkWell( + child: CardWithBgWidget( + + widget: Column( + + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AppText( + item.firstName, + fontSize: 2.5 * SizeConfig.textMultiplier, + ), + SizedBox( + height: 8, + ), + AppText(item.lastName, + fontSize: + 2.5 * SizeConfig.textMultiplier), + SizedBox( + height: 8, + ), + AppText(item.middleName, + fontSize: + 2.5 * SizeConfig.textMultiplier), + ], + ), ), - ), - onTap: () { - Navigator.of(context).pushNamed( - PATIENTS_PROFILE, - arguments: {"patient": item}); - }, - ); - }).toList(), + onTap: () { + Navigator.of(context).pushNamed( + PATIENTS_PROFILE, + arguments: {"patient": item}); + }, + ); + }).toList(), + ), ), ], )) From 4caea130c1ec7e9b9eea3695911f77d8b3d3de53 Mon Sep 17 00:00:00 2001 From: her_username Date: Sat, 2 May 2020 17:45:32 +0300 Subject: [PATCH 2/2] update provider version yo 4.0.5+1 --- lib/main.dart | 8 ++-- lib/providers/schedule_provider.dart | 18 +-------- pubspec.lock | 58 ++++++++++++++-------------- pubspec.yaml | 2 +- 4 files changed, 35 insertions(+), 51 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 4710b91c..a205b379 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -20,14 +20,12 @@ class MyApp extends StatelessWidget { SizeConfig().init(constraints, orientation); return MultiProvider( providers: [ - ChangeNotifierProvider.value(value: PatientsProvider()), - ChangeNotifierProvider.value(value: AuthProvider()), - ChangeNotifierProvider.value(value: ProjectsProvider()), + ChangeNotifierProvider(create: (context) => PatientsProvider()), + ChangeNotifierProvider(create: (context) => AuthProvider()), + ChangeNotifierProvider(create: (context) => ProjectsProvider()), ], child: MaterialApp( - //******amjad*****To remove debug app******************* showSemanticsDebugger: false, - //******************************** title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, diff --git a/lib/providers/schedule_provider.dart b/lib/providers/schedule_provider.dart index 6b75556a..14bc4571 100644 --- a/lib/providers/schedule_provider.dart +++ b/lib/providers/schedule_provider.dart @@ -18,21 +18,7 @@ class ScheduleProvider with ChangeNotifier { bool isLoading = true; bool isError = false; String error = ''; - RequestSchedule requestSchedule = RequestSchedule( - 15, - 1, - 70907, - 7, - 2, - '2020-04-22T11:25:57.640Z', - '11.11.11.11', - 1.2, - 9, - '2lMDFT8U+Uy5jxRzCO8n2w==', - 'vV6tg9yyVJ222', - true, - false, - 1); + RequestSchedule requestSchedule = RequestSchedule(15, 1, 70907, 7, 2, '2020-04-22T11:25:57.640Z', '11.11.11.11', 1.2, 9, '2lMDFT8U+Uy5jxRzCO8n2w==', 'vV6tg9yyVJ222', true, false, 1); ScheduleProvider() { getDoctorSchedule(); @@ -62,7 +48,7 @@ class ScheduleProvider with ChangeNotifier { isError = true; error = 'Please Check The Internet Connection'; } - print('Heeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeer'); + notifyListeners(); } catch (error) { throw error; diff --git a/pubspec.lock b/pubspec.lock index f0f825ee..1d7834b4 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -35,7 +35,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.4.0" + version: "2.4.1" bazel_worker: dependency: transitive description: @@ -49,7 +49,7 @@ packages: name: boolean_selector url: "https://pub.dartlang.org" source: hosted - version: "1.0.5" + version: "2.0.0" build: dependency: transitive description: @@ -126,7 +126,7 @@ packages: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.1.2" + version: "1.1.3" checked_yaml: dependency: transitive description: @@ -134,6 +134,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.2" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" code_builder: dependency: transitive description: @@ -147,7 +154,7 @@ packages: name: collection url: "https://pub.dartlang.org" source: hosted - version: "1.14.11" + version: "1.14.12" connectivity: dependency: "direct main" description: @@ -204,6 +211,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.3.4" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" fixnum: dependency: transitive description: @@ -310,13 +324,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.9.10" - image: - dependency: transitive - description: - name: image - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.4" imei_plugin: dependency: "direct main" description: @@ -387,6 +394,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.9.6+3" + nested: + dependency: transitive + description: + name: nested + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.4" node_interop: dependency: transitive description: @@ -414,7 +428,7 @@ packages: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.6.4" + version: "1.7.0" pedantic: dependency: transitive description: @@ -429,13 +443,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.1+1" - petitparser: - dependency: transitive - description: - name: petitparser - url: "https://pub.dartlang.org" - source: hosted - version: "2.4.0" platform: dependency: transitive description: @@ -477,7 +484,7 @@ packages: name: provider url: "https://pub.dartlang.org" source: hosted - version: "3.2.0" + version: "4.0.5+1" pub_semver: dependency: transitive description: @@ -580,7 +587,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.5.5" + version: "1.7.0" stack_trace: dependency: transitive description: @@ -622,7 +629,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.11" + version: "0.2.15" timing: dependency: transitive description: @@ -658,13 +665,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.0" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" - source: hosted - version: "3.5.0" yaml: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 1f7041ad..20f3f50a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -23,7 +23,7 @@ dependencies: flutter_device_type: ^0.2.0 intl: ^0.16.1 http: ^0.12.0+4 - provider: ^3.0.0 + provider: ^4.0.5+1 i18n: any shared_preferences: ^0.5.6+3 imei_plugin: ^1.1.6