conditional_parent_widget

Conditionally wrap a subtree with a parent widget without breaking the code tree.

  • condition: the condition depending on which the subtree child is wrapped with the parent.
  • child: The subtree that should always be build.
  • parentBuilder: builds the parent with the subtree child iff condition is true.

Usage:

 return ConditionalParentWidget(
   condition: shouldIncludeParent,
   child: Widget1(
     child: Widget2(
       child: Widget3(),
     ),
   ),
   parentBuilder: (Widget child) => SomeParentWidget(child: child),
);

Instead of:

 Widget child = Widget1(
   child: Widget2(
     child: Widget3(),
   ),
 );
///
 return shouldIncludeParent ? SomeParentWidget(child: child) : child;

Libraries

conditional_parent_widget