mongo server summary

This commit is contained in:
Jan Prochazka
2022-12-07 22:05:47 +01:00
parent f7bd12881e
commit ceea1a9047
9 changed files with 145 additions and 7 deletions

View File

@@ -104,7 +104,7 @@
import ImportDatabaseDumpModal from '../modals/ImportDatabaseDumpModal.svelte';
import { closeMultipleTabs } from '../widgets/TabsPanel.svelte';
import AboutModal from '../modals/AboutModal.svelte';
import { tick } from 'svelte';
import { tick } from 'svelte';
export let data;
export let passProps;
@@ -195,6 +195,16 @@ import { tick } from 'svelte';
}),
});
};
const handleServerSummary = () => {
openNewTab({
title: getConnectionLabel(data),
icon: 'img server',
tabComponent: 'ServerSummaryTab',
props: {
conid: data._id,
},
});
};
const handleNewQuery = () => {
const tooltip = `${getConnectionLabel(data)}`;
openNewTab({
@@ -244,6 +254,11 @@ import { tick } from 'svelte';
text: 'Create database',
onClick: handleCreateDatabase,
},
$openedConnections.includes(data._id) &&
driver?.supportsServerSummary && {
text: 'Server summary',
onClick: handleServerSummary,
},
],
data.singleDatabase && [
{ divider: true },

View File

@@ -1,8 +1,7 @@
<script lang="ts">
import _ from 'lodash';
import FontIcon from '../icons/FontIcon.svelte';
import Link from './Link.svelte';
import TableControl from './TableControl.svelte';
export let title;
@@ -10,6 +9,7 @@
export let columns;
export let showIfEmpty = false;
export let emptyMessage = null;
export let hideDisplayName = false;
export let clickable;
export let onAddNew;
</script>
@@ -31,14 +31,14 @@
<div class="body">
<TableControl
rows={collection || []}
columns={[
{
columns={_.compact([
!hideDisplayName && {
fieldName: 'displayName',
header: 'Name',
slot: -1,
},
...columns,
]}
])}
{clickable}
on:clickrow
>

View File

@@ -0,0 +1,23 @@
<script>
import Link from '../elements/Link.svelte';
import LoadingInfo from '../elements/LoadingInfo.svelte';
import ObjectListControl from '../elements/ObjectListControl.svelte';
import { apiCall } from '../utility/api';
export let conid;
let refreshToken = 0;
</script>
{#await apiCall('server-connections/server-summary', { conid, refreshToken })}
<LoadingInfo message="Loading server details" wrapper />
{:then summary}
<ObjectListControl
collection={summary.databases}
hideDisplayName
title="Databases"
emptyMessage={'No databases'}
columns={summary.columns}
/>
{/await}

View File

@@ -26,6 +26,7 @@ import * as QueryDataTab from './QueryDataTab.svelte';
import * as ConnectionTab from './ConnectionTab.svelte';
import * as MapTab from './MapTab.svelte';
import * as PerspectiveTab from './PerspectiveTab.svelte';
import * as ServerSummaryTab from './ServerSummaryTab.svelte';
export default {
TableDataTab,
@@ -56,4 +57,5 @@ export default {
ConnectionTab,
MapTab,
PerspectiveTab,
ServerSummaryTab,
};