buildKanban function

Widget buildKanban({
  1. required String id,
  2. required Map<String, dynamic> props,
})

Implementation

Widget buildKanban({
  required String id,
  required Map<String, dynamic> props,
}) {
  final columns = mapsOf(props['columns']);
  final rows = mapsOf(props['rows']);
  final title = props['title']?.toString();
  return Column(
    key: ValueKey(id),
    crossAxisAlignment: CrossAxisAlignment.start,
    children: [
      if (title != null && title.isNotEmpty) Text(title),
      Row(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          for (final column in columns)
            Expanded(
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  Text(column['title']?.toString() ?? column['id']?.toString() ?? ''),
                  for (final row in rows.where((card) => card['columnId'] == column['id']))
                    Text(row['title']?.toString() ?? row['label']?.toString() ?? ''),
                ],
              ),
            ),
        ],
      ),
    ],
  );
}