diff --git a/packages/datalib/src/PerspectiveConfig.ts b/packages/datalib/src/PerspectiveConfig.ts
index 14a82f70f..6d298dd81 100644
--- a/packages/datalib/src/PerspectiveConfig.ts
+++ b/packages/datalib/src/PerspectiveConfig.ts
@@ -66,6 +66,11 @@ export interface PerspectiveNodeConfig {
filters: { [uniqueName: string]: string };
isAutoGenerated?: true | undefined;
+
+ position: {
+ x: number;
+ y: number;
+ };
}
export interface PerspectiveReferenceConfig {
diff --git a/packages/web/src/perspectives/PerspectiveDesigner.svelte b/packages/web/src/perspectives/PerspectiveDesigner.svelte
new file mode 100644
index 000000000..24a0c12b1
--- /dev/null
+++ b/packages/web/src/perspectives/PerspectiveDesigner.svelte
@@ -0,0 +1,82 @@
+
+
+
diff --git a/packages/web/src/perspectives/PerspectiveView.svelte b/packages/web/src/perspectives/PerspectiveView.svelte
index 33f304884..cedf1c7ba 100644
--- a/packages/web/src/perspectives/PerspectiveView.svelte
+++ b/packages/web/src/perspectives/PerspectiveView.svelte
@@ -55,6 +55,8 @@
import SearchInput from '../elements/SearchInput.svelte';
import CloseSearchButton from '../buttons/CloseSearchButton.svelte';
import { useMultipleDatabaseInfo } from '../utility/useMultipleDatabaseInfo';
+ import VerticalSplitter from '../elements/VerticalSplitter.svelte';
+ import PerspectiveDesigner from './PerspectiveDesigner.svelte';
const dbg = debug('dbgate:PerspectiveView');
@@ -94,7 +96,14 @@
});
}
- $: dbInfos = useMultipleDatabaseInfo(extractPerspectiveDatabases({ conid, database }, config));
+ let perspectiveDatabases = extractPerspectiveDatabases({ conid, database }, config);
+ $: {
+ const newDatabases = extractPerspectiveDatabases({ conid, database }, config);
+ if (stableStringify(newDatabases) != stableStringify(newDatabases)) {
+ perspectiveDatabases = newDatabases;
+ }
+ }
+ $: dbInfos = useMultipleDatabaseInfo(perspectiveDatabases);
$: rootObject = config?.nodes?.find(x => x.designerId == config?.rootDesignerId);
$: tableInfo = useTableInfo({ conid, database, ...rootObject });
$: viewInfo = useViewInfo({ conid, database, ...rootObject });
@@ -139,7 +148,14 @@
-
+
+
+
+
+
+
+
+
diff --git a/packages/web/src/tabs/PerspectiveTab.svelte b/packages/web/src/tabs/PerspectiveTab.svelte
index e4a53bdc5..171052e63 100644
--- a/packages/web/src/tabs/PerspectiveTab.svelte
+++ b/packages/web/src/tabs/PerspectiveTab.svelte
@@ -107,8 +107,6 @@
cache.clear();
loadedCounts.set({});
}
-
- $: console.log('PERSPECTIVE', $modelState.value);