mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 13:06:01 +00:00
runAsPortal - connections from env variables, cannot be changed
This commit is contained in:
@@ -7,8 +7,10 @@ import ConnectionModal from '../modals/ConnectionModal';
|
||||
import axios from '../utility/axios';
|
||||
import { filterName } from '@dbgate/datalib';
|
||||
import ConfirmModal from '../modals/ConfirmModal';
|
||||
import { useConfig } from '../utility/metadataLoaders';
|
||||
|
||||
function Menu({ data, setOpenedConnections, openedConnections }) {
|
||||
const config = useConfig();
|
||||
const handleEdit = () => {
|
||||
showModal((modalState) => <ConnectionModal modalState={modalState} connection={data} />);
|
||||
};
|
||||
@@ -27,10 +29,18 @@ function Menu({ data, setOpenedConnections, openedConnections }) {
|
||||
const handleDisconnect = () => {
|
||||
setOpenedConnections((list) => list.filter((x) => x != data._id));
|
||||
};
|
||||
const handleConnect = () => {
|
||||
setOpenedConnections((list) => [...list, data._id]);
|
||||
};
|
||||
return (
|
||||
<>
|
||||
<DropDownMenuItem onClick={handleEdit}>Edit</DropDownMenuItem>
|
||||
<DropDownMenuItem onClick={handleDelete}>Delete</DropDownMenuItem>
|
||||
{config.runAsPortal == false && (
|
||||
<>
|
||||
<DropDownMenuItem onClick={handleEdit}>Edit</DropDownMenuItem>
|
||||
<DropDownMenuItem onClick={handleDelete}>Delete</DropDownMenuItem>
|
||||
</>
|
||||
)}
|
||||
{!openedConnections.includes(data._id) && <DropDownMenuItem onClick={handleConnect}>Connect</DropDownMenuItem>}
|
||||
{openedConnections.includes(data._id) && data.status && (
|
||||
<DropDownMenuItem onClick={handleRefresh}>Refresh</DropDownMenuItem>
|
||||
)}
|
||||
|
||||
@@ -40,6 +40,12 @@ const connectionInfoLoader = ({ conid }) => ({
|
||||
reloadTrigger: 'connection-list-changed',
|
||||
});
|
||||
|
||||
const configLoader = () => ({
|
||||
url: 'config/get',
|
||||
params: {},
|
||||
reloadTrigger: 'config-changed',
|
||||
});
|
||||
|
||||
// const sqlObjectListLoader = ({ conid, database }) => ({
|
||||
// url: 'metadata/list-objects',
|
||||
// params: { conid, database },
|
||||
@@ -204,3 +210,10 @@ export function getConnectionList() {
|
||||
export function useConnectionList() {
|
||||
return useCore(connectionListLoader, {});
|
||||
}
|
||||
|
||||
export function getConfig() {
|
||||
return getCore(configLoader, {}) || {};
|
||||
}
|
||||
export function useConfig() {
|
||||
return useCore(configLoader, {}) || {};
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import ConnectionModal from '../modals/ConnectionModal';
|
||||
import styled from 'styled-components';
|
||||
import ToolbarButton from './ToolbarButton';
|
||||
import useNewQuery from '../query/useNewQuery';
|
||||
import { useConfig } from '../utility/metadataLoaders';
|
||||
|
||||
const ToolbarContainer = styled.div`
|
||||
display: flex;
|
||||
@@ -13,13 +14,16 @@ const ToolbarContainer = styled.div`
|
||||
export default function ToolBar({ toolbarPortalRef }) {
|
||||
const modalState = useModalState();
|
||||
const newQuery = useNewQuery();
|
||||
const config = useConfig();
|
||||
|
||||
return (
|
||||
<ToolbarContainer>
|
||||
<ConnectionModal modalState={modalState} />
|
||||
<ToolbarButton onClick={modalState.open} icon="fas fa-database">
|
||||
Add connection
|
||||
</ToolbarButton>
|
||||
{config.runAsPortal == false && (
|
||||
<ToolbarButton onClick={modalState.open} icon="fas fa-database">
|
||||
Add connection
|
||||
</ToolbarButton>
|
||||
)}
|
||||
<ToolbarButton onClick={newQuery} icon="fas fa-file-alt">
|
||||
New Query
|
||||
</ToolbarButton>
|
||||
|
||||
Reference in New Issue
Block a user