build method
Build a widget for the specified node
.
the widget is embedded in a BlockComponentContainer widget.
the header and the footer only works for the root node.
Implementation
@override
Widget build(
BuildContext buildContext,
Node node, {
Widget? header,
Widget? footer,
}) {
final blockComponentContext = BlockComponentContext(
buildContext,
node,
header: header,
footer: footer,
);
final errorBuilder = _builders[errorBlockComponentBuilderKey];
final builder = blockComponentBuilder(node.type);
if (builder == null || !builder.validate(node)) {
if (errorBuilder != null) {
return BlockComponentContainer(
node: node,
configuration: errorBuilder.configuration,
builder: (_) => errorBuilder.build(blockComponentContext),
);
} else {
return _buildPlaceHolderWidget(blockComponentContext);
}
}
return BlockComponentContainer(
node: node,
configuration: builder.configuration,
builder: (_) => builder.build(blockComponentContext),
);
}