Hide tabs when filter isn't empty

main_design2.0
zaid_daoud 2 years ago
parent cb658f0e60
commit 0b9f781dd8

@ -73,6 +73,7 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AllRequestsSearchPage(data: _search))); final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AllRequestsSearchPage(data: _search)));
if (result != null) { if (result != null) {
_search = result; _search = result;
setState(() {});
} }
}).expanded, }).expanded,
16.width, 16.width,
@ -83,6 +84,7 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AllRequestsFilterPage(data: _search))); final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AllRequestsFilterPage(data: _search)));
if (result != null) { if (result != null) {
_search = result; _search = result;
setState(() {});
} }
}), }),
], ],
@ -90,45 +92,61 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
), ),
body: Column( body: Column(
children: [ children: [
SizedBox( if (_filterIsEmpty())
height: 34 + 16.0, SizedBox(
child: ListView.separated( height: 34 + 16.0,
scrollDirection: Axis.horizontal, child: ListView.separated(
padding: const EdgeInsets.only(top: 16, right: 16, left: 16), scrollDirection: Axis.horizontal,
itemBuilder: (cxt, index) => Container( padding: const EdgeInsets.only(top: 16, right: 16, left: 16),
alignment: Alignment.center, itemBuilder: (cxt, index) => Container(
padding: const EdgeInsets.symmetric(horizontal: 8), alignment: Alignment.center,
decoration: ShapeDecoration( padding: const EdgeInsets.symmetric(horizontal: 8),
color: selectedRequest == index ? Color(0xFFEAF1F4) : Colors.white, decoration: ShapeDecoration(
shape: RoundedRectangleBorder( color: selectedRequest == index ? Color(0xFFEAF1F4) : Colors.white,
side: BorderSide(width: 1, color: selectedRequest == index ? Color(0xFF4A8DB7) : Colors.white), shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(7), side: BorderSide(width: 1, color: selectedRequest == index ? Color(0xFF4A8DB7) : Colors.white),
borderRadius: BorderRadius.circular(7),
),
shadows: const [
BoxShadow(
color: Color(0x07000000),
blurRadius: 14,
offset: Offset(0, 0),
spreadRadius: 0,
)
],
), ),
shadows: const [ child: Text(requestsList[index], style: AppTextStyles.bodyText2.copyWith(color: context.isDark ? AppColor.neutral20 : AppColor.neutral50, height: 1)),
BoxShadow( ).onPress(() {
color: Color(0x07000000), if (selectedRequest != index) {
blurRadius: 14, setState(() {
offset: Offset(0, 0), selectedRequest = index;
spreadRadius: 0, });
) _provider.getAllRequests(context, typeTransaction: selectedRequest == 0 ? null : selectedRequest);
], }
), }),
child: Text(requestsList[index], style: AppTextStyles.bodyText2.copyWith(color: context.isDark ? AppColor.neutral20 : AppColor.neutral50, height: 1)), separatorBuilder: (cxt, index) => 8.width,
).onPress(() { itemCount: requestsList.length),
if (selectedRequest != index) { ),
setState(() {
selectedRequest = index;
});
_provider.getAllRequests(context, typeTransaction: selectedRequest == 0 ? null : selectedRequest);
}
}),
separatorBuilder: (cxt, index) => 8.width,
itemCount: requestsList.length),
),
Consumer<AllRequestsProvider>(builder: (context, snapshot, _) { Consumer<AllRequestsProvider>(builder: (context, snapshot, _) {
return RequestItemViewList(snapshot.allRequestsAndCount?.requestsDetails ?? [], snapshot.isAllLoading); return RequestItemViewList(snapshot.allRequestsAndCount?.requestsDetails ?? [], snapshot.isAllLoading);
}).expanded, }).expanded,
], ],
)); ));
} }
bool _filterIsEmpty() {
if (_search == null) return true;
if ((_search.requestNumber?.value?.isNotEmpty ?? false) ||
(_search.assetNo?.value?.isNotEmpty ?? false) ||
(_search.assetName?.value?.isNotEmpty ?? false) ||
(_search.manufacture?.value?.isNotEmpty ?? false) ||
(_search.sn?.value?.isNotEmpty ?? false) ||
(_search.statuses?.isNotEmpty ?? false) ||
(_search.startDate != null) ||
(_search.endDate != null)) {
return false;
}
return true;
}
} }

Loading…
Cancel
Save