pull to refresh added on worklist screen.

faiz_marathon_signalR_critical
Sikander Saleem 4 years ago
parent ba65fbb79d
commit ba8e272885

@ -19,6 +19,7 @@ import 'package:mohem_flutter_app/models/worklist_response_model.dart';
import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart'; import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
class WorkListScreen extends StatefulWidget { class WorkListScreen extends StatefulWidget {
WorkListScreen({Key? key}) : super(key: key); WorkListScreen({Key? key}) : super(key: key);
@ -82,6 +83,8 @@ class _WorkListScreenState extends State<WorkListScreen> {
late DashboardProviderModel providerData; late DashboardProviderModel providerData;
final RefreshController _refreshController = RefreshController(initialRefresh: false);
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -137,6 +140,11 @@ class _WorkListScreenState extends State<WorkListScreen> {
} }
} }
void _onRefresh() async {
getWorkList();
_refreshController.refreshCompleted();
}
@override @override
void dispose() { void dispose() {
super.dispose(); super.dispose();
@ -177,6 +185,7 @@ class _WorkListScreenState extends State<WorkListScreen> {
workListItemIndex = index; workListItemIndex = index;
if (workListItemTypes[index].value == 0) { if (workListItemTypes[index].value == 0) {
workList = []; workList = [];
itgRequestTypeIndex = null;
} else { } else {
workList = null; workList = null;
} }
@ -195,7 +204,19 @@ class _WorkListScreenState extends State<WorkListScreen> {
), ),
).paddingOnly(top: 21, bottom: 21), ).paddingOnly(top: 21, bottom: 21),
workListItemTypes[workListItemIndex].fullName.toSectionHeading().paddingOnly(left: 21, right: 21), workListItemTypes[workListItemIndex].fullName.toSectionHeading().paddingOnly(left: 21, right: 21),
if (itgRequestTypeIndex != null) SmartRefresher(
enablePullDown: true,
enablePullUp: false,
header: const MaterialClassicHeader(
color: MyColors.gradiantEndColor,
),
controller: _refreshController,
onRefresh: _onRefresh,
child: SingleChildScrollView(
physics: const BouncingScrollPhysics(),
child: itgRequestTypeIndex != null
? Column(
children: [
SizedBox( SizedBox(
height: 40, height: 40,
child: ListView.separated( child: ListView.separated(
@ -220,10 +241,9 @@ class _WorkListScreenState extends State<WorkListScreen> {
padding: const EdgeInsets.only(left: 21, right: 21), padding: const EdgeInsets.only(left: 21, right: 21),
), ),
).paddingOnly(top: 16, bottom: 16), ).paddingOnly(top: 16, bottom: 16),
itgRequestTypeIndex != null ListView.separated(
? Expanded( shrinkWrap: true,
child: ListView.separated( physics: const NeverScrollableScrollPhysics(),
physics: BouncingScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, index) {
return itgRowItem(workListItemTypes[workListItemIndex], itgFormsModel!.requestType![itgRequestTypeIndex!].requestDetails![index], index); return itgRowItem(workListItemTypes[workListItemIndex], itgFormsModel!.requestType![itgRequestTypeIndex!].requestDetails![index], index);
}, },
@ -231,13 +251,14 @@ class _WorkListScreenState extends State<WorkListScreen> {
itemCount: itgFormsModel!.requestType![itgRequestTypeIndex!].requestDetails?.length ?? 0, itemCount: itgFormsModel!.requestType![itgRequestTypeIndex!].requestDetails?.length ?? 0,
padding: const EdgeInsets.all(21), padding: const EdgeInsets.all(21),
), ),
],
) )
: Expanded( : workList != null
child: workList != null
? ((workList!).isEmpty ? ((workList!).isEmpty
? LocaleKeys.noHistoryAvailable.tr().toText16().center ? Utils.getNoDataWidget(context).paddingOnly(top: 100)
: ListView.separated( : ListView.separated(
physics: const BouncingScrollPhysics(), shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, index) {
return rowItem(workListItemTypes[workListItemIndex], workList![index], index); return rowItem(workListItemTypes[workListItemIndex], workList![index], index);
}, },
@ -246,7 +267,7 @@ class _WorkListScreenState extends State<WorkListScreen> {
padding: const EdgeInsets.all(21), padding: const EdgeInsets.all(21),
)) ))
: const SizedBox(), : const SizedBox(),
), )).expanded,
], ],
), ),
), ),
@ -321,10 +342,7 @@ class _WorkListScreenState extends State<WorkListScreen> {
Row( Row(
children: [ children: [
DateUtil.formatDateToDate(DateUtil.convertStringToDate(requestDetails.modifiedDate!), false).toText10(color: MyColors.lightTextColor).expanded, DateUtil.formatDateToDate(DateUtil.convertStringToDate(requestDetails.modifiedDate!), false).toText10(color: MyColors.lightTextColor).expanded,
RotatedBox( RotatedBox(quarterTurns: AppState().isArabic(context) ? 2 : 4, child: SvgPicture.asset("assets/images/arrow_next.svg", color: MyColors.darkIconColor)),
quarterTurns: AppState().isArabic(context) ? 2:4,
child: SvgPicture.asset("assets/images/arrow_next.svg", color:MyColors.darkIconColor)
),
], ],
), ),
], ],
@ -403,11 +421,7 @@ class _WorkListScreenState extends State<WorkListScreen> {
Row( Row(
children: [ children: [
DateUtil.formatDateToDate(DateUtil.convertSimpleStringDateToDate(workData.bEGINDATE!), false).toText10(color: MyColors.lightTextColor).expanded, DateUtil.formatDateToDate(DateUtil.convertSimpleStringDateToDate(workData.bEGINDATE!), false).toText10(color: MyColors.lightTextColor).expanded,
RotatedBox( RotatedBox(quarterTurns: AppState().isArabic(context) ? 2 : 4, child: SvgPicture.asset("assets/images/arrow_next.svg", color: MyColors.darkIconColor)),
quarterTurns: AppState().isArabic(context) ? 2:4,
child: SvgPicture.asset("assets/images/arrow_next.svg", color:MyColors.darkIconColor)
),
], ],
), ),
], ],

Loading…
Cancel
Save