This commit is contained in:
Jan Prochazka
2022-09-01 18:35:50 +02:00
parent 428de38b41
commit 5724067974

View File

@@ -26,15 +26,10 @@
<script lang="ts"> <script lang="ts">
import { import {
ChangeConfigFunc,
ChangePerspectiveConfigFunc, ChangePerspectiveConfigFunc,
extractPerspectiveDatabases, extractPerspectiveDatabases,
getTableChildPerspectiveNodes,
GridConfig,
PerspectiveConfig, PerspectiveConfig,
PerspectiveDataLoadProps,
PerspectiveDataProvider, PerspectiveDataProvider,
PerspectiveTableColumnNode,
PerspectiveTableNode, PerspectiveTableNode,
processPerspectiveDefaultColunns, processPerspectiveDefaultColunns,
shouldProcessPerspectiveDefaultColunns, shouldProcessPerspectiveDefaultColunns,
@@ -43,7 +38,6 @@
import _ from 'lodash'; import _ from 'lodash';
import HorizontalSplitter from '../elements/HorizontalSplitter.svelte'; import HorizontalSplitter from '../elements/HorizontalSplitter.svelte';
import { useDatabaseInfo, useTableInfo, useViewInfo } from '../utility/metadataLoaders';
import debug from 'debug'; import debug from 'debug';
import { getLocalStorage, setLocalStorage } from '../utility/storageCache'; import { getLocalStorage, setLocalStorage } from '../utility/storageCache';
@@ -52,17 +46,13 @@
import PerspectiveTree from './PerspectiveTree.svelte'; import PerspectiveTree from './PerspectiveTree.svelte';
import PerspectiveTable from './PerspectiveTable.svelte'; import PerspectiveTable from './PerspectiveTable.svelte';
import { apiCall } from '../utility/api'; import { apiCall } from '../utility/api';
import { Select } from 'dbgate-sqltree';
import ManagerInnerContainer from '../elements/ManagerInnerContainer.svelte'; import ManagerInnerContainer from '../elements/ManagerInnerContainer.svelte';
import { PerspectiveDataLoader } from 'dbgate-datalib/lib/PerspectiveDataLoader'; import { PerspectiveDataLoader } from 'dbgate-datalib/lib/PerspectiveDataLoader';
import stableStringify from 'json-stable-stringify'; import stableStringify from 'json-stable-stringify';
import createRef from '../utility/createRef';
import { tick } from 'svelte';
import createActivator, { getActiveComponent } from '../utility/createActivator'; import createActivator, { getActiveComponent } from '../utility/createActivator';
import registerCommand from '../commands/registerCommand'; import registerCommand from '../commands/registerCommand';
import { showModal } from '../modals/modalTools'; import { showModal } from '../modals/modalTools';
import CustomJoinModal from './CustomJoinModal.svelte'; import CustomJoinModal from './CustomJoinModal.svelte';
import JsonViewFilters from '../jsonview/JsonViewFilters.svelte';
import PerspectiveFilters from './PerspectiveFilters.svelte'; import PerspectiveFilters from './PerspectiveFilters.svelte';
import SearchBoxWrapper from '../elements/SearchBoxWrapper.svelte'; import SearchBoxWrapper from '../elements/SearchBoxWrapper.svelte';
import SearchInput from '../elements/SearchInput.svelte'; import SearchInput from '../elements/SearchInput.svelte';
@@ -70,7 +60,6 @@
import { useMultipleDatabaseInfo } from '../utility/useMultipleDatabaseInfo'; import { useMultipleDatabaseInfo } from '../utility/useMultipleDatabaseInfo';
import VerticalSplitter from '../elements/VerticalSplitter.svelte'; import VerticalSplitter from '../elements/VerticalSplitter.svelte';
import PerspectiveDesigner from './PerspectiveDesigner.svelte'; import PerspectiveDesigner from './PerspectiveDesigner.svelte';
import runCommand from '../commands/runCommand';
const dbg = debug('dbgate:PerspectiveView'); const dbg = debug('dbgate:PerspectiveView');
@@ -132,15 +121,16 @@
$: dbInfos = useMultipleDatabaseInfo(perspectiveDatabases); $: dbInfos = useMultipleDatabaseInfo(perspectiveDatabases);
$: rootObject = config?.nodes?.find(x => x.designerId == config?.rootDesignerId); $: rootObject = config?.nodes?.find(x => x.designerId == config?.rootDesignerId);
$: tableInfo = useTableInfo({ conid, database, ...rootObject }); $: rootDb = rootObject ? $dbInfos?.[rootObject.conid || conid]?.[rootObject.database || database] : null;
$: viewInfo = useViewInfo({ conid, database, ...rootObject }); $: tableInfo = rootDb?.tables.find(x => x.pureName == rootObject?.pureName && x.schemaName == rootObject?.schemaName);
$: viewInfo = rootDb?.views.find(x => x.pureName == rootObject?.pureName && x.schemaName == rootObject?.schemaName);
$: dataProvider = new PerspectiveDataProvider(cache, loader); $: dataProvider = new PerspectiveDataProvider(cache, loader);
$: loader = new PerspectiveDataLoader(apiCall); $: loader = new PerspectiveDataLoader(apiCall);
$: root = $: root =
$tableInfo || $viewInfo tableInfo || viewInfo
? new PerspectiveTableNode( ? new PerspectiveTableNode(
$tableInfo || $viewInfo, tableInfo || viewInfo,
$dbInfos, $dbInfos,
config, config,
setConfig, setConfig,