mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-13 07:48:56 +03:30
Set search for my package & package by api
This commit is contained in:
@@ -190,7 +190,16 @@ class Url {
|
|||||||
static String searchItems(String value) {
|
static String searchItems(String value) {
|
||||||
return '$baseUrl/Items?name=$value';
|
return '$baseUrl/Items?name=$value';
|
||||||
}
|
}
|
||||||
|
|
||||||
static String searchMyItems(String value) {
|
static String searchMyItems(String value) {
|
||||||
return '$baseUrl/MyItems?name=$value';
|
return '$baseUrl/MyItems?name=$value';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static String searchPackages(String value) {
|
||||||
|
return '$baseUrl/Packages?name=$value';
|
||||||
|
}
|
||||||
|
|
||||||
|
static String searchMyPackages(String value) {
|
||||||
|
return '$baseUrl/MyPackages?name=$value';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
|
|||||||
final double _deviceWidth = _media.size.width;
|
final double _deviceWidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _deviceWidth / 100;
|
final double _deviceBlockSize = _deviceWidth / 100;
|
||||||
final userData = Provider.of<Auth>(context, listen: false).user;
|
final userData = Provider.of<Auth>(context, listen: false).user;
|
||||||
|
var searchVal;
|
||||||
return Consumer<ConnectivityProvider>(
|
return Consumer<ConnectivityProvider>(
|
||||||
builder: (ct, connection, _) {
|
builder: (ct, connection, _) {
|
||||||
return connection.conStatus != 'offline'
|
return connection.conStatus != 'offline'
|
||||||
@@ -129,12 +130,18 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
|
|||||||
ResultSearchBox(
|
ResultSearchBox(
|
||||||
searchCTRL: searchCTRL,
|
searchCTRL: searchCTRL,
|
||||||
text: 'package',
|
text: 'package',
|
||||||
|
text2: "name",
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
Provider.of<MyPackageProvider>(context, listen: false)
|
searchVal = value;
|
||||||
.searchMyPackages(value);
|
},
|
||||||
|
onTap: () async {
|
||||||
|
var myPackages = await Provider.of<MyPackageProvider>(
|
||||||
|
context,
|
||||||
|
listen: false);
|
||||||
|
myPackages.setLoading();
|
||||||
|
await myPackages.searchMyPackages(searchVal);
|
||||||
},
|
},
|
||||||
onTap: () {},
|
|
||||||
),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 20,
|
height: 20,
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ class _PackageResultScreenState extends State<PackageResultScreen> {
|
|||||||
final _media = MediaQuery.of(context);
|
final _media = MediaQuery.of(context);
|
||||||
final double _devicewidth = _media.size.width;
|
final double _devicewidth = _media.size.width;
|
||||||
final double _deviceBlockSize = _devicewidth / 100;
|
final double _deviceBlockSize = _devicewidth / 100;
|
||||||
|
var searchVal;
|
||||||
return SafeArea(
|
return SafeArea(
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
@@ -198,12 +199,18 @@ class _PackageResultScreenState extends State<PackageResultScreen> {
|
|||||||
ResultSearchBox(
|
ResultSearchBox(
|
||||||
searchCTRL: searchCTRL,
|
searchCTRL: searchCTRL,
|
||||||
text: 'package',
|
text: 'package',
|
||||||
|
text2: "name",
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
Provider.of<PackageProvider>(context, listen: false)
|
searchVal = value;
|
||||||
.search(value);
|
},
|
||||||
|
onTap: () async {
|
||||||
|
var packages = await Provider.of<PackageProvider>(
|
||||||
|
context,
|
||||||
|
listen: false);
|
||||||
|
packages.setLoading();
|
||||||
|
await packages.search(searchVal);
|
||||||
},
|
},
|
||||||
onTap: () {},
|
|
||||||
),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 20,
|
height: 20,
|
||||||
|
|||||||
@@ -41,17 +41,30 @@ class MyPackageProvider extends ChangeNotifier {
|
|||||||
|
|
||||||
void setLoading() {
|
void setLoading() {
|
||||||
isloading = true;
|
isloading = true;
|
||||||
// notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
void searchMyPackages(String value) {
|
Future<void> searchMyPackages(String value) async {
|
||||||
myPackages = [];
|
myPackages = [];
|
||||||
searchBoxValue = value;
|
searchBoxValue = value;
|
||||||
originalMyPackages!.forEach((result) {
|
var response = await http.get(
|
||||||
if (result.id.toString().contains(searchBoxValue)) {
|
Uri.parse(Url.searchMyPackages(value)),
|
||||||
myPackages!.add(result);
|
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();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,8 +132,10 @@ class MyPackageProvider extends ChangeNotifier {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
myPackages = originalMyPackages;
|
||||||
pageNumber += 1;
|
pageNumber += 1;
|
||||||
searchMyPackages('');
|
// searchMyPackages('');
|
||||||
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Future<void> getHospitalPackages() async {
|
// Future<void> getHospitalPackages() async {
|
||||||
|
|||||||
+28
-23
@@ -166,7 +166,7 @@ class PackageProvider extends ChangeNotifier {
|
|||||||
|
|
||||||
void setLoading() {
|
void setLoading() {
|
||||||
isloading = true;
|
isloading = true;
|
||||||
// notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isloadingButton = false;
|
bool isloadingButton = false;
|
||||||
@@ -341,29 +341,32 @@ class PackageProvider extends ChangeNotifier {
|
|||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
void search(String value) {
|
Future<void> search(String value) async {
|
||||||
items = [];
|
items = [];
|
||||||
searchBoxValue = value;
|
searchBoxValue = value;
|
||||||
originalItems!.forEach((result) {
|
var response = await http.get(
|
||||||
if (result.id
|
Uri.parse(Url.searchPackages(value)),
|
||||||
.toString()
|
headers: {
|
||||||
.toLowerCase()
|
'Authorization': User.token,
|
||||||
.contains(searchBoxValue.toLowerCase()) ||
|
},
|
||||||
result.id
|
);
|
||||||
.toString()
|
|
||||||
.toUpperCase()
|
var testResultData = json.decode(response.body);
|
||||||
.contains(searchBoxValue.toUpperCase()) ||
|
for (var item in testResultData['data']) {
|
||||||
result.id
|
List<String> itemsId =
|
||||||
.toString()
|
(item['items'] as List).map((item) => item['id'].toString()).toList();
|
||||||
.toLowerCase()
|
items!.add(
|
||||||
.contains(searchBoxValue.toUpperCase()) ||
|
PackageResultObject(
|
||||||
result.id
|
createdAt: item['created_at'],
|
||||||
.toString()
|
id: item['id'].toString(),
|
||||||
.toUpperCase()
|
name: item['name'],
|
||||||
.contains(searchBoxValue.toLowerCase())) {
|
status: item['status'],
|
||||||
items!.add(result);
|
userName: item['user']['name'],
|
||||||
}
|
itemsId: itemsId,
|
||||||
});
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
resetLoading();
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -409,8 +412,10 @@ class PackageProvider extends ChangeNotifier {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
items = originalItems;
|
||||||
pageNumber += 1;
|
pageNumber += 1;
|
||||||
search('');
|
// search('');
|
||||||
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<PackageDetailObject> showPackageResult(String id) async {
|
Future<PackageDetailObject> showPackageResult(String id) async {
|
||||||
|
|||||||
Reference in New Issue
Block a user