From 3c875264c103cde6b7b6152d9149bb77fd5e8313 Mon Sep 17 00:00:00 2001 From: Alexandru Munteanu <alexandru.munt@gmail.com> Date: Tue, 11 Sep 2018 15:46:27 +0300 Subject: [PATCH] fix(author-submission): fix double clicking on slow networks --- packages/component-faraday-ui/src/AuthorCard.js | 5 +++++ packages/component-faraday-ui/src/IconButton.js | 9 +++++++-- packages/component-faraday-ui/src/WizardAuthors.js | 9 ++++----- packages/xpub-faraday/config/default.js | 2 +- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/packages/component-faraday-ui/src/AuthorCard.js b/packages/component-faraday-ui/src/AuthorCard.js index eacf93879..1a380e8a9 100644 --- a/packages/component-faraday-ui/src/AuthorCard.js +++ b/packages/component-faraday-ui/src/AuthorCard.js @@ -24,6 +24,7 @@ const AuthorTitle = ({ listIndex, saveChanges, isSubmitting, + formSubmitting, toggleEditMode, isCorresponding, }) => ( @@ -46,6 +47,7 @@ const AuthorTitle = ({ top={15} /> <IconButton + disabled={formSubmitting} icon="check-circle" iconSize={2} onClick={saveChanges} @@ -87,10 +89,13 @@ const AuthorEdit = ({ isFetching, handleSubmit, toggleEditMode, + isSubmitting, + ...props }) => ( <AuthorContainer> <AuthorTitle editMode={editMode} + formSubmitting={isSubmitting} isCorresponding={author.isCorresponding} isFetching={isFetching} isSubmitting={author.isSubmitting} diff --git a/packages/component-faraday-ui/src/IconButton.js b/packages/component-faraday-ui/src/IconButton.js index a408278d2..a2ad4eef7 100644 --- a/packages/component-faraday-ui/src/IconButton.js +++ b/packages/component-faraday-ui/src/IconButton.js @@ -9,6 +9,7 @@ const IconButton = styled.div` cursor: pointer; display: flex; justify-content: center; + opacity: ${props => (props.disabled ? 0.7 : 1)}; &:hover { opacity: 0.7; } @@ -17,8 +18,12 @@ const IconButton = styled.div` ${positionHelper}; ` -export default ({ icon, onClick, iconSize = 3, ...props }) => ( - <IconButton onClick={onClick} {...props}> +export default ({ icon, onClick, iconSize = 3, disabled, ...props }) => ( + <IconButton + disabed={disabled} + onClick={!disabled ? onClick : null} + {...props} + > <Icon size={iconSize} {...props}> {icon} </Icon> diff --git a/packages/component-faraday-ui/src/WizardAuthors.js b/packages/component-faraday-ui/src/WizardAuthors.js index 261e5d055..7dff3c8b7 100644 --- a/packages/component-faraday-ui/src/WizardAuthors.js +++ b/packages/component-faraday-ui/src/WizardAuthors.js @@ -65,7 +65,7 @@ const WizardAuthors = ({ 'https://www.hindawi.com/journals/', )} > - Journal Author Submission Guidelines + Author Submission Guidelines </ActionLink> </Item> </Row> @@ -134,7 +134,7 @@ export default compose( editExistingAuthor, }) => (values, dispatch, { toggleEditMode }) => { if (values.id === 'newAuthor') { - addAuthor( + return addAuthor( { ...omit(values, 'id'), isSubmitting: authors.length === 1, @@ -142,10 +142,9 @@ export default compose( project.id, version.id, ).then(saveNewAuthor) - } else { - editExistingAuthor(values) - setTimeout(toggleEditMode, 10) } + editExistingAuthor(values) + setTimeout(toggleEditMode, 10) }, }), )(WizardAuthors) diff --git a/packages/xpub-faraday/config/default.js b/packages/xpub-faraday/config/default.js index 768e93384..0888c3c7c 100644 --- a/packages/xpub-faraday/config/default.js +++ b/packages/xpub-faraday/config/default.js @@ -46,7 +46,7 @@ module.exports = { API_ENDPOINT: '/api', baseUrl: process.env.CLIENT_BASE_URL || 'http://localhost:3000', 'login-redirect': '/', - 'redux-log': process.env.NODE_ENV !== 'production', + 'redux-log': false, // process.env.NODE_ENV !== 'production', theme: process.env.PUBSWEET_THEME, }, orcid: { -- GitLab