runAsPortal - connections from env variables, cannot be changed

This commit is contained in:
Jan Prochazka
2020-05-17 08:43:42 +02:00
parent 044d8dc538
commit 0bf44b9a9d
8 changed files with 68 additions and 8 deletions

View File

@@ -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>
)}

View File

@@ -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, {}) || {};
}

View File

@@ -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>