From aac1e5d24137fc5ee94301302512a1dde26d9eb2 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 22 Apr 2020 18:24:49 +0300 Subject: [PATCH 1/8] App client + Base URL --- lib/client/app_client.dart | 14 ++++++++++++++ lib/interceptor/http_interceptor.dart | 6 ++++++ lib/models/medicine_model.dart | 0 lib/providers/auth_provider.dart | 28 +++++++++++---------------- lib/providers/medicine_provider.dart | 0 5 files changed, 31 insertions(+), 17 deletions(-) create mode 100644 lib/client/app_client.dart create mode 100644 lib/models/medicine_model.dart create mode 100644 lib/providers/medicine_provider.dart diff --git a/lib/client/app_client.dart b/lib/client/app_client.dart new file mode 100644 index 00000000..1c37995f --- /dev/null +++ b/lib/client/app_client.dart @@ -0,0 +1,14 @@ +import 'package:doctor_app_flutter/interceptor/http_interceptor.dart'; +import 'package:http/http.dart'; + +class AppClient { + static const String BASE_URL = "https://hmgwebservices.com/"; + + static Client client = HttpInterceptor().getClient(); + + static Future post(dynamic path, {dynamic body}) async { + String _fullUrl = BASE_URL + path; + final response = await client.post(_fullUrl, body: body); + return response; + } +} \ No newline at end of file diff --git a/lib/interceptor/http_interceptor.dart b/lib/interceptor/http_interceptor.dart index 009fd345..99f82d21 100644 --- a/lib/interceptor/http_interceptor.dart +++ b/lib/interceptor/http_interceptor.dart @@ -3,6 +3,7 @@ import 'dart:convert'; import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; import 'package:doctor_app_flutter/providers/auth_provider.dart'; import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; +import 'package:http/http.dart'; import 'package:http_interceptor/http_interceptor.dart'; DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); @@ -14,6 +15,11 @@ List publicUrls = [ ]; class HttpInterceptor extends InterceptorContract { + + Client getClient(){ + return HttpClientWithInterceptor.build(interceptors: [this]); +} + Future interceptRequest({RequestData data}) async { // print('RequestData ${data.body}'); try { diff --git a/lib/models/medicine_model.dart b/lib/models/medicine_model.dart new file mode 100644 index 00000000..e69de29b diff --git a/lib/providers/auth_provider.dart b/lib/providers/auth_provider.dart index 7af750ca..d7a470e2 100644 --- a/lib/providers/auth_provider.dart +++ b/lib/providers/auth_provider.dart @@ -1,32 +1,26 @@ import 'dart:convert'; - -import 'package:doctor_app_flutter/interceptor/http_interceptor.dart'; +import 'package:doctor_app_flutter/client/app_client.dart'; import 'package:flutter/cupertino.dart'; -import 'package:http/http.dart'; -import 'package:http_interceptor/http_client_with_interceptor.dart'; import '../models/user_model.dart'; const LOGIN_URL = - 'https://hmgwebservices.com/Services/Sentry.svc/REST/MemberLogIN_New'; + 'Services/Sentry.svc/REST/MemberLogIN_New'; const INSERT_DEVICE_IMEI = - 'https://hmgwebservices.com/Services/Sentry.svc/REST/DoctorApplication_INSERTDeviceIMEI'; + 'Services/Sentry.svc/REST/DoctorApplication_INSERTDeviceIMEI'; const SELECT_DEVICE_IMEI = - 'https://hmgwebservices.com/Services/Sentry.svc/REST/DoctorApplication_SELECTDeviceIMEIbyIMEI'; + 'Services/Sentry.svc/REST/DoctorApplication_SELECTDeviceIMEIbyIMEI'; const SEND_ACTIVATION_CODE_BY_OTP_NOTIFICATION_TYPE = - 'https://hmgwebservices.com/Services/Sentry.svc/REST/DoctorApplication_SendActivationCodebyOTPNotificationType'; + 'Services/Sentry.svc/REST/DoctorApplication_SendActivationCodebyOTPNotificationType'; -const MEMBER_CHECK_ACTIVATION_CODE_NEW ='https://hmgwebservices.com/Services/Sentry.svc/REST/MemberCheckActivationCode_New'; +const MEMBER_CHECK_ACTIVATION_CODE_NEW ='Services/Sentry.svc/REST/MemberCheckActivationCode_New'; class AuthProvider with ChangeNotifier { - Client client = - HttpClientWithInterceptor.build(interceptors: [HttpInterceptor()]); Future login(UserModel userInfo) async { const url = LOGIN_URL; try { - final response = await client.post(url, - // headers: requestHeaders, + final response = await AppClient.post(url, body: json.encode({ "UserID": userInfo.UserID, "Password": userInfo.Password, @@ -48,7 +42,7 @@ class AuthProvider with ChangeNotifier { const url = INSERT_DEVICE_IMEI; try { - final response = await client.post(url, body: json.encode(imei)); + final response = await AppClient.post(url, body: json.encode(imei)); return Future.value(json.decode(response.body)); } catch (error) { print(error); @@ -60,7 +54,7 @@ class AuthProvider with ChangeNotifier { const url = SELECT_DEVICE_IMEI; try { - final response = await client.post(url, body: json.encode(imei)); + final response = await AppClient.post(url, body: json.encode(imei)); return Future.value(json.decode(response.body)); } catch (error) { print(error); @@ -72,7 +66,7 @@ class AuthProvider with ChangeNotifier { const url = SEND_ACTIVATION_CODE_BY_OTP_NOTIFICATION_TYPE; try { - final response = await client.post(url, body: json.encode(activationCodeModel)); + final response = await AppClient.post(url, body: json.encode(activationCodeModel)); return Future.value(json.decode(response.body)); } catch (error) { print(error); @@ -84,7 +78,7 @@ class AuthProvider with ChangeNotifier { const url = MEMBER_CHECK_ACTIVATION_CODE_NEW; try { - final response = await client.post(url, body: json.encode(activationCodeModel)); + final response = await AppClient.post(url, body: json.encode(activationCodeModel)); return Future.value(json.decode(response.body)); } catch (error) { print(error); diff --git a/lib/providers/medicine_provider.dart b/lib/providers/medicine_provider.dart new file mode 100644 index 00000000..e69de29b From 25b7f9a7456fa76b0a84e1cb5329d4378a4d77af Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 22 Apr 2020 18:31:02 +0300 Subject: [PATCH 2/8] add comment and move intercepter to client packege --- lib/client/app_client.dart | 4 ++++ lib/{interceptor => client}/http_interceptor.dart | 0 2 files changed, 4 insertions(+) rename lib/{interceptor => client}/http_interceptor.dart (100%) diff --git a/lib/client/app_client.dart b/lib/client/app_client.dart index 1c37995f..6018b041 100644 --- a/lib/client/app_client.dart +++ b/lib/client/app_client.dart @@ -1,6 +1,10 @@ import 'package:doctor_app_flutter/interceptor/http_interceptor.dart'; import 'package:http/http.dart'; +// OWNER : Ibrahim albitar +// DATE : 22-04-2020 +// DESCRIPTION : Custom App client to pin base url for all srvices + class AppClient { static const String BASE_URL = "https://hmgwebservices.com/"; diff --git a/lib/interceptor/http_interceptor.dart b/lib/client/http_interceptor.dart similarity index 100% rename from lib/interceptor/http_interceptor.dart rename to lib/client/http_interceptor.dart From 586c41fe96ea64e136a8d486f5212e5cc991a9b4 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 22 Apr 2020 18:50:04 +0300 Subject: [PATCH 3/8] fix --- lib/{client => interceptor}/http_interceptor.dart | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lib/{client => interceptor}/http_interceptor.dart (100%) diff --git a/lib/client/http_interceptor.dart b/lib/interceptor/http_interceptor.dart similarity index 100% rename from lib/client/http_interceptor.dart rename to lib/interceptor/http_interceptor.dart From 438b696037bd33499a45b8ed8fae1959a6ebbaa9 Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Thu, 23 Apr 2020 12:07:29 +0300 Subject: [PATCH 4/8] fix search issues --- lib/interceptor/http_interceptor.dart | 2 +- lib/providers/patients_provider.dart | 2 +- .../patients/patient_search_screen.dart | 44 +++++++++++++------ .../patients/patients_list_screen.dart | 2 + 4 files changed, 35 insertions(+), 15 deletions(-) diff --git a/lib/interceptor/http_interceptor.dart b/lib/interceptor/http_interceptor.dart index d0ad35f6..41f7c016 100644 --- a/lib/interceptor/http_interceptor.dart +++ b/lib/interceptor/http_interceptor.dart @@ -13,7 +13,7 @@ List publicUrls = [ class HttpInterceptor extends InterceptorContract { Future interceptRequest({RequestData data}) async { - // print('RequestData ${data.body}'); + print('RequestData ${data.body}'); try { data.headers["Content-Type"] = "application/json"; data.headers["Accept"] = "application/json"; diff --git a/lib/providers/patients_provider.dart b/lib/providers/patients_provider.dart index 4c20758e..7ab8abf7 100644 --- a/lib/providers/patients_provider.dart +++ b/lib/providers/patients_provider.dart @@ -18,7 +18,7 @@ class PatientsProvider with ChangeNotifier { try { final response = await client.post(url, body: json.encode({ - "ProjectID": patient.PatientID, + "ProjectID": patient.ProjectID, "ClinicID": patient.ClinicID, "DoctorID": patient.DoctorID, "FirstName": patient.FirstName, diff --git a/lib/screens/patients/patient_search_screen.dart b/lib/screens/patients/patient_search_screen.dart index d5a8cb33..6051c85e 100644 --- a/lib/screens/patients/patient_search_screen.dart +++ b/lib/screens/patients/patient_search_screen.dart @@ -1,3 +1,7 @@ +import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; +import 'package:doctor_app_flutter/routes.dart'; +import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; + import '../../config/size_config.dart'; import '../../util/text_validator.dart'; import '../../widgets/shared/app_buttons_widget.dart'; @@ -12,6 +16,8 @@ import '../../lookups/patient_lookup.dart'; import '../../models/patient_model.dart'; import '../../widgets/patients/dynamic_elements.dart'; +DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); + // OWNER : Ibrahim albitar // DATE : 19-04-2020 // DESCRIPTION : Patient Search Screen. @@ -29,9 +35,9 @@ class _PatientSearchScreenState extends State { bool _autoValidate = false; var _patientSearchFormValues = PatientModel( - ProjectID: 12, - ClinicID: 17, - DoctorID: 98129, + ProjectID: 15, + ClinicID: 0, + DoctorID: 4709, FirstName: "0", MiddleName: "0", LastName: "0", @@ -50,18 +56,31 @@ class _PatientSearchScreenState extends State { IsLoginForDoctorApp: true, PatientOutSA: false); - void _validateInputs() { - if (_formKey.currentState.validate()) { + print({_patientSearchFormValues.ProjectID}); + // _patientSearchFormValues.TokenID = + + if (_formKey.currentState.validate()) { // If all data are correct then save data to out variables - _formKey.currentState.save(); - } else { + // _formKey.currentState.save(); + + sharedPref.getString(TOKEN).then((token) { + print(token+"EEEEEE"); + _patientSearchFormValues.TokenID = token; + _patientSearchFormValues.ProjectID= 15; + print(_patientSearchFormValues.PatientMobileNumber+"dfdfdfddf"); + Navigator.of(context).pushNamed(PATIENTS, arguments: { + "patientSearchForm": _patientSearchFormValues, + "selectedType": _selectedType + }); + }); + } else { // If all data are not valid then start auto validation. - setState(() { - _autoValidate = true; - }); + setState(() { + _autoValidate = true; + }); + } } -} @override Widget build(BuildContext context) { @@ -206,8 +225,7 @@ class _PatientSearchScreenState extends State { return TextValidator().validateIdNumber(value); }, onSaved: (value) { - _patientSearchFormValues.PatientID = - 89000; + _patientSearchFormValues.PatientID = 89000; }), SizedBox( height: 10, diff --git a/lib/screens/patients/patients_list_screen.dart b/lib/screens/patients/patients_list_screen.dart index fb7e2a78..0b7380b2 100644 --- a/lib/screens/patients/patients_list_screen.dart +++ b/lib/screens/patients/patients_list_screen.dart @@ -16,6 +16,7 @@ class _PatientsListScreenState extends State { void didChangeDependencies() { final routeArgs = ModalRoute.of(context).settings.arguments as Map; PatientModel patient = routeArgs['patientSearchForm']; + print(patient.TokenID+"EEEEEE"); String patientType = routeArgs['selectedType']; print(patientType); if (_isInit) { @@ -27,6 +28,7 @@ class _PatientsListScreenState extends State { _hasError = res['ErrorEndUserMessage']; }); + print(res); }).catchError((error) { print(error); }); From 2802916a849c1eacc53711d353f2376de411e408 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 23 Apr 2020 17:40:37 +0300 Subject: [PATCH 5/8] fast fix --- lib/client/app_client.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/client/app_client.dart b/lib/client/app_client.dart index 6018b041..68c4fb8b 100644 --- a/lib/client/app_client.dart +++ b/lib/client/app_client.dart @@ -1,3 +1,4 @@ +import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/interceptor/http_interceptor.dart'; import 'package:http/http.dart'; @@ -6,7 +7,6 @@ import 'package:http/http.dart'; // DESCRIPTION : Custom App client to pin base url for all srvices class AppClient { - static const String BASE_URL = "https://hmgwebservices.com/"; static Client client = HttpInterceptor().getClient(); From 3d0c61cb981c464321eb9044a43e34218084b412 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 23 Apr 2020 17:44:36 +0300 Subject: [PATCH 6/8] fast fix --- lib/providers/auth_provider.dart | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/providers/auth_provider.dart b/lib/providers/auth_provider.dart index 314dfeb0..4b29cb70 100644 --- a/lib/providers/auth_provider.dart +++ b/lib/providers/auth_provider.dart @@ -1,20 +1,17 @@ import 'dart:convert'; import 'package:doctor_app_flutter/client/app_client.dart'; import 'package:flutter/cupertino.dart'; - -import '../config/config.dart'; -import '../interceptor/http_interceptor.dart'; import '../models/user_model.dart'; const LOGIN_URL = - 'Services/Sentry.svc/REST/MemberLogIN_New'; + 'Sentry.svc/REST/MemberLogIN_New'; const INSERT_DEVICE_IMEI = 'Services/Sentry.svc/REST/DoctorApplication_INSERTDeviceIMEI'; const SELECT_DEVICE_IMEI = - 'Services/Sentry.svc/REST/DoctorApplication_SELECTDeviceIMEIbyIMEI'; + 'Sentry.svc/REST/DoctorApplication_SELECTDeviceIMEIbyIMEI'; const SEND_ACTIVATION_CODE_BY_OTP_NOTIFICATION_TYPE = - 'Services/Sentry.svc/REST/DoctorApplication_SendActivationCodebyOTPNotificationType'; + 'Sentry.svc/REST/DoctorApplication_SendActivationCodebyOTPNotificationType'; const MEMBER_CHECK_ACTIVATION_CODE_NEW ='Services/Sentry.svc/REST/MemberCheckActivationCode_New'; class AuthProvider with ChangeNotifier { From a5c62323b087eb54ceade0cc1c7e35f53dc784c9 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 23 Apr 2020 20:13:56 +0300 Subject: [PATCH 7/8] date picker issue --- lib/config/config.dart | 5 +- lib/providers/auth_provider.dart | 4 +- .../patients/patient_search_screen.dart | 47 ++++++++++--------- lib/widgets/patients/dynamic_elements.dart | 20 ++++---- lib/widgets/shared/app_text_form_field.dart | 3 ++ 5 files changed, 46 insertions(+), 33 deletions(-) diff --git a/lib/config/config.dart b/lib/config/config.dart index e17c98cf..2db3184a 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -1,2 +1,5 @@ const MAX_SMALL_SCREEN = 660; -const BASE_URL = 'https://hmgwebservices.com/Services/'; \ No newline at end of file +const BASE_URL = 'https://hmgwebservices.com/Services/'; +const ONLY_NUMBERS = "[0-9]"; +const ONLY_LETTERS = "[a-zA-Z]"; +const ONLY_DATE = "[0-9/]"; diff --git a/lib/providers/auth_provider.dart b/lib/providers/auth_provider.dart index 4b29cb70..5e4877b4 100644 --- a/lib/providers/auth_provider.dart +++ b/lib/providers/auth_provider.dart @@ -6,14 +6,14 @@ import '../models/user_model.dart'; const LOGIN_URL = 'Sentry.svc/REST/MemberLogIN_New'; const INSERT_DEVICE_IMEI = - 'Services/Sentry.svc/REST/DoctorApplication_INSERTDeviceIMEI'; + 'Sentry.svc/REST/DoctorApplication_INSERTDeviceIMEI'; const SELECT_DEVICE_IMEI = 'Sentry.svc/REST/DoctorApplication_SELECTDeviceIMEIbyIMEI'; const SEND_ACTIVATION_CODE_BY_OTP_NOTIFICATION_TYPE = 'Sentry.svc/REST/DoctorApplication_SendActivationCodebyOTPNotificationType'; -const MEMBER_CHECK_ACTIVATION_CODE_NEW ='Services/Sentry.svc/REST/MemberCheckActivationCode_New'; +const MEMBER_CHECK_ACTIVATION_CODE_NEW ='Sentry.svc/REST/MemberCheckActivationCode_New'; class AuthProvider with ChangeNotifier { Future login(UserModel userInfo) async { const url = LOGIN_URL; diff --git a/lib/screens/patients/patient_search_screen.dart b/lib/screens/patients/patient_search_screen.dart index 6051c85e..6cd681c7 100644 --- a/lib/screens/patients/patient_search_screen.dart +++ b/lib/screens/patients/patient_search_screen.dart @@ -1,9 +1,9 @@ import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; import 'package:doctor_app_flutter/routes.dart'; import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; +import 'package:flutter/services.dart'; import '../../config/size_config.dart'; -import '../../util/text_validator.dart'; import '../../widgets/shared/app_buttons_widget.dart'; import '../../widgets/shared/app_scaffold_widget.dart'; import '../../widgets/shared/app_text_form_field.dart'; @@ -15,6 +15,7 @@ import 'package:flutter/rendering.dart'; import '../../lookups/patient_lookup.dart'; import '../../models/patient_model.dart'; import '../../widgets/patients/dynamic_elements.dart'; +import '../../config/config.dart'; DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); @@ -57,12 +58,12 @@ class _PatientSearchScreenState extends State { PatientOutSA: false); void _validateInputs() { - print({_patientSearchFormValues.ProjectID}); + print("####IBRAHIM TEST#####"+_patientSearchFormValues.From); // _patientSearchFormValues.TokenID = if (_formKey.currentState.validate()) { // If all data are correct then save data to out variables - // _formKey.currentState.save(); + _formKey.currentState.save(); sharedPref.getString(TOKEN).then((token) { print(token+"EEEEEE"); @@ -173,9 +174,10 @@ class _PatientSearchScreenState extends State { onSaved: (value) { _patientSearchFormValues.FirstName = value; }, - validator: (value) { - return TextValidator().validateName(value); - }, + // validator: (value) { + // return TextValidator().validateName(value); + // }, + inputFormatter: ONLY_LETTERS ), SizedBox( height: 10, @@ -185,9 +187,10 @@ class _PatientSearchScreenState extends State { onSaved: (value) { _patientSearchFormValues.MiddleName = value; }, - validator: (value) { - return TextValidator().validateName(value); - }, + // validator: (value) { + // return TextValidator().validateName(value); + // }, + inputFormatter: ONLY_LETTERS ), SizedBox( height: 10, @@ -197,9 +200,10 @@ class _PatientSearchScreenState extends State { onSaved: (value) { _patientSearchFormValues.LastName = value; }, - validator: (value) { - return TextValidator().validateName(value); - }, + // validator: (value) { + // return TextValidator().validateName(value); + // }, + inputFormatter: ONLY_LETTERS ), SizedBox( height: 10, @@ -207,9 +211,10 @@ class _PatientSearchScreenState extends State { AppTextFormField( textInputType: TextInputType.number, hintText: 'Phone Number', - validator: (value) { - return TextValidator().validateMobile(value); - }, + // validator: (value) { + // return TextValidator().validateMobile(value); + // }, + inputFormatter: ONLY_NUMBERS, onSaved: (value) { _patientSearchFormValues.PatientMobileNumber = value; @@ -221,9 +226,8 @@ class _PatientSearchScreenState extends State { AppTextFormField( textInputType: TextInputType.number, hintText: 'Patiant ID', - validator: (value) { - return TextValidator().validateIdNumber(value); - }, + // + inputFormatter: ONLY_NUMBERS, onSaved: (value) { _patientSearchFormValues.PatientID = 89000; }), @@ -233,9 +237,10 @@ class _PatientSearchScreenState extends State { AppTextFormField( textInputType: TextInputType.number, hintText: 'Patiant File', - validator: (value) { - return TextValidator().validateIdNumber(value); - }, + // validator: (value) { + // return TextValidator().validateIdNumber(value); + // }, + inputFormatter: ONLY_NUMBERS, onSaved: (value) { //_patientSearchFormValues. = value; }, diff --git a/lib/widgets/patients/dynamic_elements.dart b/lib/widgets/patients/dynamic_elements.dart index e446b9d0..443c7385 100644 --- a/lib/widgets/patients/dynamic_elements.dart +++ b/lib/widgets/patients/dynamic_elements.dart @@ -1,7 +1,7 @@ +import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/models/patient_model.dart'; import 'package:doctor_app_flutter/widgets/shared/app_text_form_field.dart'; import 'package:flutter/material.dart'; -import '../../util/text_validator.dart'; import 'package:intl/intl.dart'; class DynamicElements extends StatefulWidget { @@ -51,14 +51,15 @@ class _DynamicElementsState extends State { textInputType: TextInputType.number, hintText: 'From', controller: _fromDateController, - validator: (value) { - return TextValidator().validateDate(_fromDateController.text); - }, + // validator: (value) { + // return TextValidator().validateDate(_fromDateController.text); + // }, + inputFormatter: ONLY_DATE, onTap: () { _presentDatePicker('_selectedFromDate'); }, onSaved: (value) { - widget._patientSearchFormValues.From = value; + widget._patientSearchFormValues.From = _fromDateController.text; }, ), @@ -72,11 +73,12 @@ class _DynamicElementsState extends State { onTap: () { _presentDatePicker('_selectedToDate'); }, - validator: (value) { - return TextValidator().validateDate(_toDateController.text); - }, + // validator: (value) { + // return TextValidator().validateDate(_toDateController.text); + // }, + inputFormatter: ONLY_DATE, onSaved: (value) { - widget._patientSearchFormValues.To = value; + widget._patientSearchFormValues.To = _toDateController.text; }, ), ], diff --git a/lib/widgets/shared/app_text_form_field.dart b/lib/widgets/shared/app_text_form_field.dart index 97a23098..54b0f9a3 100644 --- a/lib/widgets/shared/app_text_form_field.dart +++ b/lib/widgets/shared/app_text_form_field.dart @@ -1,6 +1,7 @@ import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; // OWNER : Ibrahim albitar // DATE : 19-04-2020 @@ -10,6 +11,7 @@ class AppTextFormField extends FormField { AppTextFormField({ FormFieldSetter onSaved, + String inputFormatter, FormFieldValidator validator, ValueChanged onChanged, GestureTapCallback onTap, @@ -26,6 +28,7 @@ class AppTextFormField extends FormField { children: [ TextFormField( keyboardType: textInputType, + inputFormatters: [WhitelistingTextInputFormatter(RegExp(inputFormatter)),], onChanged: onChanged?? (value){ state.didChange(value); }, From 9dcf4ca9b36c948fd3c8b4115a830438aaa04c96 Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Thu, 23 Apr 2020 23:12:43 +0300 Subject: [PATCH 8/8] add List_MyInPatient --- lib/screens/patients/patients_list_screen.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/screens/patients/patients_list_screen.dart b/lib/screens/patients/patients_list_screen.dart index 0b7380b2..33d2cad3 100644 --- a/lib/screens/patients/patients_list_screen.dart +++ b/lib/screens/patients/patients_list_screen.dart @@ -23,6 +23,8 @@ class _PatientsListScreenState extends State { // setState(() {}); PatientsProvider patientsProv = Provider.of(context); patientsProv.getPatientList(patient, patientType).then((res) { + // print('MessageStatus${res['MessageStatus']}'); + print('List_MyInPatient${(res['List_MyInPatient'][0])}'); setState(() { _isLoading = false; _hasError = res['ErrorEndUserMessage'];