defaultItemBuilder<T, K> static method
ListItemBuilder<T, K>
defaultItemBuilder<T, K>(
- TListCardTheme? theme,
- ItemTextAccessor<
T> ? itemTitle, - ItemTextAccessor<
T> ? itemSubTitle, - ItemTextAccessor<
T> ? itemImageUrl, - ListItemTap<
T, K> ? onTap,
Implementation
static ListItemBuilder<T, K> defaultItemBuilder<T, K>(
TListCardTheme? theme,
ItemTextAccessor<T>? itemTitle,
ItemTextAccessor<T>? itemSubTitle,
ItemTextAccessor<T>? itemImageUrl,
ListItemTap<T, K>? onTap,
) {
return (ctx, item, index) {
final controller = TListScope.of(ctx).controller as TListController<T, K>;
return TListCard(
title: itemTitle?.call(item.data) ?? '',
subTitle: itemSubTitle?.call(item.data),
imageUrl: itemImageUrl?.call(item.data),
isSelected: controller.isSelected(item.key),
isExpanded: controller.isExpanded(item.key),
level: item.level,
theme: theme,
multiple: controller.isMultiSelect,
hasChildren: item.hasChildren,
onTap: () {
if (item.hasChildren) {
controller.toggleExpansion(item.key);
}
onTap?.call(item);
},
);
};
}