database object context menu tidy up

This commit is contained in:
Jan Prochazka
2021-01-23 09:17:38 +01:00
parent 5935c9a9e7
commit 11f5bb8b93

View File

@@ -1,6 +1,6 @@
import _ from 'lodash'; import _ from 'lodash';
import React from 'react'; import React from 'react';
import { DropDownMenuItem } from '../modals/DropDownMenu'; import { DropDownMenuDivider, DropDownMenuItem } from '../modals/DropDownMenu';
import { getConnectionInfo } from '../utility/metadataLoaders'; import { getConnectionInfo } from '../utility/metadataLoaders';
import fullDisplayName from '../utility/fullDisplayName'; import fullDisplayName from '../utility/fullDisplayName';
import { filterName } from 'dbgate-datalib'; import { filterName } from 'dbgate-datalib';
@@ -43,8 +43,11 @@ const menus = {
tab: 'TableStructureTab', tab: 'TableStructureTab',
}, },
{ {
label: 'Show CREATE TABLE script', label: 'Query designer',
sqlTemplate: 'CREATE TABLE', isQueryDesigner: true,
},
{
isDivider: true,
}, },
{ {
label: 'Export', label: 'Export',
@@ -59,8 +62,11 @@ const menus = {
isActiveChart: true, isActiveChart: true,
}, },
{ {
label: 'Query designer', isDivider: true,
isQueryDesigner: true, },
{
label: 'SQL: CREATE TABLE',
sqlTemplate: 'CREATE TABLE',
}, },
], ],
views: [ views: [
@@ -70,12 +76,15 @@ const menus = {
forceNewTab: true, forceNewTab: true,
}, },
{ {
label: 'Show CREATE VIEW script', label: 'Open structure',
sqlTemplate: 'CREATE OBJECT', tab: 'TableStructureTab',
}, },
{ {
label: 'Show CREATE TABLE script', label: 'Query designer',
sqlTemplate: 'CREATE TABLE', isQueryDesigner: true,
},
{
isDivider: true,
}, },
{ {
label: 'Export', label: 'Export',
@@ -85,32 +94,35 @@ const menus = {
label: 'Open in free table editor', label: 'Open in free table editor',
isOpenFreeTable: true, isOpenFreeTable: true,
}, },
{
label: 'Open structure',
tab: 'TableStructureTab',
},
{ {
label: 'Open active chart', label: 'Open active chart',
isActiveChart: true, isActiveChart: true,
}, },
{ {
label: 'Query designer', isDivider: true,
isQueryDesigner: true, },
{
label: 'SQL: CREATE VIEW',
sqlTemplate: 'CREATE OBJECT',
},
{
label: 'SQL: CREATE TABLE',
sqlTemplate: 'CREATE TABLE',
}, },
], ],
procedures: [ procedures: [
{ {
label: 'Show CREATE PROCEDURE script', label: 'SQL: CREATE PROCEDURE',
sqlTemplate: 'CREATE OBJECT', sqlTemplate: 'CREATE OBJECT',
}, },
{ {
label: 'Show EXECUTE script', label: 'SQL: EXECUTE',
sqlTemplate: 'EXECUTE PROCEDURE', sqlTemplate: 'EXECUTE PROCEDURE',
}, },
], ],
functions: [ functions: [
{ {
label: 'Show CREATE FUNCTION script', label: 'SQL: CREATE FUNCTION',
sqlTemplate: 'CREATE OBJECT', sqlTemplate: 'CREATE OBJECT',
}, },
], ],
@@ -169,7 +181,10 @@ function Menu({ data }) {
return ( return (
<> <>
{menus[data.objectTypeField].map(menu => ( {menus[data.objectTypeField].map(menu =>
menu.isDivider ? (
<DropDownMenuDivider />
) : (
<DropDownMenuItem <DropDownMenuItem
key={menu.label} key={menu.label}
onClick={async () => { onClick={async () => {
@@ -265,7 +280,8 @@ function Menu({ data }) {
> >
{menu.label} {menu.label}
</DropDownMenuItem> </DropDownMenuItem>
))} )
)}
</> </>
); );
} }