multiChildStrategy method
Widget
multiChildStrategy(
- BuildContext context,
- Widget multiChild(),
- List<
RegionRegistration> ? data
Implementation
@protected
Widget multiChildStrategy(
BuildContext context, Widget Function(List<Widget> children) multiChild, List<RegionRegistration>? data) {
if (data == null || data.isEmpty) return const SizedBox.shrink();
data.sort((a, b) {
if (a.metadata is! MultiChildMetadata) return 0;
if (b.metadata is! MultiChildMetadata) return 0;
final first = a.metadata as MultiChildMetadata;
final second = b.metadata as MultiChildMetadata;
if (first.order == second.order) return 0;
return (first.order < second.order) ? -1 : 1;
});
return multiChild(data
.map((e) => e.widgetFromRegistration(context, templateChild))
.where((element) => element != null)
.cast<Widget>()
.toList());
}