Skip to content

Commit 53876a3

Browse files
committed
fix: stack error in node positioning
1 parent a2c8862 commit 53876a3

1 file changed

Lines changed: 36 additions & 40 deletions

File tree

lib/core/widgets/nodes/node.dart

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -208,46 +208,42 @@ class Node extends StatelessWidget {
208208
return Consumer<WorkspaceProvider>(
209209
builder: (context, wp, child) {
210210
final nodePosition = wp.nodeList[id]?.position ?? Offset.zero;
211-
return Positioned(
212-
left: nodePosition.dx,
213-
top: nodePosition.dy,
214-
child: GestureDetector(
215-
onTap: () => wp.changeSelected(id),
216-
onPanStart: (details) {
217-
if (!wp.nodeList[id]!.isSelected) {
218-
wp.changeSelected(id);
219-
}
220-
},
221-
onPanUpdate: (details) {
222-
if (!wp.nodeList[id]!.isSelected || wp.isPanning) return;
223-
224-
final scaleFactor = wp.scale;
225-
final adjustedDelta = details.delta / scaleFactor;
226-
final newPosition = nodePosition + adjustedDelta;
227-
wp.dragNode(id, newPosition);
228-
},
229-
onPanEnd: (details) {
230-
onDrag(nodePosition);
231-
},
232-
child: Stack(
233-
clipBehavior: Clip.none,
234-
children: [
235-
Padding(
236-
padding: const EdgeInsets.all(20),
237-
child: wp.buildNode(id, type),
238-
),
239-
if (wp.nodeList[id]!.isSelected) ...[
240-
_buildResizeHandle(context, ResizeHandle.topLeft, wp),
241-
_buildResizeHandle(context, ResizeHandle.topRight, wp),
242-
_buildResizeHandle(context, ResizeHandle.bottomLeft, wp),
243-
_buildResizeHandle(context, ResizeHandle.bottomRight, wp),
244-
_buildConnectionPoints(context, ConnectionPoint.top, id, wp),
245-
_buildConnectionPoints(context, ConnectionPoint.right, id, wp),
246-
_buildConnectionPoints(context, ConnectionPoint.bottom, id, wp),
247-
_buildConnectionPoints(context, ConnectionPoint.left, id, wp),
248-
]
249-
],
250-
),
211+
return GestureDetector(
212+
onTap: () => wp.changeSelected(id),
213+
onPanStart: (details) {
214+
if (!wp.nodeList[id]!.isSelected) {
215+
wp.changeSelected(id);
216+
}
217+
},
218+
onPanUpdate: (details) {
219+
if (!wp.nodeList[id]!.isSelected || wp.isPanning) return;
220+
221+
final scaleFactor = wp.scale;
222+
final adjustedDelta = details.delta / scaleFactor;
223+
final newPosition = nodePosition + adjustedDelta;
224+
wp.dragNode(id, newPosition);
225+
},
226+
onPanEnd: (details) {
227+
onDrag(nodePosition);
228+
},
229+
child: Stack(
230+
clipBehavior: Clip.none,
231+
children: [
232+
Padding(
233+
padding: const EdgeInsets.all(20),
234+
child: wp.buildNode(id, type),
235+
),
236+
if (wp.nodeList[id]!.isSelected) ...[
237+
_buildResizeHandle(context, ResizeHandle.topLeft, wp),
238+
_buildResizeHandle(context, ResizeHandle.topRight, wp),
239+
_buildResizeHandle(context, ResizeHandle.bottomLeft, wp),
240+
_buildResizeHandle(context, ResizeHandle.bottomRight, wp),
241+
_buildConnectionPoints(context, ConnectionPoint.top, id, wp),
242+
_buildConnectionPoints(context, ConnectionPoint.right, id, wp),
243+
_buildConnectionPoints(context, ConnectionPoint.bottom, id, wp),
244+
_buildConnectionPoints(context, ConnectionPoint.left, id, wp),
245+
]
246+
],
251247
),
252248
);
253249
},

0 commit comments

Comments
 (0)