Spaces:
Running
Running
freeView to draggable
Browse files
src/lib/components/flow/FitViewOnResize.svelte
CHANGED
|
@@ -25,7 +25,7 @@
|
|
| 25 |
let lastFitViewTime = 0;
|
| 26 |
|
| 27 |
function throttledFitView() {
|
| 28 |
-
if (viewState.
|
| 29 |
|
| 30 |
const now = Date.now();
|
| 31 |
const elapsed = now - lastFitViewTime;
|
|
@@ -47,7 +47,7 @@
|
|
| 47 |
fitViewTimer = setTimeout(() => {
|
| 48 |
lastFitViewTime = Date.now();
|
| 49 |
fitViewTimer = null;
|
| 50 |
-
if (!viewState.
|
| 51 |
fitView({
|
| 52 |
maxZoom: 1,
|
| 53 |
minZoom: breakpointsState.isMobile ? 1 : 0.7,
|
|
@@ -107,7 +107,7 @@
|
|
| 107 |
});
|
| 108 |
|
| 109 |
function handleWindowResize() {
|
| 110 |
-
if (viewState.
|
| 111 |
fitView({
|
| 112 |
maxZoom: 1,
|
| 113 |
minZoom: breakpointsState.isMobile ? 1 : 0.8,
|
|
|
|
| 25 |
let lastFitViewTime = 0;
|
| 26 |
|
| 27 |
function throttledFitView() {
|
| 28 |
+
if (viewState.draggable) return;
|
| 29 |
|
| 30 |
const now = Date.now();
|
| 31 |
const elapsed = now - lastFitViewTime;
|
|
|
|
| 47 |
fitViewTimer = setTimeout(() => {
|
| 48 |
lastFitViewTime = Date.now();
|
| 49 |
fitViewTimer = null;
|
| 50 |
+
if (!viewState.draggable) {
|
| 51 |
fitView({
|
| 52 |
maxZoom: 1,
|
| 53 |
minZoom: breakpointsState.isMobile ? 1 : 0.7,
|
|
|
|
| 107 |
});
|
| 108 |
|
| 109 |
function handleWindowResize() {
|
| 110 |
+
if (viewState.draggable) return;
|
| 111 |
fitView({
|
| 112 |
maxZoom: 1,
|
| 113 |
minZoom: breakpointsState.isMobile ? 1 : 0.8,
|
src/lib/components/flow/actions/PanelCanvasActions.svelte
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
-
import { Maximize,
|
| 3 |
import { Panel } from '@xyflow/svelte';
|
| 4 |
|
| 5 |
import { Button } from '$lib/components/ui/button';
|
|
@@ -44,17 +44,6 @@
|
|
| 44 |
>
|
| 45 |
<Maximize />
|
| 46 |
</Button>
|
| 47 |
-
<Button
|
| 48 |
-
variant="ghost"
|
| 49 |
-
size="icon-sm"
|
| 50 |
-
onclick={() => (viewState.freeView = !viewState.freeView)}
|
| 51 |
-
>
|
| 52 |
-
{#if viewState.freeView}
|
| 53 |
-
<Lock class="fill-transparent!" />
|
| 54 |
-
{:else}
|
| 55 |
-
<LockOpen class="fill-transparent!" />
|
| 56 |
-
{/if}
|
| 57 |
-
</Button>
|
| 58 |
</div>
|
| 59 |
<div
|
| 60 |
class="inline-flex w-fit flex-row gap-0.5 rounded-lg border border-border bg-background p-1 dark:bg-gray-900"
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
+
import { Maximize, Minus, Plus, Move, MousePointer } from '@lucide/svelte';
|
| 3 |
import { Panel } from '@xyflow/svelte';
|
| 4 |
|
| 5 |
import { Button } from '$lib/components/ui/button';
|
|
|
|
| 44 |
>
|
| 45 |
<Maximize />
|
| 46 |
</Button>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
</div>
|
| 48 |
<div
|
| 49 |
class="inline-flex w-fit flex-row gap-0.5 rounded-lg border border-border bg-background p-1 dark:bg-gray-900"
|