Fixed pagination bug in tender like filter and fixed current page bug in same page
This commit is contained in:
@@ -120,12 +120,11 @@ class YourTendersViewModel with ChangeNotifier {
|
||||
required String feedbackType,
|
||||
bool reset = false,
|
||||
}) async {
|
||||
if (reset) {
|
||||
_offset = (currentPage - 1) * _limit;
|
||||
hasMore = true;
|
||||
_currentFeedbackType = feedbackType;
|
||||
}
|
||||
|
||||
if (reset) {
|
||||
_offset = (currentPage - 1) * _limit;
|
||||
hasMore = true;
|
||||
_currentFeedbackType = feedbackType;
|
||||
}
|
||||
|
||||
if (!reset && (isLoadingMore || !hasMore)) {
|
||||
return;
|
||||
@@ -226,6 +225,7 @@ if (reset) {
|
||||
// Clear data when status changes
|
||||
_clearAllData();
|
||||
selectedStatus = status;
|
||||
currentPage = 1;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
@@ -261,43 +261,42 @@ if (reset) {
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> callWithFilter() async {
|
||||
likedTendersData = null;
|
||||
data = null;
|
||||
isLoading = true;
|
||||
notifyListeners();
|
||||
Future<void> callWithFilter() async {
|
||||
likedTendersData = null;
|
||||
data = null;
|
||||
isLoading = true;
|
||||
notifyListeners();
|
||||
|
||||
if (selectedStatus == YourTendersStrings.all) {
|
||||
final requestModel = GetTendersRequestModel(
|
||||
status: '',
|
||||
createdFrom: startDateUnix,
|
||||
createdTo: endDateUnix,
|
||||
limit: _tendersLimit,
|
||||
offset: _tendersOffset,
|
||||
);
|
||||
await getTenders(requestModel: requestModel, reset: true);
|
||||
} else if (selectedStatus == YourTendersStrings.tendersSubmitted) {
|
||||
final requestModel = GetTendersRequestModel(
|
||||
status: TenderApprovalStatus.submitted.value,
|
||||
createdFrom: startDateUnix,
|
||||
createdTo: endDateUnix,
|
||||
limit: _tendersLimit,
|
||||
offset: _tendersOffset,
|
||||
);
|
||||
await getTenders(requestModel: requestModel, reset: true);
|
||||
} else if (selectedStatus == YourTendersStrings.likeTenders) {
|
||||
await getTendersFeedback(
|
||||
feedbackType: TenderFeedback.liked.value,
|
||||
reset: true,
|
||||
);
|
||||
} else if (selectedStatus == YourTendersStrings.dislikeTenders) {
|
||||
await getTendersFeedback(
|
||||
feedbackType: TenderFeedback.disliked.value,
|
||||
reset: true,
|
||||
);
|
||||
if (selectedStatus == YourTendersStrings.all) {
|
||||
final requestModel = GetTendersRequestModel(
|
||||
status: '',
|
||||
createdFrom: startDateUnix,
|
||||
createdTo: endDateUnix,
|
||||
limit: _tendersLimit,
|
||||
offset: _tendersOffset,
|
||||
);
|
||||
await getTenders(requestModel: requestModel, reset: true);
|
||||
} else if (selectedStatus == YourTendersStrings.tendersSubmitted) {
|
||||
final requestModel = GetTendersRequestModel(
|
||||
status: TenderApprovalStatus.submitted.value,
|
||||
createdFrom: startDateUnix,
|
||||
createdTo: endDateUnix,
|
||||
limit: _tendersLimit,
|
||||
offset: _tendersOffset,
|
||||
);
|
||||
await getTenders(requestModel: requestModel, reset: true);
|
||||
} else if (selectedStatus == YourTendersStrings.likeTenders) {
|
||||
await getTendersFeedback(
|
||||
feedbackType: TenderFeedback.liked.value,
|
||||
reset: true,
|
||||
);
|
||||
} else if (selectedStatus == YourTendersStrings.dislikeTenders) {
|
||||
await getTendersFeedback(
|
||||
feedbackType: TenderFeedback.disliked.value,
|
||||
reset: true,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int currentPage = 1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user