V4-59246 filter issue fixed

ipd-changes-for-vida-plus
tahaalam 3 weeks ago
parent 6d3900eff9
commit b1d0e36038

@ -35,6 +35,9 @@ class PatientSearchViewModel extends BaseViewModel {
List<String> InpatientClinicList = []; List<String> InpatientClinicList = [];
String myInPatientQuery = "";
String allInPatientQuery = "";
searchData(String str) { searchData(String str) {
var strExist = str.length > 0 ? true : false; var strExist = str.length > 0 ? true : false;
if (strExist) { if (strExist) {
@ -136,6 +139,7 @@ class PatientSearchViewModel extends BaseViewModel {
List<PatiantInformtion> mainList = []; List<PatiantInformtion> mainList = [];
List<PatiantInformtion> filteredInPatientItems = []; List<PatiantInformtion> filteredInPatientItems = [];
List<PatiantInformtion> filteredMyInPatientItems = []; List<PatiantInformtion> filteredMyInPatientItems = [];
List<PatiantInformtion> mainMyInPatientItems = [];
PatientSearchRequestModel? requestModel; PatientSearchRequestModel? requestModel;
bool isVidaPlusProject = false; bool isVidaPlusProject = false;
bool paginationLoading = false; bool paginationLoading = false;
@ -144,6 +148,7 @@ class PatientSearchViewModel extends BaseViewModel {
void resetViewModel() { void resetViewModel() {
// 1. Clear all lists that hold patient data. // 1. Clear all lists that hold patient data.
mainList.clear(); mainList.clear();
mainMyInPatientItems.clear();
filteredInPatientItems.clear(); filteredInPatientItems.clear();
filteredMyInPatientItems.clear(); filteredMyInPatientItems.clear();
_inPatientService.inPatientList.clear(); _inPatientService.inPatientList.clear();
@ -242,8 +247,9 @@ class PatientSearchViewModel extends BaseViewModel {
filteredMyInPatientItems.clear(); filteredMyInPatientItems.clear();
filteredMyInPatientItems.addAll(localInPatient); filteredMyInPatientItems.addAll(localInPatient);
} else if (isAllClinic) { } else if (isAllClinic) {
filteredInPatientItems.clear();
resetInPatientPagination(); resetInPatientPagination();
filteredInPatientItems.addAll(localInPatient.sublist(firstSubsetIndex, lastSubsetIndex)); filteredInPatientItems.addAll(localInPatient);
} else { } else {
filteredInPatientItems.clear(); filteredInPatientItems.clear();
filteredInPatientItems.addAll(localInPatient); filteredInPatientItems.addAll(localInPatient);
@ -272,6 +278,7 @@ class PatientSearchViewModel extends BaseViewModel {
} }
if (myIinPatientList.length > 0) { if (myIinPatientList.length > 0) {
mainMyInPatientItems.addAll(myIinPatientList);
filteredMyInPatientItems.addAll(myIinPatientList); filteredMyInPatientItems.addAll(myIinPatientList);
} }
setState(ViewState.Idle); setState(ViewState.Idle);
@ -336,9 +343,12 @@ class PatientSearchViewModel extends BaseViewModel {
void filterSearchResults(String query, {bool isAllClinic = false, bool isMyInPatient = false}) { void filterSearchResults(String query, {bool isAllClinic = false, bool isMyInPatient = false}) {
var strExist = query.length > 0 ? true : false; var strExist = query.length > 0 ? true : false;
if(isMyInPatient)
myInPatientQuery = query;
else
allInPatientQuery = query;
if (isMyInPatient) { if (isMyInPatient) {
List<PatiantInformtion> localFilteredMyInPatientItems = [...filteredMyInPatientItems]; List<PatiantInformtion> localFilteredMyInPatientItems = [...myIinPatientList];
if (strExist) { if (strExist) {
filteredMyInPatientItems.clear(); filteredMyInPatientItems.clear();
@ -355,7 +365,7 @@ class PatientSearchViewModel extends BaseViewModel {
notifyListeners(); notifyListeners();
} else { } else {
if (filteredMyInPatientItems.length > 0) filteredMyInPatientItems.clear(); if (filteredMyInPatientItems.length > 0) filteredMyInPatientItems.clear();
filteredMyInPatientItems.addAll(localFilteredMyInPatientItems); filteredMyInPatientItems.addAll(mainMyInPatientItems);
notifyListeners(); notifyListeners();
} }
} else { } else {

@ -44,6 +44,12 @@ class _InPatientListPageState extends State<InPatientListPage> {
super.dispose(); super.dispose();
} }
@override
void initState() {
_searchController.text = widget.isMyInPatient? widget.patientSearchViewModel!.myInPatientQuery : widget.patientSearchViewModel!.allInPatientQuery;
super.initState();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppScaffold( return AppScaffold(

Loading…
Cancel
Save