Set search for my package & package by api

This commit is contained in:
hanie.khodkari
2025-05-10 21:24:45 +03:30
parent 948847cd36
commit 1352e36f87
5 changed files with 80 additions and 37 deletions
+23 -8
View File
@@ -41,17 +41,30 @@ class MyPackageProvider extends ChangeNotifier {
void setLoading() {
isloading = true;
// notifyListeners();
notifyListeners();
}
void searchMyPackages(String value) {
Future<void> searchMyPackages(String value) async {
myPackages = [];
searchBoxValue = value;
originalMyPackages!.forEach((result) {
if (result.id.toString().contains(searchBoxValue)) {
myPackages!.add(result);
}
});
var response = await http.get(
Uri.parse(Url.searchMyPackages(value)),
headers: {'Authorization': User.token, "Accept": "application/json"},
);
var packagesData = json.decode(response.body);
for (var package in packagesData['data']) {
myPackages!.add(
MyPackageResultObject(
name: package['name'],
id: package['id'].toString(),
createdAt: package['created_at'].toString(),
userName: package['user'] != null ? package['user']['name'] : '',
),
);
}
resetLoading();
notifyListeners();
}
@@ -119,8 +132,10 @@ class MyPackageProvider extends ChangeNotifier {
),
);
}
myPackages = originalMyPackages;
pageNumber += 1;
searchMyPackages('');
// searchMyPackages('');
notifyListeners();
}
// Future<void> getHospitalPackages() async {
+28 -23
View File
@@ -166,7 +166,7 @@ class PackageProvider extends ChangeNotifier {
void setLoading() {
isloading = true;
// notifyListeners();
notifyListeners();
}
bool isloadingButton = false;
@@ -341,29 +341,32 @@ class PackageProvider extends ChangeNotifier {
notifyListeners();
}
void search(String value) {
Future<void> search(String value) async {
items = [];
searchBoxValue = value;
originalItems!.forEach((result) {
if (result.id
.toString()
.toLowerCase()
.contains(searchBoxValue.toLowerCase()) ||
result.id
.toString()
.toUpperCase()
.contains(searchBoxValue.toUpperCase()) ||
result.id
.toString()
.toLowerCase()
.contains(searchBoxValue.toUpperCase()) ||
result.id
.toString()
.toUpperCase()
.contains(searchBoxValue.toLowerCase())) {
items!.add(result);
}
});
var response = await http.get(
Uri.parse(Url.searchPackages(value)),
headers: {
'Authorization': User.token,
},
);
var testResultData = json.decode(response.body);
for (var item in testResultData['data']) {
List<String> itemsId =
(item['items'] as List).map((item) => item['id'].toString()).toList();
items!.add(
PackageResultObject(
createdAt: item['created_at'],
id: item['id'].toString(),
name: item['name'],
status: item['status'],
userName: item['user']['name'],
itemsId: itemsId,
),
);
}
resetLoading();
notifyListeners();
}
@@ -409,8 +412,10 @@ class PackageProvider extends ChangeNotifier {
),
);
}
items = originalItems;
pageNumber += 1;
search('');
// search('');
notifyListeners();
}
Future<PackageDetailObject> showPackageResult(String id) async {