diff --git a/packages/web/src/dbkeyvalue/DbKeyItemDetail.svelte b/packages/web/src/dbkeyvalue/DbKeyItemDetail.svelte
index 8e927d976..77bcdd446 100644
--- a/packages/web/src/dbkeyvalue/DbKeyItemDetail.svelte
+++ b/packages/web/src/dbkeyvalue/DbKeyItemDetail.svelte
@@ -3,13 +3,25 @@
export let keyInfo;
export let item;
+ export let onChangeItem;
{#each keyInfo.tableColumns as column}
{column.name}
-
+
{
+ if (onChangeItem) {
+ onChangeItem({
+ ...item,
+ [column.name]: e.detail,
+ });
+ }
+ }}
+ />
{/each}
diff --git a/packages/web/src/modals/DbKeyAddItemModal.svelte b/packages/web/src/modals/DbKeyAddItemModal.svelte
index 2bdab7000..57122c545 100644
--- a/packages/web/src/modals/DbKeyAddItemModal.svelte
+++ b/packages/web/src/modals/DbKeyAddItemModal.svelte
@@ -1,36 +1,47 @@
-
+
-
- Add item
-
+ Add item
-
+
+ {
+ item = value;
+ }}
+ />
+
- handleSubmit(e.detail)} />
+ handleSubmit()} />
+
+
diff --git a/packages/web/src/tabs/DbKeyDetailTab.svelte b/packages/web/src/tabs/DbKeyDetailTab.svelte
index 31dda6871..e3f0b733b 100644
--- a/packages/web/src/tabs/DbKeyDetailTab.svelte
+++ b/packages/web/src/tabs/DbKeyDetailTab.svelte
@@ -83,7 +83,18 @@
}
async function addItem(keyInfo) {
- showModal(DbKeyAddItemModal, { keyInfo });
+ showModal(DbKeyAddItemModal, {
+ keyInfo,
+ onConfirm: async row => {
+ await apiCall('database-connections/call-method', {
+ conid,
+ database,
+ method: keyInfo.addMethod,
+ args: [keyInfo.key, ...keyInfo.tableColumns.map(col => row[col.name])],
+ });
+ refresh();
+ },
+ });
}