diff --git a/packages/web/src/datagrid/ChangeSetGrider.ts b/packages/web/src/datagrid/ChangeSetGrider.ts index a62ad645d..ba642eb4f 100644 --- a/packages/web/src/datagrid/ChangeSetGrider.ts +++ b/packages/web/src/datagrid/ChangeSetGrider.ts @@ -143,10 +143,10 @@ export default class ChangeSetGrider extends Grider { this.dispatchChangeSet({ type: 'redo' }); } get canUndo() { - return this.changeSetState.canUndo; + return this.changeSetState?.canUndo; } get canRedo() { - return this.changeSetState.canRedo; + return this.changeSetState?.canRedo; } get containsChanges() { return changeSetContainsChanges(this.changeSet); diff --git a/packages/web/src/datagrid/DataGrid.svelte b/packages/web/src/datagrid/DataGrid.svelte index aa0617675..8b34add6f 100644 --- a/packages/web/src/datagrid/DataGrid.svelte +++ b/packages/web/src/datagrid/DataGrid.svelte @@ -9,7 +9,7 @@ export let gridCoreComponent; export let isDetailView = false; - export let showReferences = true; + export let showReferences = false; let managerSize; @@ -21,7 +21,13 @@ - + diff --git a/packages/web/src/datagrid/TableDataGrid.svelte b/packages/web/src/datagrid/TableDataGrid.svelte index 9da058798..6b4db07c4 100644 --- a/packages/web/src/datagrid/TableDataGrid.svelte +++ b/packages/web/src/datagrid/TableDataGrid.svelte @@ -112,6 +112,7 @@ {...$$props} gridCoreComponent={SqlDataGridCore} {display} + showReferences onReferenceSourceChanged={reference ? handleReferenceSourceChanged : null} onReferenceClick={value => { if (value && value.referenceId && reference && reference.referenceId == value.referenceId) { diff --git a/packages/web/src/tabs/ViewDataTab.svelte b/packages/web/src/tabs/ViewDataTab.svelte new file mode 100644 index 000000000..be55c0095 --- /dev/null +++ b/packages/web/src/tabs/ViewDataTab.svelte @@ -0,0 +1,54 @@ + + + + +{#if display} + +{/if} diff --git a/packages/web/src/tabs/index.js b/packages/web/src/tabs/index.js index 4cbe667bc..1b85db00e 100644 --- a/packages/web/src/tabs/index.js +++ b/packages/web/src/tabs/index.js @@ -1,5 +1,5 @@ import * as TableDataTab from './TableDataTab.svelte'; -// import ViewDataTab from './ViewDataTab'; +import * as ViewDataTab from './ViewDataTab.svelte'; // import TableStructureTab from './TableStructureTab'; import * as QueryTab from './QueryTab.svelte'; import * as ShellTab from './ShellTab.svelte'; @@ -16,7 +16,7 @@ import * as MarkdownEditorTab from './MarkdownEditorTab.svelte'; export default { TableDataTab, - // ViewDataTab, + ViewDataTab, // TableStructureTab, QueryTab, // InfoPageTab, diff --git a/packages/web/src/utility/metadataLoaders.ts b/packages/web/src/utility/metadataLoaders.ts index 24924b4e9..470325c97 100644 --- a/packages/web/src/utility/metadataLoaders.ts +++ b/packages/web/src/utility/metadataLoaders.ts @@ -6,6 +6,7 @@ import { cacheClean } from './cache'; import socket from './socket'; import getAsArray from './getAsArray'; import { DatabaseInfo } from 'dbgate-types'; +import { derived } from 'svelte/store'; const databaseInfoLoader = ({ conid, database }) => ({ url: 'database-connections/structure', @@ -247,11 +248,14 @@ export async function getDbCore(args, objectTypeField = undefined) { } export function useDbCore(args, objectTypeField = undefined) { - const db = useDatabaseInfo(args); - if (!db) return null; - return db[objectTypeField || args.objectTypeField].find( - x => x.pureName == args.pureName && x.schemaName == args.schemaName - ); + const dbStore = useDatabaseInfo(args); + if (!dbStore) return null; + return derived(dbStore, db => { + if (!db) return null; + return db[objectTypeField || args.objectTypeField].find( + x => x.pureName == args.pureName && x.schemaName == args.schemaName + ); + }); } /** @returns {Promise} */ diff --git a/packages/web/src/widgets/WidgetColumnBarItem.svelte b/packages/web/src/widgets/WidgetColumnBarItem.svelte index f93ce4eca..363090e61 100644 --- a/packages/web/src/widgets/WidgetColumnBarItem.svelte +++ b/packages/web/src/widgets/WidgetColumnBarItem.svelte @@ -27,11 +27,12 @@ { collapsed, height, + skip, }, dynamicProps ); - $: updateWidgetItemDefinition(widgetItemIndex, { collapsed: !visible, height }); + $: updateWidgetItemDefinition(widgetItemIndex, { collapsed: !visible, height, skip }); $: setInitialSize(height, $widgetColumnBarHeight);