Add higlight, company name

This commit is contained in:
Berkeley Martinez
2015-09-22 18:25:09 -07:00
parent 2ee2234050
commit 01a4050059

View File

@ -18,24 +18,26 @@ const defaults = {
value: '', value: '',
valid: false, valid: false,
pristine: true pristine: true
},
bool: {
value: false
} }
}; };
function defaultValue(type) {
return defaults[type];
}
export default contain({ export default contain({
actions: 'jobActions', actions: 'jobActions',
store: 'jobsStore', store: 'jobsStore',
map({ form = {} }) { map({ form = {} }) {
const { const {
position = defaultValue('string'), position = defaults['string'],
locale = defaultValue('string'), locale = defaults['string'],
description = defaultValue('string'), description = defaults['string'],
email = defaultValue('string'), email = defaults['string'],
phone = defaultValue('string'), phone = defaults['string'],
url = defaultValue('string') url = defaults['string'],
logo = defaults['string'],
name = defaults['string'],
highlight = defaults['bool']
} = form; } = form;
return { return {
position, position,
@ -43,7 +45,10 @@ export default contain({
description, description,
email, email,
phone, phone,
url url,
logo,
name,
highlight
}; };
} }
}, },
@ -57,7 +62,10 @@ export default contain({
description: PropTypes.object, description: PropTypes.object,
email: PropTypes.object, email: PropTypes.object,
phone: PropTypes.object, phone: PropTypes.object,
url: PropTypes.object url: PropTypes.object,
logo: PropTypes.object,
name: PropTypes.object,
highlight: PropTypes.object
}, },
handleChange(name, validator, { target: { value } }) { handleChange(name, validator, { target: { value } }) {
@ -72,7 +80,10 @@ export default contain({
description, description,
email, email,
phone, phone,
url url,
logo,
name,
highlight
} = this.props; } = this.props;
const labelClass = 'col-sm-offset-1 col-sm-2'; const labelClass = 'col-sm-offset-1 col-sm-2';
const inputClass = 'col-sm-6'; const inputClass = 'col-sm-6';
@ -134,9 +145,25 @@ export default contain({
type='textarea' type='textarea'
value={ description.value } value={ description.value }
wrapperClassName={ inputClass } /> wrapperClassName={ inputClass } />
<div className='divider'> <div className='divider'>
<h2>Company Information</h2> <h2>Company Information</h2>
</div> </div>
<Input
bsStyle={ locale.bsStyle }
label='Company Name'
labelClassName={ labelClass }
onChange={ (e) => {
this.handleChange(
'name',
isAscii,
e,
);
}}
placeholder='Foo, INC'
type='text'
value={ name.value }
wrapperClassName={ inputClass } />
<Input <Input
bsStyle={ email.bsStyle } bsStyle={ email.bsStyle }
label='Email' label='Email'
@ -169,7 +196,7 @@ export default contain({
wrapperClassName={ inputClass } /> wrapperClassName={ inputClass } />
<Input <Input
bsStyle={ url.bsStyle } bsStyle={ url.bsStyle }
label='Phone' label='URL'
labelClassName={ labelClass } labelClassName={ labelClass }
onChange={ (e) => { onChange={ (e) => {
this.handleChange( this.handleChange(
@ -182,6 +209,37 @@ export default contain({
type='url' type='url'
value={ url.value } value={ url.value }
wrapperClassName={ inputClass } /> wrapperClassName={ inputClass } />
<Input
bsStyle={ logo.bsStyle }
label='Logo'
labelClassName={ labelClass }
onChange={ (e) => {
this.handleChange(
'logo',
(data) => isURL(data, { 'require_protocol': true }),
e
);
}}
placeholder='http://freecatphotoapp.com/logo.png'
type='url'
value={ logo.value }
wrapperClassName={ inputClass } />
<div className='divider'>
<h2>Make it stand out</h2>
</div>
<Input
label='Highlight your ad'
labelClassName={ 'col-sm-offset-1 col-sm-6'}
onChange={ (e) => {
this.handleChange(
'highlight',
() => { return true; },
e
);
}}
type='checkbox'
value={ highlight.value } />
</Row> </Row>
</form> </form>
</Well> </Well>