import '/components/appbar_widget.dart';
import '/components/nav_bar1_widget.dart';
import '/flutterlib/flutter_drop_down.dart';
import '/flutterlib/flutter_icon_button.dart';
import '/flutterlib/flutter_theme.dart';
import '/flutterlib/flutter_util.dart';
import '/flutterlib/flutter_widgets.dart';
import '/flutterlib/form_field_controller.dart';
import 'search_page_widget.dart' show SearchPageWidget;
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';

class SearchPageModel extends FlutterModel<SearchPageWidget> {
  ///  State fields for stateful widgets in this page.

  final unfocusNode = FocusNode();
  // State field(s) for DropDown widget.
  String? dropDownValue1;
  FormFieldController<String>? dropDownValueController1;
  // State field(s) for status widget.
  String? statusValue;
  FormFieldController<String>? statusValueController;
  // State field(s) for TextField widget.
  FocusNode? textFieldFocusNode;
  TextEditingController? textController1;
  String? Function(BuildContext, String?)? textController1Validator;
  // State field(s) for DropDown widget.
  String? dropDownValue2;
  FormFieldController<String>? dropDownValueController2;
  // State field(s) for category_id122 widget.
  String? categoryId122Value;
  FormFieldController<String>? categoryId122ValueController;
  // State field(s) for status122 widget.
  String? status122Value;
  FormFieldController<String>? status122ValueController;
  // State field(s) for search122 widget.
  FocusNode? search122FocusNode;
  TextEditingController? search122Controller;
  String? Function(BuildContext, String?)? search122ControllerValidator;
  // State field(s) for fix_date122 widget.
  String? fixDate122Value;
  FormFieldController<String>? fixDate122ValueController;
  DateTime? datePicked1;
  // State field(s) for afterdate widget.
  FocusNode? afterdateFocusNode;
  TextEditingController? afterdateController;
  String? Function(BuildContext, String?)? afterdateControllerValidator;
  DateTime? datePicked2;
  // State field(s) for beforedate widget.
  FocusNode? beforedateFocusNode;
  TextEditingController? beforedateController;
  String? Function(BuildContext, String?)? beforedateControllerValidator;
  // Model for NavBar1 component.
  late NavBar1Model navBar1Model;
  // Model for appbar component.
  late AppbarModel appbarModel;

  /// Initialization and disposal methods.

  void initState(BuildContext context) {
    navBar1Model = createModel(context, () => NavBar1Model());
    appbarModel = createModel(context, () => AppbarModel());
  }

  void dispose() {
    unfocusNode.dispose();
    textFieldFocusNode?.dispose();
    textController1?.dispose();

    search122FocusNode?.dispose();
    search122Controller?.dispose();

    afterdateFocusNode?.dispose();
    afterdateController?.dispose();

    beforedateFocusNode?.dispose();
    beforedateController?.dispose();

    navBar1Model.dispose();
    appbarModel.dispose();
  }

  /// Action blocks are added here.

  /// Additional helper methods are added here.
}
