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

feat(reviewers): add reviewers endpoint

parent d489c68b
No related branches found
No related tags found
No related merge requests found
import React from 'react' import React from 'react'
import { connect } from 'react-redux' import { connect } from 'react-redux'
import styled from 'styled-components' import styled from 'styled-components'
import { reduxForm, change as changeForm, initialize } from 'redux-form'
import { th, Button } from '@pubsweet/ui' import { th, Button } from '@pubsweet/ui'
import { compose, withHandlers } from 'recompose' import { compose, withHandlers } from 'recompose'
import { reduxForm, change as changeForm, initialize } from 'redux-form'
import { ReviewersSelect } from './' import { ReviewersSelect } from './'
import { ValidatedTextField } from '../AuthorList/FormItems' import { ValidatedTextField } from '../AuthorList/FormItems'
import { inviteReviewer } from '../../redux/reviewers'
// const emailRegex = new RegExp( // const emailRegex = new RegExp(
// /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i, //eslint-disable-line // /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i, //eslint-disable-line
...@@ -15,7 +16,7 @@ import { ValidatedTextField } from '../AuthorList/FormItems' ...@@ -15,7 +16,7 @@ import { ValidatedTextField } from '../AuthorList/FormItems'
// const emailValidator = value => // const emailValidator = value =>
// emailRegex.test(value) ? undefined : 'Invalid email' // emailRegex.test(value) ? undefined : 'Invalid email'
const ReviewerForm = ({ clearForm, selectReviewer }) => ( const ReviewerForm = ({ clearForm, selectReviewer, handleSubmit }) => (
<Root> <Root>
<Row> <Row>
<ReviewersSelect onSelect={selectReviewer} /> <ReviewersSelect onSelect={selectReviewer} />
...@@ -27,7 +28,7 @@ const ReviewerForm = ({ clearForm, selectReviewer }) => ( ...@@ -27,7 +28,7 @@ const ReviewerForm = ({ clearForm, selectReviewer }) => (
</Row> </Row>
<ButtonsContainer> <ButtonsContainer>
<FormButton onClick={clearForm}>Clear</FormButton> <FormButton onClick={clearForm}>Clear</FormButton>
<FormButton disabled primary> <FormButton onClick={handleSubmit} primary>
Send Send
</FormButton> </FormButton>
</ButtonsContainer> </ButtonsContainer>
...@@ -35,9 +36,10 @@ const ReviewerForm = ({ clearForm, selectReviewer }) => ( ...@@ -35,9 +36,10 @@ const ReviewerForm = ({ clearForm, selectReviewer }) => (
) )
export default compose( export default compose(
connect(null, { changeForm, initialize }), connect(null, { changeForm, initialize, inviteReviewer }),
reduxForm({ reduxForm({
form: 'inviteReviewer', form: 'inviteReviewer',
onSubmit: (values, dispatch, { inviteReviewer }) => {},
}), }),
withHandlers({ withHandlers({
selectReviewer: ({ changeForm, initialize }) => reviewer => () => { selectReviewer: ({ changeForm, initialize }) => reviewer => () => {
......
import { create } from 'pubsweet-client/src/helpers/api'
const initialState = {
fetching: false,
}
export const inviteReviewer = (email, collectionId) => dispatch => {
create(`collections/${collectionId}/invitation`, {
email,
role: 'reviewer',
})
}
export default (state = initialState, action = {}) => {
switch (action.type) {
default:
return state
}
}
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