mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-21 00:06:01 +00:00
SYNC: fixed diagram references when using zoom
This commit is contained in:
committed by
Diflow
parent
a8a8f9b3e5
commit
6fce43a122
@@ -638,7 +638,7 @@
|
|||||||
|
|
||||||
function recomputeReferencePositions() {
|
function recomputeReferencePositions() {
|
||||||
for (const ref of Object.values(referenceRefs) as any[]) {
|
for (const ref of Object.values(referenceRefs) as any[]) {
|
||||||
if (ref) ref.recomputePosition();
|
if (ref) ref.recomputePosition(zoomKoef);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -915,6 +915,7 @@
|
|||||||
onRemoveReference={removeReference}
|
onRemoveReference={removeReference}
|
||||||
designer={value}
|
designer={value}
|
||||||
{settings}
|
{settings}
|
||||||
|
{zoomKoef}
|
||||||
/>
|
/>
|
||||||
{/each}
|
{/each}
|
||||||
<!--
|
<!--
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Designer from './Designer.svelte';
|
import Designer from './Designer.svelte';
|
||||||
import DiagramDesignerReference from './DiagramDesignerReference.svelte';
|
import DiagramDesignerReference from './DiagramDesignerReference.svelte';
|
||||||
|
// import QueryDesignerReference from './QueryDesignerReference.svelte';
|
||||||
|
|
||||||
export let columnFilter;
|
export let columnFilter;
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
export let domTables;
|
export let domTables;
|
||||||
export let settings;
|
export let settings;
|
||||||
|
|
||||||
|
export let zoomKoef;
|
||||||
|
|
||||||
let src = null;
|
let src = null;
|
||||||
let dst = null;
|
let dst = null;
|
||||||
|
|
||||||
@@ -19,7 +21,7 @@
|
|||||||
const arhi = 12;
|
const arhi = 12;
|
||||||
const arpad = 3;
|
const arpad = 3;
|
||||||
|
|
||||||
export function recomputePosition() {
|
export function recomputePosition(zoomKoef) {
|
||||||
const { designerId, sourceId, targetId, columns, joinType } = reference;
|
const { designerId, sourceId, targetId, columns, joinType } = reference;
|
||||||
|
|
||||||
/** @type {DomTableRef} */
|
/** @type {DomTableRef} */
|
||||||
@@ -31,6 +33,17 @@
|
|||||||
const targetRect = targetTable.getRect();
|
const targetRect = targetTable.getRect();
|
||||||
if (!sourceRect || !targetRect) return null;
|
if (!sourceRect || !targetRect) return null;
|
||||||
|
|
||||||
|
if (zoomKoef > 0) {
|
||||||
|
sourceRect.left /= zoomKoef;
|
||||||
|
sourceRect.right /= zoomKoef;
|
||||||
|
sourceRect.top /= zoomKoef;
|
||||||
|
sourceRect.bottom /= zoomKoef;
|
||||||
|
targetRect.left /= zoomKoef;
|
||||||
|
targetRect.right /= zoomKoef;
|
||||||
|
targetRect.top /= zoomKoef;
|
||||||
|
targetRect.bottom /= zoomKoef;
|
||||||
|
}
|
||||||
|
|
||||||
src = {
|
src = {
|
||||||
x: (sourceRect.left + sourceRect.right) / 2,
|
x: (sourceRect.left + sourceRect.right) / 2,
|
||||||
y: (sourceRect.top + sourceRect.bottom) / 2,
|
y: (sourceRect.top + sourceRect.bottom) / 2,
|
||||||
@@ -47,7 +60,7 @@
|
|||||||
|
|
||||||
$: {
|
$: {
|
||||||
domTables;
|
domTables;
|
||||||
recomputePosition();
|
recomputePosition(zoomKoef);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user