mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-17 23:45:59 +00:00
Refactor DbKeyDetailTab to integrate Redis data type editors for list, hash, zset, set, and stream
This commit is contained in:
@@ -30,6 +30,11 @@
|
|||||||
import InputTextModal from '../modals/InputTextModal.svelte';
|
import InputTextModal from '../modals/InputTextModal.svelte';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import DbKeyItemDetail from '../dbkeyvalue/DbKeyItemDetail.svelte';
|
import DbKeyItemDetail from '../dbkeyvalue/DbKeyItemDetail.svelte';
|
||||||
|
import DbKeyValueListEdit from '../dbkeyvalue/DbKeyValueListEdit.svelte';
|
||||||
|
import DbKeyValueHashEdit from '../dbkeyvalue/DbKeyValueHashEdit.svelte';
|
||||||
|
import DbKeyValueZSetEdit from '../dbkeyvalue/DbKeyValueZSetEdit.svelte';
|
||||||
|
import DbKeyValueSetEdit from '../dbkeyvalue/DbKeyValueSetEdit.svelte';
|
||||||
|
import DbKeyValueStreamEdit from '../dbkeyvalue/DbKeyValueStreamEdit.svelte';
|
||||||
import DbKeyAddItemModal from '../modals/DbKeyAddItemModal.svelte';
|
import DbKeyAddItemModal from '../modals/DbKeyAddItemModal.svelte';
|
||||||
import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
|
import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
|
||||||
import { changeTab } from '../utility/common';
|
import { changeTab } from '../utility/common';
|
||||||
@@ -57,6 +62,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
let currentRow;
|
let currentRow;
|
||||||
|
let showAddForm = false;
|
||||||
|
|
||||||
$: key = $activeDbKeysStore[`${conid}:${database}`];
|
$: key = $activeDbKeysStore[`${conid}:${database}`];
|
||||||
let refreshToken = 0;
|
let refreshToken = 0;
|
||||||
@@ -236,15 +242,69 @@
|
|||||||
{changeSetRedis}
|
{changeSetRedis}
|
||||||
onChangeSelected={row => {
|
onChangeSelected={row => {
|
||||||
currentRow = row;
|
currentRow = row;
|
||||||
|
showAddForm = false;
|
||||||
}}
|
}}
|
||||||
modifyRow={row => getDisplayRow(row, keyInfo)}
|
modifyRow={row => getDisplayRow(row, keyInfo)}
|
||||||
/>
|
/>
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
<svelte:fragment slot="2">
|
<svelte:fragment slot="2">
|
||||||
<DbKeyItemDetail
|
{#if showAddForm}
|
||||||
dbKeyFields={keyInfo.keyType.dbKeyFields}
|
{#if keyInfo.type === 'list'}
|
||||||
item={getDisplayRow(currentRow, keyInfo)}
|
<DbKeyValueListEdit
|
||||||
onChangeItem={item => {
|
dbKeyFields={keyInfo.keyType.dbKeyFields}
|
||||||
|
item={null}
|
||||||
|
keyColumn={null}
|
||||||
|
onChangeItem={item => {
|
||||||
|
console.log('Add item:', item);
|
||||||
|
showAddForm = false;
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
{:else if keyInfo.type === 'hash'}
|
||||||
|
<DbKeyValueHashEdit
|
||||||
|
dbKeyFields={keyInfo.keyType.dbKeyFields}
|
||||||
|
item={null}
|
||||||
|
keyColumn={null}
|
||||||
|
onChangeItem={item => {
|
||||||
|
console.log('Add item:', item);
|
||||||
|
showAddForm = false;
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
{:else if keyInfo.type === 'zset'}
|
||||||
|
<DbKeyValueZSetEdit
|
||||||
|
dbKeyFields={keyInfo.keyType.dbKeyFields}
|
||||||
|
item={null}
|
||||||
|
keyColumn={null}
|
||||||
|
onChangeItem={item => {
|
||||||
|
console.log('Add item:', item);
|
||||||
|
showAddForm = false;
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
{:else if keyInfo.type === 'set'}
|
||||||
|
<DbKeyValueSetEdit
|
||||||
|
dbKeyFields={keyInfo.keyType.dbKeyFields}
|
||||||
|
item={null}
|
||||||
|
keyColumn={null}
|
||||||
|
onChangeItem={item => {
|
||||||
|
console.log('Add item:', item);
|
||||||
|
showAddForm = false;
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
{:else if keyInfo.type === 'stream'}
|
||||||
|
<DbKeyValueStreamEdit
|
||||||
|
dbKeyFields={keyInfo.keyType.dbKeyFields}
|
||||||
|
item={null}
|
||||||
|
keyColumn={null}
|
||||||
|
onChangeItem={item => {
|
||||||
|
console.log('Add item:', item);
|
||||||
|
showAddForm = false;
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
{/if}
|
||||||
|
{:else}
|
||||||
|
<DbKeyItemDetail
|
||||||
|
dbKeyFields={keyInfo.keyType.dbKeyFields}
|
||||||
|
item={getDisplayRow(currentRow, keyInfo)}
|
||||||
|
onChangeItem={item => {
|
||||||
const existingChange = changeSetRedis.changes.find(
|
const existingChange = changeSetRedis.changes.find(
|
||||||
c => c.key === keyInfo.key && c.type === keyInfo.type
|
c => c.key === keyInfo.key && c.type === keyInfo.type
|
||||||
);
|
);
|
||||||
@@ -290,7 +350,8 @@
|
|||||||
addOrUpdateChange(zsetChange);
|
addOrUpdateChange(zsetChange);
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
{/if}
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
</VerticalSplitter>
|
</VerticalSplitter>
|
||||||
{:else}
|
{:else}
|
||||||
|
|||||||
Reference in New Issue
Block a user