create database modal

This commit is contained in:
Jan Prochazka
2020-06-18 16:15:39 +02:00
parent ec8b034541
commit 07287e5f7f
4 changed files with 55 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ import axios from '../utility/axios';
import { filterName } from '@dbgate/datalib';
import ConfirmModal from '../modals/ConfirmModal';
import { useConfig } from '../utility/metadataLoaders';
import CreateDatabaseModal from '../modals/CreateDatabaseModal';
function Menu({ data, setOpenedConnections, openedConnections, config, showModal }) {
const handleEdit = () => {
@@ -22,6 +23,9 @@ function Menu({ data, setOpenedConnections, openedConnections, config, showModal
/>
));
};
const handleCreateDatabase = () => {
showModal((modalState) => <CreateDatabaseModal modalState={modalState} conid={data._id} />);
};
const handleRefresh = () => {
axios.post('server-connections/refresh', { conid: data._id });
};
@@ -46,6 +50,9 @@ function Menu({ data, setOpenedConnections, openedConnections, config, showModal
{openedConnections.includes(data._id) && (
<DropDownMenuItem onClick={handleDisconnect}>Disconnect</DropDownMenuItem>
)}
{openedConnections.includes(data._id) && (
<DropDownMenuItem onClick={handleCreateDatabase}>Create database</DropDownMenuItem>
)}
</>
);
}

View File

@@ -0,0 +1,32 @@
import React from 'react';
import axios from '../utility/axios';
import ModalBase from './ModalBase';
import { FormTextField, FormSubmit } from '../utility/forms';
import { Formik, Form } from 'formik';
import ModalHeader from './ModalHeader';
import ModalContent from './ModalContent';
import ModalFooter from './ModalFooter';
export default function CreateDatabaseModal({ modalState, conid }) {
const handleSubmit = async (values) => {
const { name } = values;
axios.post('server-connections/create-database', { conid, name });
modalState.close();
};
return (
<ModalBase modalState={modalState}>
<ModalHeader modalState={modalState}>Create database</ModalHeader>
<Formik onSubmit={handleSubmit} initialValues={{ name: 'newdb' }}>
<Form>
<ModalContent>
<FormTextField label="Database name" name="name" />
</ModalContent>
<ModalFooter>
<FormSubmit text="Create" />
</ModalFooter>
</Form>
</Formik>
</ModalBase>
);
}