request list added on my requests.

main_design2.0
Sikander Saleem 2 years ago
parent ab83963c65
commit ecacd2ec8f

@ -360,6 +360,8 @@
"requestGasRefill" : "Request Gas Refill", "requestGasRefill" : "Request Gas Refill",
"trackGasRefill" : "Track Gas Refill", "trackGasRefill" : "Track Gas Refill",
"trackAssetTransfer" : "Track Asset Transfer", "trackAssetTransfer" : "Track Asset Transfer",
"deviceTransferRequest" : "Device Transfer Requests",
"total" : "Total", "total" : "Total",
"noDataFound" : "No Data Found" "noDataFound" : "No Data Found",
"allRequests" : "All Requests"
} }

@ -6,6 +6,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/search_all_requests_model.dart'; import 'package:test_sa/models/search_all_requests_model.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/pages/land_page/my_request/all_requests_filter_page.dart'; import 'package:test_sa/new_views/pages/land_page/my_request/all_requests_filter_page.dart';
import 'package:test_sa/new_views/pages/land_page/my_request/all_requests_search_page.dart'; import 'package:test_sa/new_views/pages/land_page/my_request/all_requests_search_page.dart';
import 'package:test_sa/new_views/pages/land_page/widgets/request_item_view_list.dart'; import 'package:test_sa/new_views/pages/land_page/widgets/request_item_view_list.dart';
@ -21,9 +22,20 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
AllRequestsProvider _provider; AllRequestsProvider _provider;
SearchAllRequestsModel _search; SearchAllRequestsModel _search;
List<String> requestsList;
int selectedRequest;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (_provider == null) { if (_provider == null) {
requestsList = [
context.translation.allRequests,
context.translation.serviceRequest,
context.translation.gasRefillRequest,
context.translation.deviceTransferRequest,
context.translation.preventiveMaintenance,
];
selectedRequest = 0;
_provider = Provider.of<AllRequestsProvider>(context, listen: false); _provider = Provider.of<AllRequestsProvider>(context, listen: false);
_provider.getAllRequests(); _provider.getAllRequests();
} }
@ -78,8 +90,47 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
], ],
).paddingOnly(start: 16, end: 16), ).paddingOnly(start: 16, end: 16),
), ),
body: Consumer<AllRequestsProvider>(builder: (context, snapshot, _) { body: Column(
children: [
SizedBox(
height: 34 + 16.0,
child: ListView.separated(
scrollDirection: Axis.horizontal,
padding: const EdgeInsets.only(top: 16, right: 16, left: 16),
itemBuilder: (cxt, index) => Container(
alignment: Alignment.center,
padding: const EdgeInsets.symmetric(horizontal: 8),
decoration: ShapeDecoration(
color: selectedRequest == index ? const Color(0xFFEAF1F4) : Colors.white,
shape: RoundedRectangleBorder(
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,
)
],
),
child: Text(requestsList[index], style: AppTextStyles.bodyText2.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50, height: 1)),
).onPress(() {
if (selectedRequest != index) {
setState(() {
selectedRequest = index;
});
_provider.getAllRequests(typeTransaction: selectedRequest == 0 ? null : selectedRequest);
}
}),
separatorBuilder: (cxt, index) => 8.width,
itemCount: requestsList.length),
),
Consumer<AllRequestsProvider>(builder: (context, snapshot, _) {
return RequestItemViewList(snapshot.allRequestsAndCount?.requestsDetails ?? [], snapshot.isAllLoading); return RequestItemViewList(snapshot.allRequestsAndCount?.requestsDetails ?? [], snapshot.isAllLoading);
})); }).expanded,
],
));
} }
} }

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart';
@ -6,6 +7,7 @@ import 'package:test_sa/new_views/pages/land_page/requests/asset_item_view.dart'
import 'package:test_sa/new_views/pages/land_page/requests/gas_refill_item_view.dart'; import 'package:test_sa/new_views/pages/land_page/requests/gas_refill_item_view.dart';
import 'package:test_sa/new_views/pages/land_page/requests/ppm_item_view.dart'; import 'package:test_sa/new_views/pages/land_page/requests/ppm_item_view.dart';
import 'package:test_sa/new_views/pages/land_page/requests/service_request_item_view.dart'; import 'package:test_sa/new_views/pages/land_page/requests/service_request_item_view.dart';
import 'package:test_sa/views/widgets/loaders/no_item_found.dart';
class RequestItemViewList extends StatelessWidget { class RequestItemViewList extends StatelessWidget {
List<RequestsDetails> list; List<RequestsDetails> list;
@ -15,7 +17,9 @@ class RequestItemViewList extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ListView.separated( return (list?.isEmpty ?? true)
? NoItemFound(message: context.translation.noDataFound)
: ListView.separated(
padding: const EdgeInsets.all(16), padding: const EdgeInsets.all(16),
itemBuilder: (cxt, index) { itemBuilder: (cxt, index) {
if (isLoading) return SizedBox().toRequestShimmer(cxt, isLoading); if (isLoading) return SizedBox().toRequestShimmer(cxt, isLoading);

@ -152,9 +152,7 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
children: [ children: [
Expanded( Expanded(
child: _searchableList.isEmpty child: _searchableList.isEmpty
? NoItemFound( ? NoItemFound(message: context.translation.noDeviceFound)
message: context.translation.noDeviceFound,
)
: LazyLoading( : LazyLoading(
nextPage: _devicesProvider.nextPage, nextPage: _devicesProvider.nextPage,
onLazyLoad: () async { onLazyLoad: () async {

Loading…
Cancel
Save