buildCustom method

  1. @override
Widget buildCustom({
  1. ChildWidgetBuilder? childBuilder,
  2. required BuildContext context,
  3. required JsonWidgetData data,
  4. Key? key,
})
override

Custom builder that subclasses must override and implement to return the actual Widget to be placed on the tree.

Implementation

@override
Widget buildCustom({
  ChildWidgetBuilder? childBuilder,
  required BuildContext context,
  required JsonWidgetData data,
  Key? key,
}) {
  return LayoutBuilder(
      key: key,
      builder: (BuildContext context, BoxConstraints constraints) {
        var id = data.id;

        data.registry.setValue('$id.maxHeight', constraints.maxHeight);
        data.registry.setValue('$id.maxWidth', constraints.maxWidth);
        data.registry.setValue('$id.minHeight', constraints.minHeight);
        data.registry.setValue('$id.minWidth', constraints.minWidth);

        var child = getChild(data);

        return data.children?.length != 1
            ? SizedBox()
            : child.build(
                childBuilder: childBuilder,
                context: context,
              );
      });
}