diff --git a/packages/components-faraday/src/components/Dashboard/DashboardPage.js b/packages/components-faraday/src/components/Dashboard/DashboardPage.js index 6c657a9e4f76a7fb160b0e44b349c5d700f482c6..3aa05775599c03585160a8a6c6a8bfa06bba3047 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardPage.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardPage.js @@ -14,7 +14,7 @@ import withFilters from './withFilters' import { getHandlingEditors } from '../../redux/editors' export default compose( - ConnectPage(() => [actions.getCollections()]), + ConnectPage(() => [actions.getCollections(), actions.getUsers()]), connect( state => { const { collections, conversion } = state diff --git a/packages/components-faraday/src/components/Dashboard/TestComponent.js b/packages/components-faraday/src/components/Dashboard/TestComponent.js new file mode 100644 index 0000000000000000000000000000000000000000..1a5c24a811476ed5286658e720b0d33116cfc767 --- /dev/null +++ b/packages/components-faraday/src/components/Dashboard/TestComponent.js @@ -0,0 +1,9 @@ +import React from 'react' + +import withFactory from './withFactory' + +const TestComponent = ({ ceva, ...rest }) => <div>{ceva}</div> + +export default withFactory(props => ({ + ceva: 'hai sa vedem', +}))(TestComponent) diff --git a/packages/components-faraday/src/components/Dashboard/withFactory.js b/packages/components-faraday/src/components/Dashboard/withFactory.js new file mode 100644 index 0000000000000000000000000000000000000000..30fffc01c4f7c155094f0199bfe60e37fcad90b2 --- /dev/null +++ b/packages/components-faraday/src/components/Dashboard/withFactory.js @@ -0,0 +1,13 @@ +import { createFactory } from 'react' + +const withFactory = propsMapper => BaseComponent => { + const factory = createFactory(BaseComponent) + const WithFactory = props => + factory( + typeof propsMapper === 'function' ? propsMapper(props) : propsMapper, + ) + + return WithFactory +} + +export default withFactory diff --git a/packages/components-faraday/src/components/Reviewers/ReviewerForm.js b/packages/components-faraday/src/components/Reviewers/ReviewerForm.js index 0b7487bcfca0f7e76edd62fc4cbb7897a18af348..6ad7b65a59c3667fbbd1839d474d5552c3dc474f 100644 --- a/packages/components-faraday/src/components/Reviewers/ReviewerForm.js +++ b/packages/components-faraday/src/components/Reviewers/ReviewerForm.js @@ -1,4 +1,5 @@ import React from 'react' +import { get } from 'lodash' import { connect } from 'react-redux' import styled from 'styled-components' import { th, Button } from '@pubsweet/ui' @@ -6,8 +7,8 @@ import { compose, withHandlers } from 'recompose' import { reduxForm, change as changeForm, initialize } from 'redux-form' import { ReviewersSelect } from './' -import { ValidatedTextField } from '../AuthorList/FormItems' import { inviteReviewer } from '../../redux/reviewers' +import { ValidatedTextField } from '../AuthorList/FormItems' // const emailRegex = new RegExp( // /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i, //eslint-disable-line @@ -16,10 +17,10 @@ import { inviteReviewer } from '../../redux/reviewers' // const emailValidator = value => // emailRegex.test(value) ? undefined : 'Invalid email' -const ReviewerForm = ({ clearForm, selectReviewer, handleSubmit }) => ( +const ReviewerForm = ({ clearForm, selectReviewer, handleSubmit, users }) => ( <Root> <Row> - <ReviewersSelect onSelect={selectReviewer} /> + <ReviewersSelect onSelect={selectReviewer} values={users} /> <ValidatedTextField isRequired label="Last name*" name="lastName" /> </Row> <Row> @@ -36,7 +37,12 @@ const ReviewerForm = ({ clearForm, selectReviewer, handleSubmit }) => ( ) export default compose( - connect(null, { changeForm, initialize, inviteReviewer }), + connect( + state => ({ + users: get(state, 'users.users') || [], + }), + { changeForm, initialize, inviteReviewer }, + ), reduxForm({ form: 'inviteReviewer', onSubmit: (values, dispatch, { inviteReviewer }) => {}, diff --git a/packages/components-faraday/src/components/Reviewers/ReviewersSelect.js b/packages/components-faraday/src/components/Reviewers/ReviewersSelect.js index 287fdf62fee527a81eb28c59c46f414d29e12b84..32d23d46f0330c2fefefdd4c4b7b843235390f92 100644 --- a/packages/components-faraday/src/components/Reviewers/ReviewersSelect.js +++ b/packages/components-faraday/src/components/Reviewers/ReviewersSelect.js @@ -143,7 +143,7 @@ const RenderRoot = styled.div` max-width: calc(${th('gridUnit')} * 14); ` -const SuggestionItem = styled.div` +const SuggestionItem = styled.span` align-items: center; align-self: stretch; background-color: transparent; @@ -152,6 +152,7 @@ const SuggestionItem = styled.div` justify-content: flex-start; height: calc(${th('subGridUnit')} * 6); padding-left: calc(${th('subGridUnit')} * 2); + white-space: nowrap; &:hover { background-color: ${th('colorSecondary')}; @@ -174,8 +175,8 @@ const SuggestionsContainer = styled.div` position: absolute; padding-top: calc(${th('subGridUnit')} * 2); top: 68px; - width: 380px; max-height: calc(${th('subGridUnit')} * 6 * 4); + width: calc(${th('gridUnit')} * 16); ` const FormLabel = styled.span` diff --git a/packages/xpub-faraday/config/default.js b/packages/xpub-faraday/config/default.js index c4f458ba495700544fb0160430f567ff7e5c2a8e..9671e5bef74fdb508ed65eec3fcb22edc1a1feb7 100644 --- a/packages/xpub-faraday/config/default.js +++ b/packages/xpub-faraday/config/default.js @@ -39,7 +39,7 @@ module.exports = { 'pubsweet-client': { API_ENDPOINT: '/api', 'login-redirect': '/', - 'redux-log': false, + 'redux-log': true, theme: process.env.PUBSWEET_THEME, }, 'mail-transport': {