buttonSegmentBuilder<T> function

List<ButtonSegment<T>> buttonSegmentBuilder<T>(
  1. List<FastButtonSegment<T>> segments,
  2. FastSegmentedButtonState<T> field
)

Implementation

List<ButtonSegment<T>> buttonSegmentBuilder<T>(
    List<FastButtonSegment<T>> segments, FastSegmentedButtonState<T> field) {
  return segments.fold(<ButtonSegment<T>>[], (list, segment) {
    final FastButtonSegment<T>(:enabled, :icon, :label, :tooltip, :value) =
        segment;
    final FastSegmentedButtonState<T>(enabled: fieldEnabled) = field;
    return list
      ..add(ButtonSegment(
        enabled: fieldEnabled && enabled,
        label: label,
        icon: icon,
        tooltip: tooltip,
        value: value,
      ));
  });
}