Merge pull request #209 from grant-project/fix-edit-profile
Fix Edit Profile Save Button Always disabled
This commit is contained in:
commit
b83e1f21ec
|
@ -12,7 +12,7 @@ import { Input, Form, Col, Row, Button, Alert, Icon } from 'antd';
|
||||||
import { SOCIAL_INFO } from 'utils/social';
|
import { SOCIAL_INFO } from 'utils/social';
|
||||||
import { SOCIAL_SERVICE, User } from 'types';
|
import { SOCIAL_SERVICE, User } from 'types';
|
||||||
import { UserState } from 'modules/users/reducers';
|
import { UserState } from 'modules/users/reducers';
|
||||||
import { getCreateTeamMemberError } from 'modules/create/utils';
|
import { validateUserProfile } from 'modules/create/utils';
|
||||||
import AvatarEdit from './AvatarEdit';
|
import AvatarEdit from './AvatarEdit';
|
||||||
import './ProfileEdit.less';
|
import './ProfileEdit.less';
|
||||||
|
|
||||||
|
@ -85,8 +85,8 @@ class ProfileEdit extends React.PureComponent<Props, State> {
|
||||||
socialVerificationError,
|
socialVerificationError,
|
||||||
activeSocialService,
|
activeSocialService,
|
||||||
} = this.state;
|
} = this.state;
|
||||||
const error = getCreateTeamMemberError(fields);
|
const error = validateUserProfile(fields);
|
||||||
const isMissingField = !fields.displayName || !fields.title || !fields.emailAddress;
|
const isMissingField = !fields.displayName || !fields.title;
|
||||||
const isDisabled =
|
const isDisabled =
|
||||||
!!error ||
|
!!error ||
|
||||||
isMissingField ||
|
isMissingField ||
|
||||||
|
@ -132,18 +132,6 @@ class ProfileEdit extends React.PureComponent<Props, State> {
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
<Form.Item>
|
|
||||||
<Input
|
|
||||||
name="emailAddress"
|
|
||||||
disabled={true}
|
|
||||||
placeholder="Email address (Required)"
|
|
||||||
type="email"
|
|
||||||
autoComplete="email"
|
|
||||||
value={fields.emailAddress}
|
|
||||||
onChange={this.handleChangeField}
|
|
||||||
/>
|
|
||||||
</Form.Item>
|
|
||||||
|
|
||||||
<Row gutter={12}>
|
<Row gutter={12}>
|
||||||
{Object.values(SOCIAL_INFO).map(s => {
|
{Object.values(SOCIAL_INFO).map(s => {
|
||||||
const field = fields.socialMedias.find(sm => sm.service === s.service);
|
const field = fields.socialMedias.find(sm => sm.service === s.service);
|
||||||
|
|
|
@ -127,13 +127,11 @@ export function getCreateErrors(
|
||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getCreateTeamMemberError(user: User) {
|
export function validateUserProfile(user: User) {
|
||||||
if (user.displayName.length > 30) {
|
if (user.displayName.length > 30) {
|
||||||
return 'Display name can only be 30 characters maximum';
|
return 'Display name can only be 30 characters maximum';
|
||||||
} else if (user.title.length > 30) {
|
} else if (user.title.length > 30) {
|
||||||
return 'Title can only be 30 characters maximum';
|
return 'Title can only be 30 characters maximum';
|
||||||
} else if (!user.emailAddress || !/.+\@.+\..+/.test(user.emailAddress)) {
|
|
||||||
return 'That doesn’t look like a valid email address';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
|
|
Loading…
Reference in New Issue