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();