ReactiveCheckbox<T> constructor

ReactiveCheckbox<T>(
  1. {Key? key,
  2. String? formControlName,
  3. FormControl<T>? formControl,
  4. ControlValueAccessor<T, bool>? valueAccessor,
  5. bool tristate = false,
  6. Color? activeColor,
  7. Color? checkColor,
  8. Color? focusColor,
  9. Color? hoverColor,
  10. MouseCursor? mouseCursor,
  11. MaterialTapTargetSize? materialTapTargetSize,
  12. VisualDensity? visualDensity,
  13. bool autofocus = false,
  14. MaterialStateProperty<Color?>? fillColor,
  15. MaterialStateProperty<Color?>? overlayColor,
  16. double? splashRadius,
  17. FocusNode? focusNode,
  18. OutlinedBorder? shape,
  19. BorderSide? side}
)

Create an instance of a ReactiveCheckbox.

The formControlName arguments must not be null.

Implementation

ReactiveCheckbox({
  Key? key,
  String? formControlName,
  FormControl<T>? formControl,
  ControlValueAccessor<T, bool>? valueAccessor,
  // Map<String, ValidationMessageFunction>? validationMessages,
  // ShowErrorsFunction<T>? showErrors,

  ////////////////////////////////////////////////////////////////////////////
  bool tristate = false,
  Color? activeColor,
  Color? checkColor,
  Color? focusColor,
  Color? hoverColor,
  MouseCursor? mouseCursor,
  MaterialTapTargetSize? materialTapTargetSize,
  VisualDensity? visualDensity,
  bool autofocus = false,
  MaterialStateProperty<Color?>? fillColor,
  MaterialStateProperty<Color?>? overlayColor,
  double? splashRadius,
  FocusNode? focusNode,
  OutlinedBorder? shape,
  BorderSide? side,
}) : super(
        key: key,
        formControl: formControl,
        formControlName: formControlName,
        valueAccessor: valueAccessor,
        builder: (field) {
          final state = field as _ReactiveCheckboxState<T, bool>;

          state._setFocusNode(focusNode);

          return Checkbox(
            value: tristate ? field.value : field.value ?? false,
            tristate: tristate,
            onChanged: field.control.enabled ? field.didChange : null,
            mouseCursor: mouseCursor,
            activeColor: activeColor,
            checkColor: checkColor,
            focusColor: focusColor,
            hoverColor: hoverColor,
            materialTapTargetSize: materialTapTargetSize,
            visualDensity: visualDensity,
            autofocus: autofocus,
            fillColor: fillColor,
            overlayColor: overlayColor,
            splashRadius: splashRadius,
            focusNode: state.focusNode,
            shape: shape,
            side: side,
          );
        },
      );