Skip to content
Snippets Groups Projects
Commit 50026400 authored by Alexandru Munteanu's avatar Alexandru Munteanu
Browse files

Merge branch 'faraday-master' of gitlab.coko.foundation:xpub/xpub into faraday-master

parents 99342e1e 7a1974dc
No related branches found
No related tags found
No related merge requests found
......@@ -34,24 +34,24 @@ const AuthorAdder = ({
<FormBody>
<Title>{authors.length === 0 ? 'Submitting author' : 'Author'}</Title>
<Row>
<ValidatedTextField isRequired label="First name" name="firstName" />
<ValidatedTextField isRequired label="First name*" name="firstName" />
<ValidatedTextField label="Middle name" name="middleName" />
<ValidatedTextField isRequired label="Last name" name="lastName" />
<ValidatedTextField isRequired label="Last name*" name="lastName" />
</Row>
<Row>
<ValidatedTextField
isRequired
label="Email"
label="Email*"
name="email"
validators={[emailValidator]}
/>
<ValidatedTextField
isRequired
label="Affiliation"
label="Affiliation*"
name="affiliation"
/>
<MenuItem label="Country" name="country" options={countries} />
<MenuItem label="Country*" name="country" options={countries} />
</Row>
<ButtonsContainer>
<Button onClick={setEditMode(false)}>Cancel</Button>
......
......@@ -64,24 +64,28 @@ const AuthorEdit = ({
</Header>
<Row>
<ValidatedTextField isRequired label="First name" name="edit.firstName" />
<ValidatedTextField
isRequired
label="First name*"
name="edit.firstName"
/>
<ValidatedTextField label="Middle name" name="edit.middleName" />
<ValidatedTextField isRequired label="Last name" name="edit.lastName" />
<ValidatedTextField isRequired label="Last name*" name="edit.lastName" />
</Row>
<Row>
<ValidatedTextField
isRequired
label="Email"
label="Email*"
name="edit.email"
validators={[emailValidator]}
/>
<ValidatedTextField
isRequired
label="Affiliation"
label="Affiliation*"
name="edit.affiliation"
/>
<MenuItem label="Country" name="edit.country" options={countries} />
<MenuItem label="Country*" name="edit.country" options={countries} />
</Row>
</Root>
)
......@@ -97,6 +101,7 @@ export default compose(
initialValues: {
edit: pick(props, [
'isCorresponding',
'isSubmitting',
'firstName',
'lastName',
'middleName',
......
import React from 'react'
import { Checkbox } from '@pubsweet/ui'
class CheckboxGroup extends React.Component {
constructor(props) {
super(props)
this.state = {
values: props.value || [],
}
}
handleChange = event => {
const values = [...this.state.values]
const { value } = event.target
if (event.target.checked) {
values.push(value)
} else {
values.splice(values.indexOf(value), 1)
}
this.setState({ values })
this.props.onChange(values)
}
render() {
const { inline, name, options, required } = this.props
const { values } = this.state
return (
<div>
{options.map(option => (
<Checkbox
checked={values.includes(option.value)}
inline={inline}
key={option.value}
label={option.label}
name={name}
onChange={this.handleChange}
required={required}
value={option.value}
/>
))}
</div>
)
}
}
export default CheckboxGroup
export { default as Logo } from './Logo'
export { default as Spinner } from './Spinner'
export { default as Dropdown } from './Dropdown'
export { default as CheckboxGroup } from './CheckboxGroup'
......@@ -5,4 +5,4 @@ export { default as AuthorList } from './AuthorList/AuthorList'
export { default as SortableList } from './SortableList/SortableList'
export { DragHandle } from './AuthorList/FormItems'
export { Dropdown, Logo, Spinner } from './UIComponents'
export { Dropdown, Logo, Spinner, CheckboxGroup } from './UIComponents'
......@@ -51,10 +51,12 @@ export default (state = initialState, action) => {
...initialState,
isFetching: true,
}
case 'UPDATE_FRAGMENT_FAILURE':
case FAILURE:
return {
...initialState,
error: action.error,
isFetching: false,
}
case 'UPDATE_FRAGMENT_SUCCESS':
case SUCCESS:
......
......@@ -2,9 +2,13 @@ import React from 'react'
import styled from 'styled-components'
import uploadFileFn from 'xpub-upload'
import { AbstractEditor, TitleEditor } from 'xpub-edit'
import { Menu, CheckboxGroup, YesOrNo, TextField } from '@pubsweet/ui'
import { Menu, YesOrNo, TextField } from '@pubsweet/ui'
import { required, minChars, minSize } from 'xpub-validators'
import { AuthorList, Files } from 'pubsweet-components-faraday/src/components'
import {
AuthorList,
Files,
CheckboxGroup,
} from 'pubsweet-components-faraday/src/components'
import { declarations } from './'
import issueTypes from './issues-types'
......
......@@ -87,6 +87,7 @@ module.exports = {
],
user: {
name: Joi.string(),
username: Joi.string(),
roles: Joi.array(),
isConfirmed: Joi.boolean(),
firstName: Joi.string().allow(''),
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment