update it

This commit is contained in:
Sukchan Lee 2017-06-27 19:14:03 +09:00
parent a5ea1dc6f1
commit 76a2fe181f
3 changed files with 31 additions and 11 deletions

View File

@ -165,14 +165,15 @@ class Form extends Component {
const { formData, status, errors } = data;
const { disableSubmitButton } = this.state;
// I think there is a library bug React or Jsonschema
// For workaround, I'll simply add 'formData' in setState
this.setState({
disableSubmitButton: status !== 'editing' || errors.length !== 0,
formData
});
console.log(data);
let check = (status !== 'editing' || errors.length !== 0);
if (check !== disableSubmitButton) {
// I think there is a library bug React or Jsonschema
// For workaround, I'll simply add 'formData' in setState
this.setState({
disableSubmitButton: check,
formData
});
}
}
render() {
@ -191,6 +192,7 @@ class Form extends Component {
schema,
uiSchema,
formData,
validate,
onHide,
onSubmit
} = this.props;
@ -211,6 +213,7 @@ class Form extends Component {
fields={fields}
FieldTemplate={CustomFieldTemplate}
liveValidate
validate={validate}
showErrorList={false}
transformErrors={transformErrors}
autocomplete="off"

View File

@ -164,19 +164,35 @@ class Edit extends Component {
onSubmit: PropTypes.func,
}
validate = (formData, errors) => {
const { subscribers } = this.props;
const { imsi } = formData;
if (subscribers.filter(subscriber => subscriber.imsi === imsi).length > 0) {
errors.imsi.addError("IMSI has already been registered");
}
return errors;
}
render() {
const {
validate,
} = this;
const {
visible,
onHide,
onSubmit
onSubmit,
} = this.props;
return (
<Form
schema={schema}
uiSchema={uiSchema}
visible={visible}
title="Create Subscriber"
schema={schema}
uiSchema={uiSchema}
validate={validate}
onHide={onHide}
onSubmit={onSubmit}>
</Form>

View File

@ -141,6 +141,7 @@ class SubscriberContainer extends Component {
/>
<FloatingButton onClick={formHandler.show}/>
<Subscriber.Edit
subscribers={subscribers.data}
visible={form.visible}
onHide={formHandler.hide}
onSubmit={formHandler.submit} />