MathFormField constructor

MathFormField({
  1. Key? key,
  2. MathFieldEditingController? controller,
  3. FocusNode? focusNode,
  4. InputDecoration decoration = const InputDecoration(),
  5. MathKeyboardType keyboardType = MathKeyboardType.expression,
  6. List<String> variables = const [],
  7. bool autofocus = false,
  8. ValueChanged<String>? onChanged,
  9. ValueChanged<String>? onFieldSubmitted,
  10. AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  11. FormFieldValidator<String>? validator,
})

Creates a FormField that contains a MathField.

Implementation

MathFormField({
  Key? key,
  this.controller,
  FocusNode? focusNode,
  InputDecoration decoration = const InputDecoration(),
  MathKeyboardType keyboardType = MathKeyboardType.expression,
  List<String> variables = const [],
  bool autofocus = false,
  ValueChanged<String>? onChanged,
  ValueChanged<String>? onFieldSubmitted,
  AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  FormFieldValidator<String>? validator,
}) : super(
        key: key,
        initialValue:
            controller != null ? controller.currentEditingValue() : '',
        validator: validator,
        autovalidateMode: autovalidateMode,
        builder: (FormFieldState<String> field) {
          final state = field as _MathFormFieldState;

          void onChangedHandler(String value) {
            field.didChange(value);
            if (onChanged != null) {
              onChanged(value);
            }
          }

          return MathField(
            controller: state._controller,
            focusNode: focusNode,
            decoration: decoration.copyWith(errorText: field.errorText),
            keyboardType: keyboardType,
            variables: variables,
            autofocus: autofocus,
            onChanged: onChangedHandler,
            onSubmitted: onFieldSubmitted,
          );
        },
      );