Skip to content
This repository has been archived by the owner on Mar 27, 2023. It is now read-only.

Commit

Permalink
update the phone number on CallToolView and show validation errors
Browse files Browse the repository at this point in the history
  • Loading branch information
NealJMD committed Jul 26, 2017
1 parent 3232254 commit 075cc25
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 15 deletions.
13 changes: 0 additions & 13 deletions app/javascript/call_tool/CallToolView.js
Expand Up @@ -146,15 +146,6 @@ class CallToolView extends Component {
});
}

memberPhoneCountryCodeChanged(memberPhoneCountryCode: string) {
this.setState(prevState => {
return {
form: { ...prevState.form, memberPhoneCountryCode },
errors: { ...prevState.errors, memberPhoneCountryCode: null },
};
});
}

selectNewTarget() {
return sample(this.props.targets);
}
Expand Down Expand Up @@ -289,13 +280,9 @@ class CallToolView extends Component {
? this.prefilledTargetForDisplay()
: this.state.selectedTarget
}
form={this.state.form}
errors={this.state.errors}
onCountryCodeChange={this.countryCodeChanged.bind(this)}
onMemberPhoneNumberChange={this.memberPhoneNumberChanged.bind(this)}
onMemberPhoneCountryCodeChange={this.memberPhoneCountryCodeChanged.bind(
this
)}
onTargetSelected={id => this.selectTarget(id)}
onSubmit={this.submit.bind(this)}
loading={this.state.loading}
Expand Down
5 changes: 3 additions & 2 deletions app/javascript/components/CallTool/Form.js
Expand Up @@ -17,7 +17,6 @@ import type {
Country,
CountryPhoneCode,
Target,
FormType,
Errors,
} from '../../call_tool/CallToolView';

Expand All @@ -26,9 +25,9 @@ type Props = {
selectedTarget: Target,
restrictedCountryCode?: string,
targetByAttributes: string[],
form: FormType,
errors: Errors,
onTargetSelected: (id: ?string) => void,
onMemberPhoneNumberChange: string => void,
onSubmit: any => void,
loading: boolean,
filters?: Filters,
Expand Down Expand Up @@ -81,6 +80,7 @@ class Form extends Component {
}

updatePhoneNumber(memberPhoneNumber: string) {
this.props.onMemberPhoneNumberChange(memberPhoneNumber);
this.setState(prevState => ({
...prevState,
memberPhoneNumber,
Expand Down Expand Up @@ -112,6 +112,7 @@ class Form extends Component {
}
onChange={(number: string) => this.updatePhoneNumber(number)}
restrictedCountryCode={this.props.restrictedCountryCode}
errors={this.props.errors}
/>

<Button
Expand Down
8 changes: 8 additions & 0 deletions app/javascript/components/SweetPhoneInput/SweetPhoneInput.js
Expand Up @@ -11,11 +11,14 @@ import SelectCountry from '../SelectCountry/SelectCountry';

import './SweetPhoneInput.scss';

import type { Errors } from '../../call_tool/CallToolView';

type Props = {
value: string,
onChange: (number: string) => void,
title?: any,
className?: string,
errors: Errors,
defaultCountryCode?: string,
restrictedCountryCode?: string,
};
Expand Down Expand Up @@ -116,6 +119,7 @@ class SweetPhoneInput extends Component {
{
SweetPhoneInput__root: true,
'selecting-country': this.state.selectingCountry,
'has-error': this.props.errors.memberPhoneNumber,
},
this.props.className
);
Expand Down Expand Up @@ -163,6 +167,10 @@ class SweetPhoneInput extends Component {
onChange={code => this.onCountryCodeChange(code)}
/>
</div>
{this.props.errors.memberPhoneNumber !== undefined &&
<div className="base-errors">
{this.props.errors.memberPhoneNumber}
</div>}
</div>
);
}
Expand Down
Expand Up @@ -52,6 +52,10 @@
display: none;
}

.has-error .SweetPhoneInput {
border: 2px solid #f8492e;
}

.selecting-country {
.SweetPhoneInput {
border: 2px solid #00c0cf;
Expand Down

0 comments on commit 075cc25

Please sign in to comment.