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);
}
log('API Call: $callName');
log('URL: $apiUrl');
log('Headers: $headers');
log('Params: $params');
log('Response: ${result.jsonBody}');
print('API Call: $callName');
print('URL: $apiUrl');
print('Headers: $headers');
print('Params: $params');
print('Response: ${result.jsonBody}');
return result;
}
}

View File

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

View File

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