listFrom<R, E> static method

List<S2Choice<R>> listFrom<R, E>({
  1. required List<E> source,
  2. required S2OptionProp<E, R> value,
  3. required S2OptionProp<E, String> title,
  4. S2OptionProp<E, String>? subtitle,
  5. S2OptionProp<E, String>? group,
  6. S2OptionProp<E, bool>? disabled,
  7. S2OptionProp<E, bool>? hidden,
  8. S2OptionProp<E, dynamic>? meta,
  9. S2OptionProp<E, S2ChoiceStyle>? style,
  10. S2OptionProp<E, S2ChoiceStyle>? activeStyle,
})

Helper to create option list from any list

Implementation

static List<S2Choice<R>> listFrom<R, E>({
  required List<E> source,
  required S2OptionProp<E, R> value,
  required S2OptionProp<E, String> title,
  S2OptionProp<E, String>? subtitle,
  S2OptionProp<E, String>? group,
  S2OptionProp<E, bool>? disabled,
  S2OptionProp<E, bool>? hidden,
  S2OptionProp<E, dynamic>? meta,
  S2OptionProp<E, S2ChoiceStyle>? style,
  S2OptionProp<E, S2ChoiceStyle>? activeStyle,
}) =>
    source
        .asMap()
        .map((index, item) => MapEntry(
            index,
            S2Choice<R>(
              value: value.call(index, item),
              title: title.call(index, item),
              subtitle: subtitle?.call(index, item),
              group: group?.call(index, item),
              disabled: disabled?.call(index, item) ?? false,
              hidden: hidden?.call(index, item) ?? false,
              meta: meta?.call(index, item),
              style: style?.call(index, item),
              activeStyle: activeStyle?.call(index, item),
            )))
        .values
        .toList();