Set search my item by api

This commit is contained in:
hanie.khodkari
2025-05-10 21:09:34 +03:30
parent ae6de355e7
commit 948847cd36
4 changed files with 37 additions and 14 deletions
+3
View File
@@ -190,4 +190,7 @@ class Url {
static String searchItems(String value) {
return '$baseUrl/Items?name=$value';
}
static String searchMyItems(String value) {
return '$baseUrl/MyItems?name=$value';
}
}
+1 -1
View File
@@ -234,7 +234,7 @@ class _ItemResultScreenState extends State<ItemResultScreen> {
text: 'item',
deviceBlockSize: _deviceBlockSize,
textInputType: TextInputType.visiblePassword,
text2: "Udi",
text2: "name",
onChanged: (value) {
searchVal = value;
},
@@ -68,6 +68,7 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
final double _devicewidth = _media.size.width;
final double _deviceBlockSize = _devicewidth / 100;
final userData = Provider.of<Auth>(context, listen: false).user;
var searchVal;
return Consumer<ConnectivityProvider>(
builder: (ct, connection, _) {
return connection.conStatus != 'offline'
@@ -155,14 +156,18 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
ResultSearchBox(
searchCTRL: searchCTRL,
text: 'item',
text2: "Udi",
text2: "name",
textInputType: TextInputType.visiblePassword,
deviceBlockSize: _deviceBlockSize,
onChanged: (value) {
Provider.of<MyItemProvider>(context, listen: false)
.searchMyItems(value);
onChanged: (value) async {
searchVal = value;
},
onTap: () async {
var myItems = await Provider.of<MyItemProvider>(context,
listen: false);
myItems.setLoading();
await myItems.searchMyItems(searchVal);
},
onTap: () {},
),
SizedBox(
height: 20,
+23 -8
View File
@@ -43,17 +43,31 @@ class MyItemProvider extends ChangeNotifier {
void setLoading() {
isloading = true;
// notifyListeners();
notifyListeners();
}
void searchMyItems(String value) {
Future<void> searchMyItems(String value) async {
myItems = [];
searchBoxValue = value;
originalMyItems!.forEach((result) {
if (result.udi.toString().contains(searchBoxValue)) {
myItems!.add(result);
}
});
var response = await http.get(
Uri.parse(Url.searchMyItems(value)),
headers: {'Authorization': User.token, "Accept": "application/json"},
);
var itemsData = json.decode(response.body);
for (var item in itemsData['data']) {
myItems!.add(
MyItemResultObject(
name: item['name'],
id: item['id'].toString(),
size: item['size'].toString(),
udi: item['udi'],
userName: item['user'] != null ? item['user']['name'] : '',
),
);
}
resetLoading();
notifyListeners();
}
@@ -136,8 +150,9 @@ class MyItemProvider extends ChangeNotifier {
),
);
}
myItems = originalMyItems;
pageNumber += 1;
searchMyItems('');
notifyListeners();
}
// Future<void> getHospitalItems() async {