selection of known hosts to form (#4379)
This commit is contained in:
parent
c9ddd042fc
commit
a65ce8694c
3 changed files with 61 additions and 22 deletions
|
@ -11,4 +11,8 @@
|
||||||
.connectForm-submit.MuiButton-root {
|
.connectForm-submit.MuiButton-root {
|
||||||
display: block;
|
display: block;
|
||||||
margin: 20px auto 0;
|
margin: 20px auto 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.selectKnownHosts-items {
|
||||||
|
margin-bottom: 4px;
|
||||||
}
|
}
|
|
@ -1,34 +1,59 @@
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
import React, { Component } from "react";
|
import React, { useState } from "react";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Form, Field, reduxForm } from "redux-form"
|
import { Form, Field, reduxForm, change} from "redux-form"
|
||||||
|
|
||||||
import Button from "@material-ui/core/Button";
|
import Button from "@material-ui/core/Button";
|
||||||
|
|
||||||
import { InputField } from "components";
|
import { InputField } from "components";
|
||||||
import { FormKey } from 'types';
|
import { FormKey, KnownHost, KnownHosts } from 'types';
|
||||||
|
|
||||||
import "./ConnectForm.css";
|
import "./ConnectForm.css";
|
||||||
|
import { Select, MenuItem } from "@material-ui/core";
|
||||||
|
|
||||||
const ConnectForm = ({ handleSubmit }) => (
|
const ConnectForm = (props) => {
|
||||||
<Form className="connectForm" onSubmit={handleSubmit}>
|
const { handleSubmit, dispatch } = props;
|
||||||
<div className="connectForm-item">
|
const [knownHosts, setKnownHosts] = useState(KnownHost.ROOSTER);
|
||||||
<Field label="Host" name="host" component={InputField} />
|
|
||||||
</div>
|
const handleChange = (event) => {
|
||||||
<div className="connectForm-item">
|
setKnownHosts(event.target.value);
|
||||||
<Field label="Port" name="port" component={InputField} />
|
dispatch(change(FormKey.CONNECT,'host', KnownHosts[event.target.value].host));
|
||||||
</div>
|
dispatch(change(FormKey.CONNECT,'port', KnownHosts[event.target.value].port))
|
||||||
<div className="connectForm-item">
|
};
|
||||||
<Field label="User" name="user" component={InputField} autoComplete="username" />
|
|
||||||
</div>
|
return (
|
||||||
<div className="connectForm-item">
|
<Form className="connectForm" onSubmit={handleSubmit}>
|
||||||
<Field label="Pass" name="pass" type="password" component={InputField} autoComplete="current-password" />
|
<div className="connectForm-item">
|
||||||
</div>
|
<Select
|
||||||
<Button className="connectForm-submit" color="primary" variant="contained" type="submit">
|
labelId="selectedKnownHosts-label"
|
||||||
Connect
|
id="selectedKnownHosts-label"
|
||||||
</Button>
|
className="selectKnownHosts-items"
|
||||||
</Form>
|
value={knownHosts}
|
||||||
);
|
fullWidth={true}
|
||||||
|
onChange={handleChange}
|
||||||
|
>
|
||||||
|
<MenuItem value={KnownHost.ROOSTER}>{KnownHost.ROOSTER}</MenuItem>
|
||||||
|
<MenuItem value={KnownHost.TETRARCH}>{KnownHost.TETRARCH}</MenuItem>
|
||||||
|
</Select>
|
||||||
|
</div>
|
||||||
|
<div className="connectForm-item">
|
||||||
|
<Field label="Host" name="host" component={InputField} />
|
||||||
|
</div>
|
||||||
|
<div className="connectForm-item">
|
||||||
|
<Field label="Port" name="port" component={InputField} />
|
||||||
|
</div>
|
||||||
|
<div className="connectForm-item">
|
||||||
|
<Field label="User" name="user" component={InputField} autoComplete="username" />
|
||||||
|
</div>
|
||||||
|
<div className="connectForm-item">
|
||||||
|
<Field label="Pass" name="pass" type="password" component={InputField} autoComplete="current-password" />
|
||||||
|
</div>
|
||||||
|
<Button className="connectForm-submit" color="primary" variant="contained" type="submit">
|
||||||
|
Connect
|
||||||
|
</Button>
|
||||||
|
</Form>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
const propsMap = {
|
const propsMap = {
|
||||||
form: FormKey.CONNECT
|
form: FormKey.CONNECT
|
||||||
|
|
|
@ -16,6 +16,16 @@ export enum StatusEnumLabel {
|
||||||
"Disconnecting" = 99
|
"Disconnecting" = 99
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum KnownHost {
|
||||||
|
ROOSTER = 'Rooster',
|
||||||
|
TETRARCH = 'Tetrarch',
|
||||||
|
}
|
||||||
|
|
||||||
|
export const KnownHosts = {
|
||||||
|
[KnownHost.ROOSTER]: { port: 443, host: 'server.cockatrice.us', },
|
||||||
|
[KnownHost.TETRARCH]: { port: 443, host: 'mtg.tetrarch.co/servatrice'},
|
||||||
|
}
|
||||||
|
|
||||||
export const getStatusEnumLabel = (statusEnum: number) => {
|
export const getStatusEnumLabel = (statusEnum: number) => {
|
||||||
if (StatusEnumLabel[statusEnum] !== undefined) {
|
if (StatusEnumLabel[statusEnum] !== undefined) {
|
||||||
return StatusEnumLabel[statusEnum];
|
return StatusEnumLabel[statusEnum];
|
||||||
|
|
Loading…
Reference in a new issue