Skip to content

Commit 895dc19

Browse files
authored
refactor(core)!: rename viewport and zoom-pane css classes (#1589)
refactor(core): rename viewport and zoom-pane css classes Signed-off-by: braks <[email protected]>
1 parent 24a7abd commit 895dc19

File tree

6 files changed

+23
-31
lines changed

6 files changed

+23
-31
lines changed

packages/core/src/components/Handle/Handle.vue

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const {
2323
connectionStartHandle,
2424
connectionClickStartHandle,
2525
connectionEndHandle,
26-
vueFlowRef,
26+
viewportRef,
2727
nodesConnectable,
2828
noDragClassName,
2929
noPanClassName,
@@ -106,21 +106,15 @@ onMounted(() => {
106106
107107
const existingBounds = node.handleBounds[type.value]?.find((b) => b.id === handleId)
108108
109-
if (!vueFlowRef.value || existingBounds) {
110-
return
111-
}
112-
113-
const viewportNode = vueFlowRef.value.querySelector('.vue-flow__transformationpane')
114-
115-
if (!nodeEl.value || !handle.value || !viewportNode || !handleId) {
109+
if (!nodeEl.value || !handle.value || !viewportRef.value || !handleId || existingBounds) {
116110
return
117111
}
118112
119113
const nodeBounds = nodeEl.value.getBoundingClientRect()
120114
121115
const handleBounds = handle.value.getBoundingClientRect()
122116
123-
const style = window.getComputedStyle(viewportNode)
117+
const style = window.getComputedStyle(viewportRef.value)
124118
const { m22: zoom } = new window.DOMMatrixReadOnly(style.transform)
125119
126120
const nextBounds = {

packages/core/src/container/Viewport/Viewport.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ const transform = computed(() => `translate(${viewport.value.x}px,${viewport.val
1717

1818
<script lang="ts">
1919
export default {
20-
name: 'Transform',
20+
name: 'Viewport',
2121
compatConfig: { MODE: 3 },
2222
}
2323
</script>
2424

2525
<template>
26-
<div class="vue-flow__transformationpane vue-flow__container" :style="{ transform, opacity: isHidden ? 0 : undefined }">
26+
<div class="vue-flow__viewport vue-flow__container" :style="{ transform, opacity: isHidden ? 0 : undefined }">
2727
<slot />
2828
</div>
2929
</template>

packages/core/src/container/ZoomPane/ZoomPane.vue

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,15 @@ export default {
138138
</script>
139139

140140
<template>
141-
<div ref="zoomPane" :key="`viewport-${id}`" class="vue-flow__viewport vue-flow__container">
141+
<div ref="zoomPane" :key="`viewport-${id}`" class="vue-flow__zoom-pane vue-flow__container">
142142
<Pane
143143
:is-selecting="isSelecting"
144144
:selection-key-pressed="selectionKeyPressed"
145-
:class="{ connecting: !!connectionStartHandle, dragging: paneDragging, draggable: shouldPanOnDrag }"
145+
:class="{
146+
connecting: !!connectionStartHandle,
147+
dragging: paneDragging,
148+
draggable: panOnDrag === true || (Array.isArray(panOnDrag) && panOnDrag.includes(0)),
149+
}"
146150
>
147151
<Viewport>
148152
<EdgeRenderer />

packages/core/src/store/actions.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,17 +116,11 @@ export function useActions(state: State, nodeLookup: ComputedRef<NodeLookup>, ed
116116
}
117117

118118
const updateNodeDimensions: Actions['updateNodeDimensions'] = (updates) => {
119-
if (!state.vueFlowRef) {
119+
if (!state.viewportRef) {
120120
return
121121
}
122122

123-
const viewportNode = state.vueFlowRef.querySelector('.vue-flow__transformationpane') as HTMLElement
124-
125-
if (!viewportNode) {
126-
return
127-
}
128-
129-
const style = window.getComputedStyle(viewportNode)
123+
const style = window.getComputedStyle(state.viewportRef)
130124
const { m22: zoom } = new window.DOMMatrixReadOnly(style.transform)
131125

132126
const changes: NodeDimensionChange[] = []

packages/core/src/style.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@
3131
}
3232
}
3333

34-
.vue-flow__transformationpane {
34+
.vue-flow__viewport {
3535
transform-origin: 0 0;
3636
z-index: 2;
3737
pointer-events: none;
3838
}
3939

40-
.vue-flow__viewport {
40+
.vue-flow__zoom-pane {
4141
z-index: 4;
4242
overflow: clip;
4343
}

tests/cypress/support/component.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ function mountVueFlow(props?: FlowProps, attrs?: Record<string, any>, slots?: Re
2525
})
2626
}
2727

28-
function useViewPort() {
29-
return cy.get('.vue-flow__viewport')
28+
function useZoomPane() {
29+
return cy.get('.vue-flow__zoom-pane')
3030
}
3131

32-
function useTransformationPane() {
33-
return cy.get('.vue-flow__transformationpane')
32+
function useViewport() {
33+
return cy.get('.vue-flow__viewport')
3434
}
3535

3636
function retry(assertion: Function, { interval = 20, timeout = 1000 } = {}) {
@@ -95,8 +95,8 @@ declare global {
9595
interface Chainable {
9696
mount: typeof mount
9797
vueFlow: typeof mountVueFlow
98-
viewPort: typeof useViewPort
99-
transformationPane: typeof useTransformationPane
98+
viewPort: typeof useZoomPane
99+
transformationPane: typeof useViewport
100100
tryAssertion: typeof retry
101101
connect: typeof connect
102102
dragConnection: typeof dragConnection
@@ -108,9 +108,9 @@ Cypress.Commands.add('mount', mount)
108108

109109
Cypress.Commands.add('vueFlow', mountVueFlow)
110110

111-
Cypress.Commands.add('viewPort', useViewPort)
111+
Cypress.Commands.add('viewPort', useZoomPane)
112112

113-
Cypress.Commands.add('transformationPane', useTransformationPane)
113+
Cypress.Commands.add('transformationPane', useViewport)
114114

115115
Cypress.Commands.add('tryAssertion', retry)
116116

0 commit comments

Comments
 (0)