buildAndJoinWidgets<T> static method

List<Widget> buildAndJoinWidgets<T>({
  1. required List<T> items,
  2. required Widget widgetBuilder(
    1. T item
    ),
  3. required Widget interleaved,
  4. bool startWithInterleaver = true,
  5. bool endWithInterleaver = true,
  6. Widget? title,
})

Implementation

static List<Widget> buildAndJoinWidgets<T>({required List<T> items,
  required Widget Function(T item) widgetBuilder, required Widget interleaved,
  bool startWithInterleaver = true, bool endWithInterleaver = true,
Widget? title})
{
  List<Widget> ret = [];

  if (title != null) {
    ret.add(title);
  }

  if (startWithInterleaver) {
    ret.add(interleaved);
  }

  for (var i in items) {
    ret.add(widgetBuilder(i));
    ret.add(interleaved);
  }

  if (!endWithInterleaver) {
    if (ret.isNotEmpty)
      ret.removeLast();
  }

  return ret;
}