Skip to content

Commit 75b1a69

Browse files
committed
fix(node-resizer): wait for node to be initialised before enforcing min/max size
1 parent dcb02cb commit 75b1a69

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

packages/node-resizer/src/NodeResizer.vue

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,41 +27,43 @@ const contextNodeId = inject(NodeIdInjection, null)
2727
2828
const id = computed(() => (typeof props.nodeId === 'string' ? props.nodeId : contextNodeId))
2929
30+
const node = computed(() => findNode(id.value))
31+
3032
watch(
31-
[() => props.minWidth, () => props.minHeight, () => props.maxWidth, () => props.maxHeight],
32-
([minWidth, minHeight, maxWidth, maxHeight]) => {
33-
const node = findNode(id.value)
33+
[() => props.minWidth, () => props.minHeight, () => props.maxWidth, () => props.maxHeight, () => node.value?.initialized],
34+
([minWidth, minHeight, maxWidth, maxHeight, isInitialized]) => {
35+
const n = node.value
3436
35-
if (node) {
37+
if (n && isInitialized) {
3638
const dimensionChange: NodeDimensionChange = {
37-
id: node.id,
39+
id: n.id,
3840
type: 'dimensions',
3941
updateStyle: true,
4042
dimensions: {
41-
width: node.dimensions.width,
42-
height: node.dimensions.height,
43+
width: n.dimensions.width,
44+
height: n.dimensions.height,
4345
},
4446
}
4547
46-
if (minWidth && node.dimensions.width < minWidth) {
48+
if (minWidth && n.dimensions.width < minWidth) {
4749
dimensionChange.dimensions!.width = minWidth
4850
}
4951
50-
if (minHeight && node.dimensions.height < minHeight) {
52+
if (minHeight && n.dimensions.height < minHeight) {
5153
dimensionChange.dimensions!.height = minHeight
5254
}
5355
54-
if (maxWidth && node.dimensions.width > maxWidth) {
56+
if (maxWidth && n.dimensions.width > maxWidth) {
5557
dimensionChange.dimensions!.width = maxWidth
5658
}
5759
58-
if (maxHeight && node.dimensions.height > maxHeight) {
60+
if (maxHeight && n.dimensions.height > maxHeight) {
5961
dimensionChange.dimensions!.height = maxHeight
6062
}
6163
6264
if (
63-
dimensionChange.dimensions!.width !== node.dimensions.width ||
64-
dimensionChange.dimensions!.height !== node.dimensions.height
65+
dimensionChange.dimensions!.width !== n.dimensions.width ||
66+
dimensionChange.dimensions!.height !== n.dimensions.height
6567
) {
6668
triggerEmits.nodesChange([dimensionChange])
6769
}

0 commit comments

Comments
 (0)