ReactiveCheckbox constructor

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

Create an instance of a ReactiveCheckbox.

The formControlName arguments must not be null.

Implementation

ReactiveCheckbox({
  Key? key,
  String? formControlName,
  FormControl<bool>? formControl,
  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,
        builder: (field) {
          final state = field as _ReactiveCheckboxState<bool, 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,
          );
        },
      );