From 5560949ed1256ccd9be1c58e8f85d88597426d32 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Fri, 7 Apr 2023 21:43:08 +0200 Subject: [PATCH] chore: lint files Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> --- .../core/src/components/Edges/EdgeAnchor.ts | 16 ++++-- .../core/src/components/Edges/EdgeText.vue | 4 +- .../core/src/components/Edges/EdgeWrapper.ts | 8 ++- .../core/src/components/Handle/Handle.vue | 8 ++- .../core/src/components/Nodes/NodeWrapper.ts | 16 ++++-- .../NodesSelection/NodesSelection.vue | 4 +- packages/core/src/composables/useDrag.ts | 8 ++- packages/core/src/composables/useKeyPress.ts | 8 ++- packages/core/src/composables/useViewport.ts | 4 +- packages/core/src/composables/useWindow.ts | 7 ++- .../core/src/composables/useZoomPanHelper.ts | 4 +- .../container/EdgeRenderer/EdgeRenderer.vue | 8 ++- .../EdgeRenderer/MarkerDefinitions.vue | 7 ++- .../container/NodeRenderer/NodeRenderer.vue | 4 +- packages/core/src/container/Pane/Pane.vue | 48 +++++++++++++----- .../core/src/container/Viewport/Viewport.vue | 44 ++++++++++++---- packages/core/src/utils/changes.ts | 35 +++++++++---- packages/core/src/utils/drag.ts | 7 ++- packages/core/src/utils/edge.ts | 4 +- packages/core/src/utils/graph.ts | 50 +++++++++++++++---- packages/core/src/utils/store.ts | 8 ++- packages/core/src/utils/watch.ts | 21 +++++--- packages/minimap/src/MiniMap.vue | 4 +- 23 files changed, 247 insertions(+), 80 deletions(-) diff --git a/packages/core/src/components/Edges/EdgeAnchor.ts b/packages/core/src/components/Edges/EdgeAnchor.ts index 5d3bae77..8b21acad 100644 --- a/packages/core/src/components/Edges/EdgeAnchor.ts +++ b/packages/core/src/components/Edges/EdgeAnchor.ts @@ -10,14 +10,22 @@ interface Props extends HTMLAttributes { } function shiftX(x: number, shift: number, position: Position): number { - if (position === Position.Left) return x - shift - if (position === Position.Right) return x + shift + if (position === Position.Left) { + return x - shift + } + if (position === Position.Right) { + return x + shift + } return x } function shiftY(y: number, shift: number, position: Position): number { - if (position === Position.Top) return y - shift - if (position === Position.Bottom) return y + shift + if (position === Position.Top) { + return y - shift + } + if (position === Position.Bottom) { + return y + shift + } return y } diff --git a/packages/core/src/components/Edges/EdgeText.vue b/packages/core/src/components/Edges/EdgeText.vue index 124ce72a..20df9d7a 100644 --- a/packages/core/src/components/Edges/EdgeText.vue +++ b/packages/core/src/components/Edges/EdgeText.vue @@ -25,7 +25,9 @@ onMounted(getBox) watch([() => x, () => y, $$(el), () => label], getBox) function getBox() { - if (!el) return + if (!el) { + return + } const nextBox = el.getBBox() diff --git a/packages/core/src/components/Edges/EdgeWrapper.ts b/packages/core/src/components/Edges/EdgeWrapper.ts index 31220a14..4ba3943e 100644 --- a/packages/core/src/components/Edges/EdgeWrapper.ts +++ b/packages/core/src/components/Edges/EdgeWrapper.ts @@ -71,7 +71,9 @@ const EdgeWrapper = defineComponent({ }) return () => { - if (!sourceNode || !targetNode || !edge) return null + if (!sourceNode || !targetNode || !edge) { + return null + } let sourceNodeHandles if (connectionMode.value === ConnectionMode.Strict) { @@ -238,7 +240,9 @@ const EdgeWrapper = defineComponent({ } function handleEdgeUpdater(event: MouseEvent, isSourceHandle: boolean) { - if (event.button !== 0) return + if (event.button !== 0) { + return + } updating = true diff --git a/packages/core/src/components/Handle/Handle.vue b/packages/core/src/components/Handle/Handle.vue index 192e6436..e341d7cf 100644 --- a/packages/core/src/components/Handle/Handle.vue +++ b/packages/core/src/components/Handle/Handle.vue @@ -85,11 +85,15 @@ until(() => node.initialized) .then(() => { const existingBounds = node.handleBounds[type.value]?.find((b) => b.id === handleId.value) - if (!vueFlowRef.value || existingBounds) return + if (!vueFlowRef.value || existingBounds) { + return + } const viewportNode = vueFlowRef.value.querySelector('.vue-flow__transformationpane') - if (!nodeEl || !handle.value || !viewportNode || !handleId.value) return + if (!nodeEl || !handle.value || !viewportNode || !handleId.value) { + return + } const nodeBounds = nodeEl.value.getBoundingClientRect() diff --git a/packages/core/src/components/Nodes/NodeWrapper.ts b/packages/core/src/components/Nodes/NodeWrapper.ts index 4ac0a144..a5360622 100644 --- a/packages/core/src/components/Nodes/NodeWrapper.ts +++ b/packages/core/src/components/Nodes/NodeWrapper.ts @@ -81,9 +81,13 @@ const NodeWrapper = defineComponent({ const width = node.width instanceof Function ? node.width(node) : node.width const height = node.height instanceof Function ? node.height(node) : node.height - if (width) styles.width = typeof width === 'string' ? width : `${width}px` + if (width) { + styles.width = typeof width === 'string' ? width : `${width}px` + } - if (height) styles.height = typeof height === 'string' ? height : `${height}px` + if (height) { + styles.height = typeof height === 'string' ? height : `${height}px` + } return styles }) @@ -248,7 +252,9 @@ const NodeWrapper = defineComponent({ } function updateInternals() { - if (nodeElement.value) updateNodeDimensions([{ id: props.id, nodeElement: nodeElement.value, forceUpdate: true }]) + if (nodeElement.value) { + updateNodeDimensions([{ id: props.id, nodeElement: nodeElement.value, forceUpdate: true }]) + } } function onMouseEnter(event: MouseEvent) { @@ -294,7 +300,9 @@ const NodeWrapper = defineComponent({ } function onKeyDown(event: KeyboardEvent) { - if (isInputDOMNode(event)) return + if (isInputDOMNode(event)) { + return + } if (elementSelectionKeys.includes(event.key) && props.selectable) { const unselect = event.key === 'Escape' diff --git a/packages/core/src/components/NodesSelection/NodesSelection.vue b/packages/core/src/components/NodesSelection/NodesSelection.vue index 2a7fa313..c3f3615b 100644 --- a/packages/core/src/components/NodesSelection/NodesSelection.vue +++ b/packages/core/src/components/NodesSelection/NodesSelection.vue @@ -38,7 +38,9 @@ function onContextMenu(event: MouseEvent) { } function onKeyDown(event: KeyboardEvent) { - if (disableKeyboardA11y) return + if (disableKeyboardA11y) { + return + } if (arrowKeyDiffs[event.key]) { updatePositions( diff --git a/packages/core/src/composables/useDrag.ts b/packages/core/src/composables/useDrag.ts index 224a5ed4..051000a2 100644 --- a/packages/core/src/composables/useDrag.ts +++ b/packages/core/src/composables/useDrag.ts @@ -98,7 +98,9 @@ function useDrag(params: UseDragParams) { return n }) - if (!hasChange) return + if (!hasChange) { + return + } updateNodePositions(dragItems, true, true) @@ -116,7 +118,9 @@ function useDrag(params: UseDragParams) { } const autoPan = (): void => { - if (!containerBounds) return + if (!containerBounds) { + return + } const [xMovement, yMovement] = calcAutoPan(mousePosition, containerBounds) diff --git a/packages/core/src/composables/useKeyPress.ts b/packages/core/src/composables/useKeyPress.ts index 5e89f902..eee8e016 100644 --- a/packages/core/src/composables/useKeyPress.ts +++ b/packages/core/src/composables/useKeyPress.ts @@ -77,7 +77,9 @@ export default (keyFilter: MaybeRef, onChange?: (keyPressed: b (e) => { modifierPressed = wasModifierPressed(e) - if (!modifierPressed && isInputDOMNode(e)) return + if (!modifierPressed && isInputDOMNode(e)) { + return + } e.preventDefault() @@ -90,7 +92,9 @@ export default (keyFilter: MaybeRef, onChange?: (keyPressed: b unrefKeyFilter, (e) => { if (isPressed) { - if (!modifierPressed && isInputDOMNode(e)) return + if (!modifierPressed && isInputDOMNode(e)) { + return + } modifierPressed = false diff --git a/packages/core/src/composables/useViewport.ts b/packages/core/src/composables/useViewport.ts index ae6b39ad..bf2c190e 100644 --- a/packages/core/src/composables/useViewport.ts +++ b/packages/core/src/composables/useViewport.ts @@ -83,7 +83,9 @@ export default (state: State, getters: ComputedGetters) => { duration: 0, }, ) => { - if (!nodes.length) return + if (!nodes.length) { + return + } const nodesToFit: GraphNode[] = (options.includeHiddenNodes ? nodes : getNodes).filter((node) => { const initialized = node.initialized && node.dimensions.width && node.dimensions.height diff --git a/packages/core/src/composables/useWindow.ts b/packages/core/src/composables/useWindow.ts index e4ba3935..87c50d04 100644 --- a/packages/core/src/composables/useWindow.ts +++ b/packages/core/src/composables/useWindow.ts @@ -1,6 +1,9 @@ type UseWindow = Window & typeof globalThis & { chrome?: any } export default (): UseWindow => { - if (typeof window !== 'undefined') return window as UseWindow - else return { chrome: false } as UseWindow + if (typeof window !== 'undefined') { + return window as UseWindow + } else { + return { chrome: false } as UseWindow + } } diff --git a/packages/core/src/composables/useZoomPanHelper.ts b/packages/core/src/composables/useZoomPanHelper.ts index 375bb713..0c57c15e 100644 --- a/packages/core/src/composables/useZoomPanHelper.ts +++ b/packages/core/src/composables/useZoomPanHelper.ts @@ -37,7 +37,9 @@ export default (vueFlowId?: string): ViewportFunctions => { duration: 0, }, ) => { - if (!nodes.length) return + if (!nodes.length) { + return + } const nodesToFit: GraphNode[] = (options.includeHiddenNodes ? nodes : getNodes).filter((node) => { const initialized = node.initialized && node.dimensions.width && node.dimensions.height diff --git a/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue b/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue index b5f3ffd1..86ac5eb4 100644 --- a/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue +++ b/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue @@ -25,7 +25,9 @@ const { const sourceNode = controlledComputed( () => connectionStartHandle?.nodeId, () => { - if (connectionStartHandle?.nodeId) return findNode(connectionStartHandle.nodeId) + if (connectionStartHandle?.nodeId) { + return findNode(connectionStartHandle.nodeId) + } return false }, @@ -74,7 +76,9 @@ function getType(type?: string, template?: GraphEdge['template']) { } } } - if (edgeType && typeof edgeType !== 'string') return edgeType + if (edgeType && typeof edgeType !== 'string') { + return edgeType + } const slot = slots?.[`edge-${name}`] if (!slot) { diff --git a/packages/core/src/container/EdgeRenderer/MarkerDefinitions.vue b/packages/core/src/container/EdgeRenderer/MarkerDefinitions.vue index 5672a5b5..273fe888 100644 --- a/packages/core/src/container/EdgeRenderer/MarkerDefinitions.vue +++ b/packages/core/src/container/EdgeRenderer/MarkerDefinitions.vue @@ -12,8 +12,11 @@ const markers = computed(() => { if (marker) { const markerId = getMarkerId(marker, vueFlowId) if (!ids.includes(markerId)) { - if (typeof marker === 'object') markers.push({ ...marker, id: markerId, color: marker.color || defaultColor }) - else markers.push({ id: markerId, color: defaultColor, type: marker as MarkerType }) + if (typeof marker === 'object') { + markers.push({ ...marker, id: markerId, color: marker.color || defaultColor }) + } else { + markers.push({ id: markerId, color: defaultColor, type: marker as MarkerType }) + } ids.push(markerId) } } diff --git a/packages/core/src/container/NodeRenderer/NodeRenderer.vue b/packages/core/src/container/NodeRenderer/NodeRenderer.vue index b7cc11a7..cfab1468 100644 --- a/packages/core/src/container/NodeRenderer/NodeRenderer.vue +++ b/packages/core/src/container/NodeRenderer/NodeRenderer.vue @@ -70,7 +70,9 @@ function getType(type?: string, template?: GraphNode['template']) { } } } - if (typeof nodeType !== 'string') return nodeType + if (typeof nodeType !== 'string') { + return nodeType + } const slot = slots?.[`node-${name}`] if (!slot) { diff --git a/packages/core/src/container/Pane/Pane.vue b/packages/core/src/container/Pane/Pane.vue index 0b9392bb..89c10e2c 100644 --- a/packages/core/src/container/Pane/Pane.vue +++ b/packages/core/src/container/Pane/Pane.vue @@ -42,7 +42,9 @@ const containerBounds = ref() const hasActiveSelection = computed(() => elementsSelectable.value && (isSelecting || userSelectionActive.value)) useKeyPress(deleteKeyCode, (keyPressed) => { - if (!keyPressed) return + if (!keyPressed) { + return + } const nodesToRemove = getNodes.value.reduce((res, node) => { if (!node.selected && node.parentNode && res.find((n) => n.id === node.parentNode)) { @@ -82,7 +84,9 @@ function resetUserSelection() { } function onClick(event: MouseEvent) { - if (event.target !== container.value || hasActiveSelection.value) return + if (event.target !== container.value || hasActiveSelection.value) { + return + } emits.paneClick(event) @@ -92,7 +96,9 @@ function onClick(event: MouseEvent) { } function onContextMenu(event: MouseEvent) { - if (event.target !== container.value) return + if (event.target !== container.value) { + return + } if (Array.isArray(panOnDrag.value) && panOnDrag.value?.includes(2)) { event.preventDefault() @@ -103,7 +109,9 @@ function onContextMenu(event: MouseEvent) { } function onWheel(event: WheelEvent) { - if (event.target !== container.value) return + if (event.target !== container.value) { + return + } emits.paneScroll(event) } @@ -141,11 +149,19 @@ function onMouseDown(event: MouseEvent) { } function onMouseMove(event: MouseEvent) { - if (!isSelecting || !containerBounds.value || !userSelectionRect.value) return - if (!hasActiveSelection.value) return emits.paneMouseMove(event) + if (!isSelecting || !containerBounds.value || !userSelectionRect.value) { + return + } + if (!hasActiveSelection.value) { + return emits.paneMouseMove(event) + } - if (!userSelectionActive.value) userSelectionActive.value = true - if (nodesSelectionActive.value) nodesSelectionActive.value = false + if (!userSelectionActive.value) { + userSelectionActive.value = true + } + if (nodesSelectionActive.value) { + nodesSelectionActive.value = false + } const mousePos = getMousePosition(event, containerBounds.value) const startX = userSelectionRect.value.startX ?? 0 @@ -177,9 +193,13 @@ function onMouseMove(event: MouseEvent) { } function onMouseUp(event: MouseEvent) { - if (!hasActiveSelection.value) return + if (!hasActiveSelection.value) { + return + } - if (event.button !== 0) return + if (event.button !== 0) { + return + } // We only want to trigger click functions when in selection mode if // the user did not move the mouse. @@ -195,7 +215,9 @@ function onMouseUp(event: MouseEvent) { } function onMouseLeave(event: MouseEvent) { - if (!hasActiveSelection.value) return emits.paneMouseLeave(event) + if (!hasActiveSelection.value) { + return emits.paneMouseLeave(event) + } if (userSelectionActive.value) { nodesSelectionActive.value = prevSelectedNodesCount.value > 0 @@ -206,7 +228,9 @@ function onMouseLeave(event: MouseEvent) { } function onMouseEnter(event: MouseEvent) { - if (hasActiveSelection.value) return + if (hasActiveSelection.value) { + return + } emits.paneMouseEnter(event) } diff --git a/packages/core/src/container/Viewport/Viewport.vue b/packages/core/src/container/Viewport/Viewport.vue index 00f0347e..fd533097 100644 --- a/packages/core/src/container/Viewport/Viewport.vue +++ b/packages/core/src/container/Viewport/Viewport.vue @@ -118,7 +118,9 @@ onMounted(() => { }) d3Zoom.on('start', (event: D3ZoomEvent) => { - if (!event.sourceEvent) return null + if (!event.sourceEvent) { + return null + } // we need to remember it here, because it's always 0 in the "zoom" event mouseButton = event.sourceEvent.button @@ -138,7 +140,9 @@ onMounted(() => { }) d3Zoom.on('end', (event: D3ZoomEvent) => { - if (!event.sourceEvent) return null + if (!event.sourceEvent) { + return null + } isZoomingOrPanning = false @@ -223,27 +227,43 @@ onMounted(() => { } // if all interactions are disabled, we prevent all zoom events - if (!panOnDrag && !zoomScroll && !panOnScroll && !zoomOnDoubleClick && !zoomOnPinch) return false + if (!panOnDrag && !zoomScroll && !panOnScroll && !zoomOnDoubleClick && !zoomOnPinch) { + return false + } // during a selection we prevent all other interactions - if (userSelectionActive) return false + if (userSelectionActive) { + return false + } // if zoom on double click is disabled, we prevent the double click event - if (!zoomOnDoubleClick && event.type === 'dblclick') return false + if (!zoomOnDoubleClick && event.type === 'dblclick') { + return false + } // if the target element is inside an element with the nowheel class, we prevent zooming - if (isWrappedWithClass(event, noWheelClassName) && event.type === 'wheel') return false + if (isWrappedWithClass(event, noWheelClassName) && event.type === 'wheel') { + return false + } // if the target element is inside an element with the nopan class, we prevent panning - if (isWrappedWithClass(event, noPanClassName) && event.type !== 'wheel') return false + if (isWrappedWithClass(event, noPanClassName) && event.type !== 'wheel') { + return false + } - if (!zoomOnPinch && event.ctrlKey && event.type === 'wheel') return false + if (!zoomOnPinch && event.ctrlKey && event.type === 'wheel') { + return false + } // when there is no scroll handling enabled, we prevent all wheel events - if (!zoomScroll && !panOnScroll && !pinchZoom && event.type === 'wheel') return false + if (!zoomScroll && !panOnScroll && !pinchZoom && event.type === 'wheel') { + return false + } // if the pane is not movable, we prevent dragging it with mousestart or touchstart - if (!panOnDrag && (event.type === 'mousedown' || event.type === 'touchstart')) return false + if (!panOnDrag && (event.type === 'mousedown' || event.type === 'touchstart')) { + return false + } // if the pane is only movable using allowed clicks if ( @@ -283,7 +303,9 @@ function eventToFlowTransform(eventTransform: ZoomTransform): ViewportTransform } function setDimensions() { - if (!viewportEl.value) return + if (!viewportEl.value) { + return + } const { width, height } = getDimensions(viewportEl.value) diff --git a/packages/core/src/utils/changes.ts b/packages/core/src/utils/changes.ts index 47d50de7..18907a36 100644 --- a/packages/core/src/utils/changes.ts +++ b/packages/core/src/utils/changes.ts @@ -25,8 +25,11 @@ function handleParentExpand(updateItem: GraphNode, parent: GraphNode) { if (extendWidth > 0 || extendHeight > 0 || updateItem.position.x < 0 || updateItem.position.y < 0) { let parentStyles: Styles = {} - if (isFunction(parent.style)) parentStyles = { ...parent.style(parent) } - else if (parent.style) parentStyles = { ...parent.style } + if (isFunction(parent.style)) { + parentStyles = { ...parent.style(parent) } + } else if (parent.style) { + parentStyles = { ...parent.style } + } parentStyles.width = parentStyles.width ?? `${parent.dimensions.width}px` parentStyles.height = parentStyles.height ?? `${parent.dimensions.height}px` @@ -114,11 +117,15 @@ export function applyChanges< if (change.type === 'add') { const index = elements.findIndex((el) => el.id === change.item.id) - if (index === -1) elements.push(change.item) + if (index === -1) { + elements.push(change.item) + } } else if (change.type === 'remove') { const index = elements.findIndex((el) => el.id === change.id) - if (index !== -1) elements.splice(index, 1) + if (index !== -1) { + elements.splice(index, 1) + } } }) @@ -134,9 +141,13 @@ export function applyChanges< break case 'position': if (isGraphNode(element)) { - if (typeof currentChange.position !== 'undefined') element.position = currentChange.position + if (typeof currentChange.position !== 'undefined') { + element.position = currentChange.position + } - if (typeof currentChange.dragging !== 'undefined') element.dragging = currentChange.dragging + if (typeof currentChange.dragging !== 'undefined') { + element.dragging = currentChange.dragging + } if (element.expandParent && element.parentNode) { const parent = elements[elementIds.indexOf(element.parentNode)] @@ -149,7 +160,9 @@ export function applyChanges< break case 'dimensions': if (isGraphNode(element)) { - if (typeof currentChange.dimensions !== 'undefined') element.dimensions = currentChange.dimensions + if (typeof currentChange.dimensions !== 'undefined') { + element.dimensions = currentChange.dimensions + } if (typeof currentChange.updateStyle !== 'undefined') { element.style = { @@ -159,7 +172,9 @@ export function applyChanges< } } - if (typeof currentChange.resizing !== 'undefined') element.resizing = currentChange.resizing + if (typeof currentChange.resizing !== 'undefined') { + element.resizing = currentChange.resizing + } if (element.expandParent && element.parentNode) { const parent = elements[elementIds.indexOf(element.parentNode)] @@ -175,7 +190,9 @@ export function applyChanges< } } - if (!element.initialized) element.initialized = true + if (!element.initialized) { + element.initialized = true + } } break } diff --git a/packages/core/src/utils/drag.ts b/packages/core/src/utils/drag.ts index 672e2f3b..a4fd66b7 100644 --- a/packages/core/src/utils/drag.ts +++ b/packages/core/src/utils/drag.ts @@ -5,8 +5,11 @@ export function hasSelector(target: Element, selector: string, node: Element): b let current = target do { - if (current && current.matches(selector)) return true - else if (current === node) return false + if (current && current.matches(selector)) { + return true + } else if (current === node) { + return false + } current = current.parentElement as Element } while (current) diff --git a/packages/core/src/utils/edge.ts b/packages/core/src/utils/edge.ts index b33e5565..b39db5c9 100644 --- a/packages/core/src/utils/edge.ts +++ b/packages/core/src/utils/edge.ts @@ -141,7 +141,9 @@ export function groupEdgesByZLevel(edges: GraphEdge[], findNode: Actions['findNo const source = findNode(edge.source) const target = findNode(edge.target) - if (!source || !target) return tree + if (!source || !target) { + return tree + } if (elevateEdgesOnSelect) { z = hasZIndex ? edge.zIndex! : Math.max(source.computedPosition.z || 0, target.computedPosition.z || 0) diff --git a/packages/core/src/utils/graph.ts b/packages/core/src/utils/graph.ts index 88184d58..517cf952 100644 --- a/packages/core/src/utils/graph.ts +++ b/packages/core/src/utils/graph.ts @@ -58,8 +58,11 @@ export function getHostForElement(element: HTMLElement): Document { const doc = element.getRootNode() as Document const window = useWindow() - if ('elementFromPoint' in doc) return doc - else return window.document + if ('elementFromPoint' in doc) { + return doc + } else { + return window.document + } } export function isEdge(element: MaybeElement): element is Edge { @@ -147,7 +150,9 @@ function getConnectedElements( elements: T, dir: 'source' | 'target', ): T extends FlowElements ? GraphNode[] : Node[] { - if (!isNode(node)) return [] + if (!isNode(node)) { + return [] + } const origin = dir === 'source' ? 'target' : 'source' const ids = elements.filter((e) => isEdge(e) && e[origin] === node.id).map((e) => isEdge(e) && e[dir]) return elements.filter((e) => ids.includes(e.id)) as T extends FlowElements ? GraphNode[] : Node[] @@ -200,7 +205,9 @@ export function addEdge(edgeParams: Edge | Connection, elements: Elements, defau edge = parseEdge(edge, defaults) - if (connectionExists(edge, elements)) return elements + if (connectionExists(edge, elements)) { + return elements + } elements.push(edge) @@ -363,6 +370,21 @@ export function getConnectedEdges(nodes: (Node | GraphNode | { id: string })[], return edges.filter((edge) => nodeIds.includes(edge.source) || nodeIds.includes(edge.target)) } +export function getConnectedNodes(nodes: (Node | GraphNode | { id: string })[], edges: GraphEdge[]) { + const nodeIds = nodes.map((node) => node.id) + const connectedNodeIds = edges.reduce((acc, edge) => { + if (nodeIds.includes(edge.source)) { + acc.add(edge.target) + } + if (nodeIds.includes(edge.target)) { + acc.add(edge.source) + } + return acc + }, new Set()) + + return nodes.filter((node) => connectedNodeIds.has(node.id)) +} + export function getTransformForBounds( bounds: Rect, width: number, @@ -396,20 +418,30 @@ export function getXYZPos(parentPos: XYZPosition, computedPosition: XYZPosition) } export function isParentSelected(node: GraphNode, findNode: Actions['findNode']): boolean { - if (!node.parentNode) return false + if (!node.parentNode) { + return false + } const parent = findNode(node.parentNode) - if (!parent) return false + if (!parent) { + return false + } - if (parent.selected) return true + if (parent.selected) { + return true + } return isParentSelected(parent, findNode) } export function getMarkerId(marker: EdgeMarkerType | undefined, vueFlowId?: string) { - if (typeof marker === 'undefined') return '' + if (typeof marker === 'undefined') { + return '' + } - if (typeof marker === 'string') return marker + if (typeof marker === 'string') { + return marker + } const idPrefix = vueFlowId ? `${vueFlowId}__` : '' diff --git a/packages/core/src/utils/store.ts b/packages/core/src/utils/store.ts index 19c758a3..43545c87 100644 --- a/packages/core/src/utils/store.ts +++ b/packages/core/src/utils/store.ts @@ -26,7 +26,9 @@ export function addEdgeToStore(edgeParams: Edge | Connection, edges: Edge[], onE edge = parseEdge(edge) - if (connectionExists(edge, edges)) return false + if (connectionExists(edge, edges)) { + return false + } return edge } @@ -102,7 +104,9 @@ export function createGraphNodes( node.isParent = true } - if (parentNode) parentNode.isParent = true + if (parentNode) { + parentNode.isParent = true + } } }) diff --git a/packages/core/src/utils/watch.ts b/packages/core/src/utils/watch.ts index bc3efce1..ba4d91aa 100644 --- a/packages/core/src/utils/watch.ts +++ b/packages/core/src/utils/watch.ts @@ -26,8 +26,11 @@ export function useWatch( store.setElements(elements) // only trigger store watcher immediately if we actually set any elements to the store - if (!pauseStore && !immediateStore && elements.length) immediateStore = true - else pauseStore?.resume() + if (!pauseStore && !immediateStore && elements.length) { + immediateStore = true + } else { + pauseStore?.resume() + } } }) @@ -69,8 +72,11 @@ export function useWatch( store.setNodes(nodes) // only trigger store watcher immediately if we actually set any elements to the store - if (!pauseStore && !immediateStore && nodes.length) immediateStore = true - else pauseStore?.resume() + if (!pauseStore && !immediateStore && nodes.length) { + immediateStore = true + } else { + pauseStore?.resume() + } } }) @@ -112,8 +118,11 @@ export function useWatch( store.setEdges(edges) // only trigger store watcher immediately if we actually set any elements to the store - if (!pauseStore && !immediateStore && edges.length) immediateStore = true - else pauseStore?.resume() + if (!pauseStore && !immediateStore && edges.length) { + immediateStore = true + } else { + pauseStore?.resume() + } } }) diff --git a/packages/minimap/src/MiniMap.vue b/packages/minimap/src/MiniMap.vue index 25c30fce..ef24250c 100644 --- a/packages/minimap/src/MiniMap.vue +++ b/packages/minimap/src/MiniMap.vue @@ -89,7 +89,9 @@ const viewBox = computed(() => { }) const d = computed(() => { - if (!viewBox.value.x || !viewBox.value.y) return '' + if (!viewBox.value.x || !viewBox.value.y) { + return '' + } return ` M${viewBox.value.x - viewBox.value.offset},${viewBox.value.y - viewBox.value.offset}