segmentedButtonBuilder<T> function

Widget segmentedButtonBuilder<T>(
  1. FormFieldState<Set<T>> field
)

Implementation

Widget segmentedButtonBuilder<T>(FormFieldState<Set<T>> field) {
  field as FastSegmentedButtonState<T>;
  final FastSegmentedButtonState<T>(:didChange, :value!, :widget) = field;

  final segmentedButton = SegmentedButton<T>(
    emptySelectionAllowed: widget.emptySelectionAllowed,
    multiSelectionEnabled: widget.multiSelectionEnabled,
    segments: widget.segmentsBuilder(widget.segments, field),
    selectedIcon: widget.selectedIcon,
    selected: value,
    showSelectedIcon: widget.showSelectedIcon,
    style: widget.style,
    onSelectionChanged: (newSelection) => didChange(newSelection),
  );

  if (widget.showInputDecoration) {
    return InputDecorator(
      decoration: field.decoration,
      child: segmentedButton,
    );
  }

  return segmentedButton;
}