Files
numstation-flutter/lib/settings/setting1/setting1_model.dart
2023-12-27 16:10:09 +08:00

129 lines
4.3 KiB
Dart

import '/backend/api_requests/api_calls.dart';
import '/components/alert_box_widget.dart';
import '/components/appbar_widget.dart';
import '/components/nav_bar1_widget.dart';
import '/flutterlib/flutter_button_tabbar.dart';
import '/flutterlib/flutter_theme.dart';
import '/flutterlib/flutter_util.dart';
import '/flutterlib/flutter_widgets.dart';
import 'setting1_widget.dart' show Setting1Widget;
import 'package:aligned_dialog/aligned_dialog.dart';
import 'package:expandable/expandable.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
class Setting1Model extends FlutterModel<Setting1Widget> {
/// State fields for stateful widgets in this page.
final unfocusNode = FocusNode();
final formKey = GlobalKey<FormState>();
// State field(s) for TabBar widget.
TabController? tabBarController;
int get tabBarCurrentIndex =>
tabBarController != null ? tabBarController!.index : 0;
// State field(s) for SwitchListTile widget.
bool? switchListTileValue1;
// State field(s) for SwitchListTile widget.
bool? switchListTileValue2;
// State field(s) for SwitchListTile widget.
bool? switchListTileValue3;
// State field(s) for SwitchListTile widget.
bool? switchListTileValue4;
// State field(s) for password widget.
FocusNode? passwordFocusNode;
TextEditingController? passwordController;
late bool passwordVisibility;
String? Function(BuildContext, String?)? passwordControllerValidator;
String? _passwordControllerValidator(BuildContext context, String? val) {
if (val == null || val.isEmpty) {
return FFLocalizations.of(context).getText(
'eyfmp88r' /* Field is required */,
);
}
return null;
}
// State field(s) for new_password widget.
FocusNode? newPasswordFocusNode;
TextEditingController? newPasswordController;
late bool newPasswordVisibility;
String? Function(BuildContext, String?)? newPasswordControllerValidator;
String? _newPasswordControllerValidator(BuildContext context, String? val) {
if (val == null || val.isEmpty) {
return FFLocalizations.of(context).getText(
'i8mpw0ks' /* Field is required */,
);
}
return null;
}
// State field(s) for new_password_confirmation widget.
FocusNode? newPasswordConfirmationFocusNode;
TextEditingController? newPasswordConfirmationController;
late bool newPasswordConfirmationVisibility;
String? Function(BuildContext, String?)?
newPasswordConfirmationControllerValidator;
String? _newPasswordConfirmationControllerValidator(
BuildContext context, String? val) {
if (val == null || val.isEmpty) {
return FFLocalizations.of(context).getText(
'jsim05nr' /* Field is required */,
);
}
return null;
}
// Stores action output result for [Backend Call - API (change password)] action in Button widget.
ApiCallResponse? apiResultqep;
// State field(s) for Expandable widget.
late ExpandableController expandableController;
// Model for NavBar1 component.
late NavBar1Model navBar1Model;
// Model for appbar component.
late AppbarModel appbarModel;
/// Initialization and disposal methods.
void initState(BuildContext context) {
passwordVisibility = false;
passwordControllerValidator = _passwordControllerValidator;
newPasswordVisibility = false;
newPasswordControllerValidator = _newPasswordControllerValidator;
newPasswordConfirmationVisibility = false;
newPasswordConfirmationControllerValidator =
_newPasswordConfirmationControllerValidator;
navBar1Model = createModel(context, () => NavBar1Model());
appbarModel = createModel(context, () => AppbarModel());
}
void dispose() {
unfocusNode.dispose();
tabBarController?.dispose();
passwordFocusNode?.dispose();
passwordController?.dispose();
newPasswordFocusNode?.dispose();
newPasswordController?.dispose();
newPasswordConfirmationFocusNode?.dispose();
newPasswordConfirmationController?.dispose();
expandableController.dispose();
navBar1Model.dispose();
appbarModel.dispose();
}
/// Action blocks are added here.
/// Additional helper methods are added here.
}