stitch-ui
Version:
78 lines (74 loc) • 2.19 kB
JavaScript
import React from "react"; // eslint-disable-line no-unused-vars
import { connect } from "react-redux";
import { AlertContainer } from "../../../alert";
import * as actions from "../../actions";
import {
Banner,
Spinner,
FormRow,
FormRowInputGroup,
FormRowLabelGroup,
Button,
MaskedInput
} from "../../../core";
import { BaseConfigEditor } from "../../config";
const INPUT_DOMAIN = "domain";
const INPUT_APIKEY = "apiKey";
class EditConfig extends BaseConfigEditor {
render() {
const {
configSaveError,
savingConfig,
serviceConfigInputs,
alertKey
} = this.props;
return (
<div className="service-config">
<Banner message={configSaveError} error />
<FormRow>
<FormRowLabelGroup>
<label className="form-row-label" htmlFor="domain">
Domain
</label>
</FormRowLabelGroup>
<FormRowInputGroup>
<input
type="text"
className="text-input form-row-text-input"
placeholder="example.com"
name={INPUT_DOMAIN}
value={serviceConfigInputs.get(INPUT_DOMAIN)}
onChange={e => this.setConfigInput(INPUT_DOMAIN, e)}
/>
</FormRowInputGroup>
</FormRow>
<FormRow last>
<FormRowLabelGroup>
<label className="form-row-label" htmlFor={INPUT_APIKEY}>
API Key
</label>
</FormRowLabelGroup>
<FormRowInputGroup>
<MaskedInput
type="text"
name={INPUT_APIKEY}
value={serviceConfigInputs.get(INPUT_APIKEY)}
onChange={e => this.setConfigInput(INPUT_APIKEY, e)}
/>
</FormRowInputGroup>
</FormRow>
<div>
<Button default disabled={savingConfig} onClick={this.saveConfig}>
Save
</Button>
<Spinner open={savingConfig} />
<AlertContainer alertKey={alertKey} />
</div>
</div>
);
}
}
export default connect(
actions.configEditMapper.mapStateToProps,
actions.configEditMapper.mapDispatchToProps
)(EditConfig);