From 3f0b0dbd705800b3f571e102deeed6cc1a87f26a Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Fri, 10 Dec 2021 22:25:36 +0100 Subject: [PATCH] feat(nodes): nested boundaries Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com> --- examples/Nesting/GroupNode.vue | 1 - examples/Nesting/Nesting.vue | 11 +- src/components/Nodes/NodeWrapper.vue | 145 +++++++++++++++------------ src/store/actions.ts | 4 +- src/types/flow.ts | 2 + src/types/node.ts | 12 ++- src/utils/graph.ts | 73 +++++++++----- vite.config.ts | 26 ++--- 8 files changed, 165 insertions(+), 109 deletions(-) diff --git a/examples/Nesting/GroupNode.vue b/examples/Nesting/GroupNode.vue index a7b84d9d..9eec60ca 100644 --- a/examples/Nesting/GroupNode.vue +++ b/examples/Nesting/GroupNode.vue @@ -19,7 +19,6 @@ store.hooks.nodeDragStop.on(({ node }) => { node.data.label = `In ${props.id}` node.data.group = props.id } else if (node.data.group === props.id) { - console.log(node) node.data.group = undefined node.data.label = node.id } diff --git a/examples/Nesting/Nesting.vue b/examples/Nesting/Nesting.vue index 7c463a2c..4d756a5e 100644 --- a/examples/Nesting/Nesting.vue +++ b/examples/Nesting/Nesting.vue @@ -3,12 +3,17 @@ import GroupNode from './GroupNode.vue' import { VueFlow, Elements, Node, Edge, Connection, addEdge } from '~/index' const elements = ref>([ - { id: 'node-1', data: { label: 'node-1', group: undefined }, position: { x: 250, y: 5 } }, + { + id: 'node-1', + data: { label: 'node-1', group: undefined }, + position: { x: 250, y: 5 }, + parentNode: 'group-a', + extent: 'parent', + }, { id: 'node-2', data: { label: 'node-2', group: undefined }, position: { x: 50, y: 5 } }, { id: 'group-a', - type: 'group-a', - style: { zIndex: 2 }, + style: { zIndex: 2, width: '300px', height: '300px' }, selectable: false, data: { label: 'A' }, position: { x: 50, y: 100 }, diff --git a/src/components/Nodes/NodeWrapper.vue b/src/components/Nodes/NodeWrapper.vue index b19ce637..90a9a576 100644 --- a/src/components/Nodes/NodeWrapper.vue +++ b/src/components/Nodes/NodeWrapper.vue @@ -1,9 +1,9 @@