remove isInteractive parameter from PetsHistoryScreen widget

This commit is contained in:
J. A. Messias 2024-11-12 13:47:39 -03:00
parent e355cd67fb
commit 37ad7952eb
2 changed files with 152 additions and 164 deletions

View File

@ -309,7 +309,6 @@ class _PetsHistoryScreenState extends State<PetsHistoryScreen> with TickerProvid
cliUUID: cliUUID,
cliName: cliName,
model: model,
isInteractive: true,
),
);
},

View File

@ -20,18 +20,12 @@ import 'package:hub/shared/utils/limited_text_size.dart';
import 'package:hub/shared/utils/validator_util.dart';
class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
static PetsPageModel? _instance = PetsPageModel._internal();
PetsPageModel._internal();
factory PetsPageModel() => _instance ?? PetsPageModel._internal();
static void resetInstance() => _instance = null;
late final String devUUID;
late final String userUUID;
late final String cliUUID;
late String devUUID = '';
late String userUUID = '';
late String cliUUID = '';
late String petAmountRegister = '0';
dynamic item;
late String defaultDropDownText = '';
late final TabController tabBarController;
VoidCallback? onUpdatePet;
VoidCallback? onRegisterPet;
@ -51,6 +45,8 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
FFUploadedFile? uploadedTempFile;
String? imgBase64;
late String defaultDropDownText = '';
String? dropDownValue1;
FormFieldController<String>? dropDownValueController1;
@ -108,9 +104,21 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
TextEditingController? textControllerObservation;
String? Function(BuildContext, String?)? textControllerObservationValidator;
Future<void> initAsync() async {
defaultDropDownText = FFLocalizations.of(buildContext!).getVariableText(
enText: 'Select an option',
ptText: 'Selecione uma opção',
);
dropDownValueController1 = FormFieldController<String>(dropDownValue1 ??= defaultDropDownText);
dropDownValueController2 = FormFieldController<String>(dropDownValue2 ??= defaultDropDownText);
log('() => ): $devUUID');
safeSetState?.call();
log('() => ): $devUUID');
}
@override
void initState(BuildContext context) {
resetInstance();
tabBarController = TabController(
vsync: Navigator.of(context),
length: 2,
@ -140,49 +148,9 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
userUUID = await StorageHelper().get(SQLiteStorageKey.userUUID.value, Storage.SQLiteStorage) ?? '';
cliUUID = await StorageHelper().get(SQLiteStorageKey.clientUUID.value, Storage.SQLiteStorage) ?? '';
petAmountRegister = await StorageHelper().get(SQLiteStorageKey.petAmount.value, Storage.SQLiteStorage) ?? '';
safeSetState?.call();
});
}
Future<void> initAsync() async {
defaultDropDownText = FFLocalizations.of(buildContext!).getVariableText(
enText: 'Select an option',
ptText: 'Selecione uma opção',
);
dropDownValueController1 = FormFieldController<String>(dropDownValue1 ??= defaultDropDownText);
dropDownValueController2 = FormFieldController<String>(dropDownValue2 ??= defaultDropDownText);
log('() => ): $devUUID');
safeSetState?.call();
log('() => ): $devUUID');
}
@override
void dispose() {
tabBarController.dispose();
textFieldFocusName?.dispose();
textControllerName?.dispose();
textFieldFocusSpecies?.dispose();
textControllerSpecies?.dispose();
textFieldFocusRace?.dispose();
textControllerRace?.dispose();
textFieldFocusColor?.dispose();
textControllerColor?.dispose();
textFieldFocusData?.dispose();
textControllerData?.dispose();
textFieldFocusObservation?.dispose();
textControllerObservation?.dispose();
dropDownValueController1?.dispose();
dropDownValueController2?.dispose();
}
void setEditForm() {
log('item: $item');
@ -222,25 +190,49 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
textFieldFocusObservation = FocusNode();
item != null ? dropDownValue1 = item['gender'] ?? '' : dropDownValue1 = '';
item != null ? dropDownValue2 = item['size'] ?? '' : dropDownValue2 = '';
dropDownValueController1 = FormFieldController<String>(dropDownValue1);
dropDownValueController2 = FormFieldController<String>(dropDownValue2);
}
@override
void dispose() {
tabBarController.dispose();
textFieldFocusName?.dispose();
textControllerName?.dispose();
textFieldFocusSpecies?.dispose();
textControllerSpecies?.dispose();
textFieldFocusRace?.dispose();
textControllerRace?.dispose();
textFieldFocusColor?.dispose();
textControllerColor?.dispose();
textFieldFocusData?.dispose();
textControllerData?.dispose();
textFieldFocusObservation?.dispose();
textControllerObservation?.dispose();
dropDownValueController1?.dispose();
dropDownValueController2?.dispose();
}
bool isFormValid(BuildContext context) {
if (uploadedLocalFile == null || uploadedLocalFile!.bytes!.isEmpty) {
return false;
}
if (textControllerName!.text.isEmpty || textControllerName!.text.length > 80 || textControllerName!.text == '') {
if (textControllerName.text.isEmpty || textControllerName.text.length > 80 || textControllerName.text == '') {
return false;
}
if (textControllerSpecies!.text.isEmpty || textControllerSpecies!.text == '') {
if (textControllerSpecies.text.isEmpty || textControllerSpecies.text == '') {
return false;
}
if (textControllerRace!.text.isEmpty || textControllerRace!.text == '') {
if (textControllerRace.text.isEmpty || textControllerRace.text == '') {
return false;
}
@ -262,6 +254,7 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
if (dropDownValue2 == 'Selecione uma opção' || dropDownValue2 == null || dropDownValue2 == '') {
return false;
}
return true;
}
@ -284,7 +277,7 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
);
if (response.jsonBody['error'] == false) {
DialogUtil.success(
await DialogUtil.success(
buildContext!,
FFLocalizations.of(buildContext!).getVariableText(
enText: 'Pet successfully updated',
@ -305,7 +298,7 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
ptText: 'Falha ao atualizar o pet',
);
}
DialogUtil.error(buildContext!, errorMessage);
await DialogUtil.error(buildContext!, errorMessage);
}
}
@ -325,7 +318,7 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
);
if (response.jsonBody['error'] == false) {
DialogUtil.success(
await DialogUtil.success(
buildContext!,
FFLocalizations.of(buildContext!).getVariableText(
enText: 'Pet successfully registered',
@ -337,15 +330,16 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
String errorMessage;
try {
errorMessage = jsonDecode(response.jsonBody['error_msg'])[0]['message'].toString();
await DialogUtil.error(buildContext!, errorMessage);
} catch (e) {
if (response.jsonBody['error_msg'] == "Limite de Cadastro de Pet Atingido.") {
errorMessage = FFLocalizations.of(buildContext!).getVariableText(
enText: 'Pet registration limit reached',
ptText: 'Limite de cadastro de pets atingido',
);
DialogUtil.error(buildContext!, errorMessage);
await DialogUtil.error(buildContext!, errorMessage);
} else {
DialogUtil.errorDefault(buildContext!);
await DialogUtil.errorDefault(buildContext!);
}
}
}
@ -385,10 +379,8 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
// dropDownValue1 = '';
// dropDownValue2 = '';
// dropDownValueController1 =
// FormFieldController<String>('Selecione uma opção');
// dropDownValueController2 =
// FormFieldController<String>('Selecione uma opção');
// dropDownValueController1 = FormFieldController<String>('Selecione uma opção');
// dropDownValueController2 = FormFieldController<String>('Selecione uma opção');
}
Widget buildPetDetails({
@ -399,12 +391,10 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
required String cliUUID,
required String cliName,
required PetsPageModel model,
bool isInteractive = true,
}) {
return DetailsComponentWidget(
buttons: [
// EDIT ACTION
if (isInteractive)
FFButtonWidget(
text: FFLocalizations.of(context).getVariableText(
ptText: 'Editar',
@ -439,7 +429,6 @@ class PetsPageModel extends FlutterFlowModel<PetsPageWidget> {
),
// DELETE ACTION
if (isInteractive)
FFButtonWidget(
text: FFLocalizations.of(context).getVariableText(
ptText: 'Excluir',