diff --git a/packages/web/src/tabs/DbKeyTab.svelte b/packages/web/src/tabs/DbKeyTab.svelte
new file mode 100644
index 000000000..e4858ce53
--- /dev/null
+++ b/packages/web/src/tabs/DbKeyTab.svelte
@@ -0,0 +1,145 @@
+
+
+{#if driver && driver.supportedKeyTypes && driver.supportedKeyTypes.length > 0}
+
+
+
+
+ {
+ // @ts-ignore
+ keyName = e.target.value;
+ }}
+ />
+
+
+
+
+
+ ({ value: t.name, label: t.label }))}
+ value={type}
+ isNative
+ on:change={e => {
+ type = e.detail;
+ }}
+ />
+
+
+
x.name == type).dbKeyFields}
+ {item}
+ onChangeItem={value => {
+ item = value;
+ }}
+ />
+
+
+
+
+
+
+
+
+
+{:else}
+
+{/if}
+
+
\ No newline at end of file
diff --git a/packages/web/src/tabs/index.js b/packages/web/src/tabs/index.js
index 1e34e5102..00d1fcb6a 100644
--- a/packages/web/src/tabs/index.js
+++ b/packages/web/src/tabs/index.js
@@ -18,6 +18,7 @@ import * as JsonTab from './JsonTab.svelte';
import * as ChangelogTab from './ChangelogTab.svelte';
import * as DiagramTab from './DiagramTab.svelte';
import * as DbKeyDetailTab from './DbKeyDetailTab.svelte';
+import * as DbKeyTab from './DbKeyTab.svelte';
import * as QueryDataTab from './QueryDataTab.svelte';
import * as ConnectionTab from './ConnectionTab.svelte';
import * as MapTab from './MapTab.svelte';
@@ -50,6 +51,7 @@ export default {
ChangelogTab,
DiagramTab,
DbKeyDetailTab,
+ DbKeyTab,
QueryDataTab,
ConnectionTab,
MapTab,
diff --git a/packages/web/src/widgets/DbKeysTree.svelte b/packages/web/src/widgets/DbKeysTree.svelte
index 512198a44..725071e2f 100644
--- a/packages/web/src/widgets/DbKeysTree.svelte
+++ b/packages/web/src/widgets/DbKeysTree.svelte
@@ -51,25 +51,34 @@
function handleAddKey() {
const connection = $currentDatabase?.connection;
const database = $currentDatabase?.name;
- const driver = findEngineDriver(connection, getExtensions());
- showModal(AddDbKeyModal, {
- conid: connection._id,
- database,
- driver,
- onConfirm: async item => {
- const type = driver.supportedKeyTypes.find(x => x.name == item.type);
-
- await apiCall('database-connections/call-method', {
- conid: connection._id,
- database,
- method: type.addMethod,
- args: [item.keyName, ...type.dbKeyFields.map(fld => item[fld.name])],
- });
-
- reloadModel();
+ openNewTab({
+ tabComponent: 'DbKeyTab',
+ title: 'Add key',
+ icon: 'img keydb',
+ props: {
+ conid: connection?._id,
+ database,
},
});
+
+ // showModal(AddDbKeyModal, {
+ // conid: connection._id,
+ // database,
+ // driver,
+ // onConfirm: async item => {
+ // const type = driver.supportedKeyTypes.find(x => x.name == item.type);
+
+ // await apiCall('database-connections/call-method', {
+ // conid: connection._id,
+ // database,
+ // method: type.addMethod,
+ // args: [item.keyName, ...type.dbKeyFields.map(fld => item[fld.name])],
+ // });
+
+ // reloadModel();
+ // },
+ // });
}
$: differentFocusedDb =