fix refresh

This commit is contained in:
jantunesmessias 2025-02-14 09:46:56 -03:00
parent 0b38538d2b
commit 49154d9945
4 changed files with 55 additions and 56 deletions

View File

@ -1 +1 @@
gradle 7.6.1 gradle 8.10.2

View File

@ -496,11 +496,11 @@ class ApiManager {
result = ApiCallResponse(null, {}, -1, exception: e); result = ApiCallResponse(null, {}, -1, exception: e);
} }
log('API Call: $callName'); print('API Call: $callName');
log('URL: $apiUrl'); print('URL: $apiUrl');
log('Headers: $headers'); print('Headers: $headers');
log('Params: $params'); print('Params: $params');
log('Response: ${result.jsonBody}'); print('Response: ${result.jsonBody}');
return result; return result;
} }
} }

View File

@ -14,6 +14,7 @@ class _VehicleHistoryScreenState extends State<VehicleHistoryScreen>
int count = 0; int count = 0;
final PagingController<int, dynamic> _pagingController = final PagingController<int, dynamic> _pagingController =
PagingController<int, dynamic>(firstPageKey: 1); PagingController<int, dynamic>(firstPageKey: 1);
bool isSnackble = true;
@override @override
void initState() { void initState() {
@ -34,8 +35,9 @@ class _VehicleHistoryScreenState extends State<VehicleHistoryScreen>
}, },
onDataUnavailable: (vehicles) { onDataUnavailable: (vehicles) {
setState(() {}); setState(() {});
final bool isFirst = pageKey == 2;
if (!isFirst && isSnackble) showNoMoreDataSnackBar(context);
showNoMoreDataSnackBar(context);
_pagingController.appendLastPage(vehicles); _pagingController.appendLastPage(vehicles);
}, },
onDataAvailable: (vehicles) { onDataAvailable: (vehicles) {
@ -208,18 +210,23 @@ class _VehicleHistoryScreenState extends State<VehicleHistoryScreen>
model: widget.model, model: widget.model,
); );
await showDialog( await showDialog<bool>(
useSafeArea: true, useSafeArea: true,
context: context, context: context,
builder: (context) => Dialog( builder: (context) => Dialog(
alignment: Alignment.center, alignment: Alignment.center,
child: dialogContent, child: dialogContent,
), ),
).whenComplete(() { ) //
_pagingController.refresh(); .then((response) async {
if (response == true) {
safeSetState(() {}); isSnackble = false;
}); _pagingController.refresh();
} else {
isSnackble = true;
}
}) //
.whenComplete(() {});
} catch (e, s) { } catch (e, s) {
DialogUtil.errorDefault(context); DialogUtil.errorDefault(context);
LogUtil.requestAPIFailed( LogUtil.requestAPIFailed(

View File

@ -339,7 +339,7 @@ mixin _VehicleHistoryScreenModel on _BaseVehiclePage {
ptText: 'Você tem certeza que deseja cancelar essa solicitação?', ptText: 'Você tem certeza que deseja cancelar essa solicitação?',
enText: 'Are you sure you want to delete this request?', enText: 'Are you sure you want to delete this request?',
), ),
() async => processCancelRequest(item['status'], item)); () async => await processCancelRequest(item['status'], item));
} }
final deleteText = FFLocalizations.of(context) final deleteText = FFLocalizations.of(context)
@ -401,9 +401,9 @@ mixin _VehicleHistoryScreenModel on _BaseVehiclePage {
]; ];
} }
void processDeleteRequest(dynamic item) async { Future<bool> processDeleteRequest(dynamic item) async {
log('processDeleteRequest -> item[$item]'); log('processDeleteRequest -> item[$item]');
return await PhpGroup.deleteVehicle bool result = await PhpGroup.deleteVehicle
.call( .call(
vehicleId: item['vehicleId'], vehicleId: item['vehicleId'],
licensePlate: item['licensePlate'], licensePlate: item['licensePlate'],
@ -411,13 +411,10 @@ mixin _VehicleHistoryScreenModel on _BaseVehiclePage {
color: item['color'], color: item['color'],
) )
.then((value) { .then((value) {
context.pop(value);
context.pop(value);
// ignore: unrelated_type_equality_checks // ignore: unrelated_type_equality_checks
if (value.jsonBody['error'] == true) { if (value.jsonBody['error'] == true) {
final String errorMsg = value.jsonBody['error_msg']; final String errorMsg = value.jsonBody['error_msg'];
return showSnackbarMessenger( showSnackbarMessenger(
context, context,
FFLocalizations.of(context).getVariableText( FFLocalizations.of(context).getVariableText(
ptText: errorMsg, ptText: errorMsg,
@ -425,9 +422,10 @@ mixin _VehicleHistoryScreenModel on _BaseVehiclePage {
), ),
true, true,
); );
return false;
// ignore: unrelated_type_equality_checks // ignore: unrelated_type_equality_checks
} }
return showSnackbarMessenger( showSnackbarMessenger(
context, context,
FFLocalizations.of(context).getVariableText( FFLocalizations.of(context).getVariableText(
enText: 'Success deleting vehicle', enText: 'Success deleting vehicle',
@ -435,9 +433,10 @@ mixin _VehicleHistoryScreenModel on _BaseVehiclePage {
), ),
false, false,
); );
}).catchError((err, stack) { return true;
context.pop(); }) //
return showSnackbarMessenger( .catchError((err, stack) {
showSnackbarMessenger(
context, context,
FFLocalizations.of(context).getVariableText( FFLocalizations.of(context).getVariableText(
enText: 'Error deleting vehicle', enText: 'Error deleting vehicle',
@ -445,12 +444,18 @@ mixin _VehicleHistoryScreenModel on _BaseVehiclePage {
), ),
true, true,
); );
return false;
}); });
context.pop(result);
context.pop(result);
return result;
} }
void processCancelRequest(String status, dynamic item) async { Future<bool> processCancelRequest(String status, dynamic item) async {
late final ApiCallResponse value;
try { try {
final ApiCallResponse value;
switch (status) { switch (status) {
case 'APR_CREATE': case 'APR_CREATE':
value = await processCancelDeleteRequest(item); value = await processCancelDeleteRequest(item);
@ -462,41 +467,28 @@ mixin _VehicleHistoryScreenModel on _BaseVehiclePage {
value = await processCancelCreateRequest(item); value = await processCancelCreateRequest(item);
break; break;
default: default:
break; throw ArgumentError('Status inválido: $status');
} }
context.pop(value); final bool isError = value.jsonBody['error'] == true;
context.pop(value); final String message = FFLocalizations.of(context).getVariableText(
ptText: value.jsonBody['error_msg'] ?? 'Erro ao cancelar solicitação',
if (value.jsonBody['error'] == true) { enText:
final String errorMsg = value.jsonBody['error_msg']; isError ? 'Error canceling request' : 'Success canceling request',
return showSnackbarMessenger(
context,
FFLocalizations.of(context).getVariableText(
ptText: errorMsg,
enText: 'Error canceling request',
),
true,
);
}
return showSnackbarMessenger(
context,
FFLocalizations.of(context).getVariableText(
enText: 'Success canceling request',
ptText: 'Succeso ao cancelar solicitação',
),
false,
); );
showSnackbarMessenger(context, message, isError);
context.pop(!isError);
context.pop(!isError);
return !isError;
} catch (err) { } catch (err) {
context.pop(); final String errorMessage = FFLocalizations.of(context).getVariableText(
return showSnackbarMessenger( ptText: 'Erro ao cancelar solicitação',
context, enText: 'Error canceling request',
FFLocalizations.of(context).getVariableText(
enText: 'Error canceling request',
ptText: 'Erro ao cancelar solicitação',
),
true,
); );
showSnackbarMessenger(context, errorMessage, true);
context.pop(false);
context.pop(false);
return false;
} }
} }