Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,16 @@ class PassiveRectangleWidget extends StatelessWidget {
Widget build(BuildContext context) {
final ScopedValues scopedValues = ScopedValues.of(context);

// final BaseNode? parent = node.id == kRootNode || node.parentID == kRootNode
// ? null
// : getNode(node.parentID);
final BaseNode? parent = node.id == kRootNode || node.parentID == kRootNode
? null
: manager.getNode(node.parentID);
bool isPlaceholder =
parent is CanvasNode && parent.properties.bodyId == node.id;

/// TODO Birju / Saad. Why does the commented out parent code below break published layouts only?
/// Saad's note: The below code looks like AdaptiveNodeBox
final double? width = (node.horizontalFit == SizeFit.shrinkWrap)
final double? width = (node.horizontalFit == SizeFit.shrinkWrap ||
isPlaceholder)
? null
: (node.horizontalFit ==
SizeFit
Expand All @@ -89,7 +92,8 @@ class PassiveRectangleWidget extends StatelessWidget {
? double.infinity
: node.basicBoxLocal.width;

final double? height = (node.verticalFit == SizeFit.shrinkWrap)
final double? height = (node.verticalFit == SizeFit.shrinkWrap ||
isPlaceholder)
? null
: (node.verticalFit ==
SizeFit
Expand Down Expand Up @@ -138,25 +142,11 @@ class PassiveRectangleWidget extends StatelessWidget {
...buildFills(
node,
useInk: false,
// useInk: node is BlendMixin &&
// (node as BlendMixin).inkWell != null &&
// settings.useInk,
obscureImages: settings.obscureImages,
settings: settings,
scopedValues: scopedValues,
),
...buildStrokes(node, scopedValues),
// old
// ...wrapWithPaddingAndScroll(
// node,
// [
// ...children,
// if (portalWidget != null) portalWidget,
// ],
// stackAlignment: stackAlignment,
// applyPadding: applyPadding,
// ),

...wrapWithInkWell(
context,
node,
Expand All @@ -170,37 +160,6 @@ class PassiveRectangleWidget extends StatelessWidget {
applyPadding: applyPadding,
),
),

// Builder(builder: (context) {
// final child = Stack(
// children: [
// ...wrapWithPaddingAndScroll(
// node,
// [
// ...children,
// if (portalWidget != null) portalWidget,
// ],
// stackAlignment: stackAlignment,
// applyPadding: applyPadding,
// ),
// ],
// );
//
// if (node is BlendMixin && (node as BlendMixin).inkWell != null) {
// return Material(
// type: MaterialType.transparency,
// child: InkWell(
// onLongPress: () {},
// onTap: () {
// // TODO:
// },
// child: child,
// ),
// );
// }
//
// return child;
// }),
],
),
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class PassiveRowColumnTransformer extends NodeWidgetTransformer<RowColumnNode> {
required List<Widget> childrenWidgets,
required List<BaseNode> childrenNodes,
required bool withScroll,
required GetNode getNode,
}) {
assert(rowColumnNode is RowColumnMixin);

Expand All @@ -27,8 +28,22 @@ class PassiveRowColumnTransformer extends NodeWidgetTransformer<RowColumnNode> {
} else if (rowColumnNode.verticalFit == SizeFit.shrinkWrap) {
fixHeight = rowColumnNode.constraints.minHeight;
} else {
fixHeight = rowColumnNode.constraints.maxHeight ?? double.infinity;
// If the node is a canvas node's body, it is likely a placeholder that
// expands to fill all available space, while the canvas is already meant
// to do that as a scroll view. In this case, we avoid setting the height
// to infinity at all costs.
final BaseNode? parent = rowColumnNode.parentID == kRootNode
? null
: getNode(rowColumnNode.parentID);
bool isPlaceholder =
parent is CanvasNode && parent.properties.bodyId == rowColumnNode.id;
if (isPlaceholder) {
fixHeight = rowColumnNode.constraints.minHeight;
} else {
fixHeight = rowColumnNode.constraints.maxHeight ?? double.infinity;
}
}

if (rowColumnNode.horizontalFit == SizeFit.locked ||
rowColumnNode.horizontalFit == SizeFit.fixed) {
fixWidth = rowColumnNode.outerBoxLocal.width;
Expand Down Expand Up @@ -302,6 +317,7 @@ class PassiveRowColumnWidget extends StatelessWidget {
childrenWidgets: widgetChildren,
childrenNodes: children,
withScroll: true,
getNode: manager.getNode,
)
],
settings: settings,
Expand All @@ -311,6 +327,7 @@ class PassiveRowColumnWidget extends StatelessWidget {
childrenWidgets: widgetChildren,
childrenNodes: children,
withScroll: true,
getNode: manager.getNode,
);

if (kIsTestLayout) {
Expand Down
2 changes: 0 additions & 2 deletions lib/src/transformers/passive_transformer_manager.dart
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,6 @@ class PassiveNodeTransformerManager extends WidgetNodeTransformerManager {
context,
node: node,
builder: (context) {
if (!node.enabled) return const SizedBox.shrink();

Widget widget =
getTransformerByNode(node).buildWidget(node, context, settings);

Expand Down