fix refresh
This commit is contained in:
parent
0b38538d2b
commit
49154d9945
|
@ -1 +1 @@
|
||||||
gradle 7.6.1
|
gradle 8.10.2
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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(() {
|
) //
|
||||||
|
.then((response) async {
|
||||||
|
if (response == true) {
|
||||||
|
isSnackble = false;
|
||||||
_pagingController.refresh();
|
_pagingController.refresh();
|
||||||
|
} else {
|
||||||
safeSetState(() {});
|
isSnackble = true;
|
||||||
});
|
}
|
||||||
|
}) //
|
||||||
|
.whenComplete(() {});
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
DialogUtil.errorDefault(context);
|
DialogUtil.errorDefault(context);
|
||||||
LogUtil.requestAPIFailed(
|
LogUtil.requestAPIFailed(
|
||||||
|
|
|
@ -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(
|
|
||||||
context,
|
|
||||||
FFLocalizations.of(context).getVariableText(
|
|
||||||
enText: 'Error canceling request',
|
|
||||||
ptText: 'Erro ao cancelar solicitação',
|
ptText: 'Erro ao cancelar solicitação',
|
||||||
),
|
enText: 'Error canceling request',
|
||||||
true,
|
|
||||||
);
|
);
|
||||||
|
showSnackbarMessenger(context, errorMessage, true);
|
||||||
|
context.pop(false);
|
||||||
|
context.pop(false);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue