add a cmdr dropdown instead of typing it manually

This commit is contained in:
willyb321
2018-06-30 11:11:08 +10:00
parent e180f96eab
commit b837c8d66c
2 changed files with 26 additions and 2 deletions

View File

@@ -24,6 +24,7 @@ export default class ModalShoppingList extends TranslatedComponent {
mats: {}, mats: {},
failed: false, failed: false,
cmdrName: Persist.getCmdr(), cmdrName: Persist.getCmdr(),
cmdrs: [],
matsPerGrade: Persist.getRolls(), matsPerGrade: Persist.getRolls(),
blueprints: [] blueprints: []
}; };
@@ -34,6 +35,7 @@ export default class ModalShoppingList extends TranslatedComponent {
*/ */
componentDidMount() { componentDidMount() {
this.renderMats(); this.renderMats();
this.getCommanders();
this.registerBPs(); this.registerBPs();
} }
@@ -65,6 +67,21 @@ export default class ModalShoppingList extends TranslatedComponent {
this.setState({ blueprints }); this.setState({ blueprints });
} }
/**
* Get a list of commanders from EDEngineer.
*/
getCommanders() {
request
.get('http://localhost:44405/commanders')
.end((err, res) => {
if (err) {
console.log(err);
return this.setState({ failed: true });
}
this.setState({ cmdrs: JSON.parse(res.text) });
});
}
/** /**
* Send all blueprints to ED Engineer * Send all blueprints to ED Engineer
* @param {Event} event React event * @param {Event} event React event
@@ -197,9 +214,11 @@ export default class ModalShoppingList extends TranslatedComponent {
<div> <div>
<textarea className='cb json' readOnly value={this.state.matsList} /> <textarea className='cb json' readOnly value={this.state.matsList} />
</div> </div>
<label className={'l cap'}>CMDR Name (as displayed on EDEngineer) </label> <label className={'l cap'}>CMDR Name </label>
<br/> <br/>
<input type={'text'} className={'l cap cb'} defaultValue={this.state.cmdrName} onChange={this.cmdrChangeHandler} /> <select className={'cmdr-select l cap'} onChange={this.cmdrChangeHandler} defaultValue={this.state.cmdrName}>
{this.state.cmdrs.map(e => <option>{e}</option>)}
</select>
<br/> <br/>
<p hidden={!this.state.failed} id={'failed'}>Failed to send to EDEngineer (Launch EDEngineer and make sure the API is started then refresh the page.)</p> <p hidden={!this.state.failed} id={'failed'}>Failed to send to EDEngineer (Launch EDEngineer and make sure the API is started then refresh the page.)</p>
<button className={'l cb dismiss cap'} disabled={!this.state.cmdrName || !!this.state.failed} onClick={this.sendToEDEng}>{translate('Send To EDEngineer')}</button> <button className={'l cb dismiss cap'} disabled={!this.state.cmdrName || !!this.state.failed} onClick={this.sendToEDEng}>{translate('Send To EDEngineer')}</button>

View File

@@ -22,6 +22,11 @@ select {
} }
} }
.cmdr-select {
border: 1px solid @primary;
padding: 0.5em 0.5em;
}
.select { .select {
color: @primary-disabled; color: @primary-disabled;
position: absolute; position: absolute;