From 50fb07b50469254e25e7bed29d4aac59263e5739 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Sun, 4 May 2025 11:28:27 +0300 Subject: [PATCH] on back confirmation dialog added on gas refill, task and asset transfer --- .../update_device_transfer.dart | 11 ++++++++-- .../user/gas_refill/gas_refill_form.dart | 20 +++++++++++++------ .../task_request_detail_view.dart | 10 ---------- .../tasks_request/task_request_form_view.dart | 11 ++++++++-- 4 files changed, 32 insertions(+), 20 deletions(-) diff --git a/lib/views/pages/device_transfer/update_device_transfer.dart b/lib/views/pages/device_transfer/update_device_transfer.dart index d44d17a7..6e9a88d7 100644 --- a/lib/views/pages/device_transfer/update_device_transfer.dart +++ b/lib/views/pages/device_transfer/update_device_transfer.dart @@ -479,7 +479,10 @@ class _UpdateDeviceTransferState extends State { : (!(_formModel.receiverMachineStatusName?.toLowerCase().contains("close") ?? false) || !(_formModel.receiverMachineStatusName?.toLowerCase().contains("complete") ?? false)); return Scaffold( - appBar: DefaultAppBar(title: context.translation.transferAsset), + appBar: DefaultAppBar(title: context.translation.transferAsset, + onWillPopScope: () { + _update(status: 0); + },), key: _scaffoldKey, body: SafeArea( child: LoadingManager( @@ -555,7 +558,11 @@ class _UpdateDeviceTransferState extends State { ), ), ), - ); + ).handlePopScope( + cxt: context, + onSave: () { + _update(status: 0); + }); } void updateTimer({TimerModel? timer}) { diff --git a/lib/views/pages/user/gas_refill/gas_refill_form.dart b/lib/views/pages/user/gas_refill/gas_refill_form.dart index f08f7ae3..f572c7b5 100644 --- a/lib/views/pages/user/gas_refill/gas_refill_form.dart +++ b/lib/views/pages/user/gas_refill/gas_refill_form.dart @@ -80,8 +80,7 @@ class _GasRefillFormState extends State { if (widget.gasRefillModel != null) { _formModel.fromGasRefillModel(widget.gasRefillModel!); - totalWorkingHours = - _formModel.gasRefillTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endDate!).difference(DateTime.parse(item.startDate!)).inSeconds) ?? 0; + totalWorkingHours = _formModel.gasRefillTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endDate!).difference(DateTime.parse(item.startDate!)).inSeconds) ?? 0; _commentController.text = _formModel.techComment ?? ""; try { _deliveredQuantity = deliveredQuantity.singleWhere((element) => element.value == _formModel.gasRefillDetails![0].deliverdQty); @@ -130,8 +129,8 @@ class _GasRefillFormState extends State { }); _formModel.gasRefillAttachments = []; for (var item in _attachments) { - _formModel.gasRefillAttachments - ?.add(GasRefillAttachments(id: 0,gasRefillId: _formModel.id??0, attachmentName: ServiceRequestUtils.isLocalUrl(item.path) ? "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}" : item.path)); + _formModel.gasRefillAttachments?.add(GasRefillAttachments( + id: 0, gasRefillId: _formModel.id ?? 0, attachmentName: ServiceRequestUtils.isLocalUrl(item.path) ? "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}" : item.path)); } await _gasRefillProvider?.updateGasRefill(status: status, model: _formModel).whenComplete(() { if (status == 1) { @@ -190,7 +189,12 @@ class _GasRefillFormState extends State { double totalWorkingHours = _formModel.gasRefillTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endDate!).difference(DateTime.parse(item.startDate!)).inSeconds) ?? 0; return Scaffold( - appBar: DefaultAppBar(title: context.translation.gasRefill), + appBar: DefaultAppBar( + title: context.translation.gasRefill, + onWillPopScope: () { + _onSubmit(context, 0); + }, + ), key: _scaffoldKey, body: Form( key: _formKey, @@ -341,7 +345,11 @@ class _GasRefillFormState extends State { )), ), ), - ); + ).handlePopScope( + cxt: context, + onSave: () { + _onSubmit(context, 0); + }); } Widget _timerWidget(BuildContext context, double totalWorkingHours) { diff --git a/lib/views/pages/user/tasks_request/task_request_detail_view.dart b/lib/views/pages/user/tasks_request/task_request_detail_view.dart index 4b412e3a..ea945dbf 100644 --- a/lib/views/pages/user/tasks_request/task_request_detail_view.dart +++ b/lib/views/pages/user/tasks_request/task_request_detail_view.dart @@ -171,21 +171,11 @@ class _TaskRequestDetailsViewState extends State { ); } - // Widget linkWithAssetWidget({required TaskData taskModel}) { - // return Column( - // crossAxisAlignment: CrossAxisAlignment.start, - // children: [ - // // assetDetails(), - // ], - // ); - // } - Widget linkWithLocationWidget({required TaskData taskModel}) { return Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ - const Divider().defaultStyle(context), Text( "Location Details".addTranslation, style: AppTextStyles.heading4.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), diff --git a/lib/views/pages/user/tasks_request/task_request_form_view.dart b/lib/views/pages/user/tasks_request/task_request_form_view.dart index 26122323..fcf35f7a 100644 --- a/lib/views/pages/user/tasks_request/task_request_form_view.dart +++ b/lib/views/pages/user/tasks_request/task_request_form_view.dart @@ -84,7 +84,10 @@ class _TaskRequestFormState extends State { Widget build(BuildContext context) { return Consumer(builder: (context, taskProvider, child) { return Scaffold( - appBar: DefaultAppBar(title: context.translation.taskRequest), + appBar: DefaultAppBar(title: context.translation.taskRequest, + onWillPopScope: () { + _updateTask(context: context, status: 0); + },), key: _scaffoldKey, body: taskProvider.isLoading ? const ALoading() @@ -164,7 +167,11 @@ class _TaskRequestFormState extends State { ), ) : NoDataFound(message: context.translation.noDataFound).center, - ); + ).handlePopScope( + cxt: context, + onSave: () { + _updateTask(context: context, status: 0); + }); }); }