resolveEntries static method
List<Widget>
resolveEntries(
- List<
WidgetEntry> entries, { - ColorScheme? hostColorScheme,
- OnWidgetDismiss? onDismiss,
- OnWidgetAction? onAction,
Resolve a list of WidgetEntry into Flutter widgets.
Priority for ColorScheme (highest wins):
- Per-widget
color_palettefrom agent JSON hostColorSchemepassed by the developer- The ambient Theme from context
Implementation
static List<Widget> resolveEntries(
List<WidgetEntry> entries, {
ColorScheme? hostColorScheme,
OnWidgetDismiss? onDismiss,
OnWidgetAction? onAction,
}) {
final widgets = <Widget>[];
for (final entry in entries) {
final child = WidgetRegistry.build(entry.type, entry.params);
if (child == null) continue;
// Per-widget color scheme from agent JSON takes priority,
// then the host's color scheme passed by the developer.
final effectiveColorScheme =
entry.common.colorScheme ?? hostColorScheme;
Widget wrapped = ResponsiveWidgetWrapper(
layout: entry.common.layout,
themeOverride: entry.common.themeOverride,
colorScheme: effectiveColorScheme,
child: child,
);
if (entry.common.dismissible && onDismiss != null) {
wrapped = Dismissible(
key: ValueKey(entry.id),
onDismissed: (_) => onDismiss(entry.id),
child: wrapped,
);
}
widgets.add(wrapped);
}
return widgets;
}