-
Notifications
You must be signed in to change notification settings - Fork 41
/
UnitInfo.jsx
69 lines (57 loc) · 1.94 KB
/
UnitInfo.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import React, {Component} from "react";
import {connect} from "react-redux";
import {
Form,
Dropdown,
Segment
} from "semantic-ui-react";
import {selectUnitInfo} from "../unitInfoSelectors";
import {updateUnitInfo} from "../unitInfoActions";
const FACTIONS = [
{value : "cc", text : "Capellan Confederation"},
{value : "dc", text : "Draconis Combine"},
{value : "elh", text : "Eridani Light Horse"},
{value : "fs", text : "Federated Suns"},
{value : "fwl", text : "Free Worlds League"},
{value : "hr", text : "Hansen's Roughriders"},
{value : "lc", text : "Lyran Commonwealth"},
{value : "wd", text : "Wolf's Dragoons"},
];
const mapState = (state) => ({
unitInfo : selectUnitInfo(state),
});
const actions = {
updateUnitInfo,
};
class UnitInfo extends Component {
onAffiliationChanged = (e, result) => {
const {name, value} = result;
const newValues = { [name] : value};
this.props.updateUnitInfo(newValues);
}
render() {
const {unitInfo} = this.props;
const {name, affiliation} = unitInfo;
return (
<Segment attached="bottom">
<Form size="large">
<Form.Field name="name" width={6}>
<label>Unit Name</label>
<input placeholder="Name" name="name" value={name}/>
</Form.Field>
<Form.Field name="affiliation" width={6}>
<label>Affiliation</label>
<Dropdown
name="affiliation"
selection
options={FACTIONS}
value={affiliation}
onChange={this.onAffiliationChanged}
/>
</Form.Field>
</Form>
</Segment>
);
}
}
export default connect(mapState, actions)(UnitInfo);