diff --git a/packages/web/src/appobj/DatabaseObjectAppObject.svelte b/packages/web/src/appobj/DatabaseObjectAppObject.svelte
index 4f690d6a6..611061620 100644
--- a/packages/web/src/appobj/DatabaseObjectAppObject.svelte
+++ b/packages/web/src/appobj/DatabaseObjectAppObject.svelte
@@ -53,6 +53,10 @@
label: 'Query designer',
isQueryDesigner: true,
},
+ {
+ label: 'Show diagram',
+ isDiagram: true,
+ },
{
divider: true,
},
@@ -531,6 +535,30 @@
},
}
);
+ } else if (menu.isDiagram) {
+ openNewTab(
+ {
+ title: 'Diagram #',
+ icon: 'img diagram',
+ tabComponent: 'DiagramTab',
+ props: {
+ conid: data.conid,
+ database: data.database,
+ },
+ },
+ {
+ editor: {
+ tables: [
+ {
+ ...data,
+ designerId: uuidv1(),
+ left: 50,
+ top: 50,
+ },
+ ],
+ },
+ }
+ );
} else if (menu.sqlGeneratorProps) {
showModal(SqlGeneratorModal, {
initialObjects: [data],
diff --git a/packages/web/src/icons/FontIcon.svelte b/packages/web/src/icons/FontIcon.svelte
index 472029d7c..f2a1effe0 100644
--- a/packages/web/src/icons/FontIcon.svelte
+++ b/packages/web/src/icons/FontIcon.svelte
@@ -122,6 +122,7 @@
'img preview': 'mdi mdi-file-find color-icon-red',
'img favorite': 'mdi mdi-star color-icon-yellow',
'img query-design': 'mdi mdi-vector-polyline-edit color-icon-red',
+ 'img diagram': 'mdi mdi-graph color-icon-blue',
'img yaml': 'mdi mdi-code-brackets color-icon-red',
'img compare': 'mdi mdi-compare color-icon-red',
diff --git a/packages/web/src/tabs/DiagramTab.svelte b/packages/web/src/tabs/DiagramTab.svelte
new file mode 100644
index 000000000..1745e7d1f
--- /dev/null
+++ b/packages/web/src/tabs/DiagramTab.svelte
@@ -0,0 +1,101 @@
+
+
+
+
+
diff --git a/packages/web/src/tabs/index.js b/packages/web/src/tabs/index.js
index 7e6824834..e3002e0d4 100644
--- a/packages/web/src/tabs/index.js
+++ b/packages/web/src/tabs/index.js
@@ -18,6 +18,7 @@ import * as YamlEditorTab from './YamlEditorTab.svelte';
import * as CompareModelTab from './CompareModelTab.svelte';
import * as JsonTab from './JsonTab.svelte';
import * as ChangelogTab from './ChangelogTab.svelte';
+import * as DiagramTab from './DiagramTab.svelte';
export default {
TableDataTab,
@@ -40,4 +41,5 @@ export default {
CompareModelTab,
JsonTab,
ChangelogTab,
+ DiagramTab,
};