SYNC: cell data widget moved

This commit is contained in:
SPRINX0\prochazka
2025-12-10 08:41:01 +01:00
committed by Diflow
parent 8470c7ac6b
commit 1964e54476
4 changed files with 55 additions and 38 deletions

View File

@@ -70,6 +70,7 @@
import { getLocalStorage, setLocalStorage } from '../utility/storageCache'; import { getLocalStorage, setLocalStorage } from '../utility/storageCache';
import { __t, _t } from '../translations'; import { __t, _t } from '../translations';
import { isProApp } from '../utility/proTools'; import { isProApp } from '../utility/proTools';
import CellDataWidget from '../widgets/CellDataWidget.svelte';
export let config; export let config;
export let setConfig; export let setConfig;
@@ -91,6 +92,7 @@
export let hasMultiColumnFilter = false; export let hasMultiColumnFilter = false;
export let setLoadedRows = null; export let setLoadedRows = null;
export let hideGridLeftColumn = false; export let hideGridLeftColumn = false;
export let cellDataViewVisible = true;
export let onPublishedCellsChanged; export let onPublishedCellsChanged;
@@ -107,6 +109,7 @@
setContext('macroValues', macroValues); setContext('macroValues', macroValues);
let managerSize; let managerSize;
let cellViewWidth;
const collapsedLeftColumnStore = const collapsedLeftColumnStore =
getContext('collapsedLeftColumnStore') || writable(getLocalStorage('dataGrid_collapsedLeftColumn', false)); getContext('collapsedLeftColumnStore') || writable(getLocalStorage('dataGrid_collapsedLeftColumn', false));
@@ -157,6 +160,7 @@
); );
$: if (managerSize) setLocalStorage('dataGridManagerWidth', managerSize); $: if (managerSize) setLocalStorage('dataGridManagerWidth', managerSize);
$: if (cellViewWidth) setLocalStorage('dataGridCellViewWidth', cellViewWidth);
function getInitialManagerSize() { function getInitialManagerSize() {
const width = getLocalStorage('dataGridManagerWidth'); const width = getLocalStorage('dataGridManagerWidth');
@@ -165,6 +169,14 @@
} }
return '300px'; return '300px';
} }
function getInitialCellViewWidth() {
const width = getLocalStorage('dataGridCellViewWidth');
if (_.isNumber(width) && width > 30 && width < 500) {
return width;
}
return 300;
}
</script> </script>
<HorizontalSplitter <HorizontalSplitter
@@ -226,6 +238,12 @@
</div> </div>
<svelte:fragment slot="2"> <svelte:fragment slot="2">
<VerticalSplitter initialValue="70%" isSplitter={!!$selectedMacro && !isFormView && showMacros}> <VerticalSplitter initialValue="70%" isSplitter={!!$selectedMacro && !isFormView && showMacros}>
<svelte:fragment slot="1">
<HorizontalSplitter
initialSizeRight={getInitialCellViewWidth()}
onChangeSize={value => (cellViewWidth = value)}
isSplitter={cellDataViewVisible && !isFormView}
>
<svelte:fragment slot="1"> <svelte:fragment slot="1">
{#if isFormView} {#if isFormView}
<svelte:component this={formViewComponent} {...$$props} /> <svelte:component this={formViewComponent} {...$$props} />
@@ -252,6 +270,15 @@
/> />
{/if} {/if}
</svelte:fragment> </svelte:fragment>
<svelte:fragment slot="2">
<CellDataWidget
onClose={() => {
cellDataViewVisible = false;
}}
/>
</svelte:fragment>
</HorizontalSplitter>
</svelte:fragment>
<svelte:fragment slot="2"> <svelte:fragment slot="2">
{#if $selectedMacro} {#if $selectedMacro}

View File

@@ -1,5 +1,4 @@
<script lang="ts" context="module"> <script lang="ts" context="module">
import { isWktGeometry } from 'dbgate-tools';
const formats = [ const formats = [
{ {
@@ -110,9 +109,9 @@
import XmlCellView from '../celldata/XmlCellView.svelte'; import XmlCellView from '../celldata/XmlCellView.svelte';
import { _t } from '../translations'; import { _t } from '../translations';
let selectedFormatType = 'autodetect'; export let onClose;
export let selection = undefined; let selectedFormatType = 'autodetect';
$: autodetectFormatType = autodetect(selection); $: autodetectFormatType = autodetect(selection);
$: autodetectFormat = formats.find(x => x.type == autodetectFormatType); $: autodetectFormat = formats.find(x => x.type == autodetectFormatType);
@@ -124,7 +123,7 @@
</script> </script>
<div class="wrapper"> <div class="wrapper">
<WidgetTitle>{_t('cellDataWidget.title', { defaultMessage: "Cell data view" })}</WidgetTitle> <WidgetTitle {onClose}>{_t('cellDataWidget.title', { defaultMessage: "Cell data view" })}</WidgetTitle>
<div class="main"> <div class="main">
<div class="toolbar"> <div class="toolbar">
Format:<span>&nbsp;</span> Format:<span>&nbsp;</span>

View File

@@ -4,7 +4,6 @@
import DatabaseWidget from './DatabaseWidget.svelte'; import DatabaseWidget from './DatabaseWidget.svelte';
import FilesWidget from './FilesWidget.svelte'; import FilesWidget from './FilesWidget.svelte';
import PluginsWidget from './PluginsWidget.svelte'; import PluginsWidget from './PluginsWidget.svelte';
import CellDataWidget from './CellDataWidget.svelte';
import HistoryWidget from './HistoryWidget.svelte'; import HistoryWidget from './HistoryWidget.svelte';
import AdminMenuWidget from './AdminMenuWidget.svelte'; import AdminMenuWidget from './AdminMenuWidget.svelte';
import AdminPremiumPromoWidget from './AdminPremiumPromoWidget.svelte'; import AdminPremiumPromoWidget from './AdminPremiumPromoWidget.svelte';
@@ -29,9 +28,6 @@
{#if $visibleSelectedWidget == 'plugins' && hasPermission('widgets/plugins')} {#if $visibleSelectedWidget == 'plugins' && hasPermission('widgets/plugins')}
<PluginsWidget /> <PluginsWidget />
{/if} {/if}
{#if $visibleSelectedWidget == 'cell-data' && hasPermission('widgets/cell-data')}
<CellDataWidget />
{/if}
{#if $visibleSelectedWidget == 'admin' && hasPermission('widgets/admin')} {#if $visibleSelectedWidget == 'admin' && hasPermission('widgets/admin')}
<AdminMenuWidget /> <AdminMenuWidget />
{/if} {/if}

View File

@@ -72,11 +72,6 @@
// name: 'plugins', // name: 'plugins',
// title: 'Extensions & Plugins', // title: 'Extensions & Plugins',
// }, // },
{
icon: 'icon cell-data',
name: 'cell-data',
title: _t('widgets.selectedCellDataDetailView', { defaultMessage: 'Selected cell data detail view' }),
},
{ {
name: 'cloud-public', name: 'cloud-public',
title: _t('widgets.dbgateCloud', { defaultMessage: 'DbGate Cloud' }), title: _t('widgets.dbgateCloud', { defaultMessage: 'DbGate Cloud' }),