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, };