This is an automated email from the ASF dual-hosted git repository. amaranhao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/couchdb-fauxton.git
The following commit(s) were added to refs/heads/master by this push: new 51448d2 Fix setup misc bugs (#1109) 51448d2 is described below commit 51448d29fc9a4a8b357be073e7f193970b938918 Author: Alexis Côté <popoja...@users.noreply.github.com> AuthorDate: Mon Jul 23 22:32:42 2018 -0400 Fix setup misc bugs (#1109) - When entering string instead of numbers, revert change and keep previous value - Show correct warning when node add fails - Allow to configure a cluster of more than 3 nodes --- app/addons/setup/actions.js | 3 +-- app/addons/setup/reducers.js | 15 +++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/addons/setup/actions.js b/app/addons/setup/actions.js index 95dd352..6a05b5d 100644 --- a/app/addons/setup/actions.js +++ b/app/addons/setup/actions.js @@ -197,9 +197,8 @@ export const addNode = (isOrWasAdminParty, credentials, setupNode, additionalNod } const addNodeResponse = await post(baseUrl, addNodeData, {raw: true}); - if (!addNodeResponse.ok) { - const json = await enableRemoteNodeResponse.json(); + const json = await addNodeResponse.json(); const error = json.reason ? json.reason : json.error; return showError(error); } diff --git a/app/addons/setup/reducers.js b/app/addons/setup/reducers.js index 203949d..67dd031 100644 --- a/app/addons/setup/reducers.js +++ b/app/addons/setup/reducers.js @@ -56,9 +56,9 @@ export default function setup(state = initialState, action) { case SETUP_BIND_ADDRESS_FOR_SINGLE_NODE: return updateState(state, 'setupNode.bindAddress', options.value); case SETUP_PORT_FOR_SINGLE_NODE: - return updateState(state, 'setupNode.port', options.value); + return updateStateIfNotNaN(state, 'setupNode.port', parseInt(options.value)); case SETUP_PORT_ADDITIONAL_NODE: - return updateState(state, 'additionalNode.port', parseInt(options.value)); + return updateStateIfNotNaN(state, 'additionalNode.port', parseInt(options.value)); case SETUP_BIND_ADDRESS_ADDITIONAL_NODE: return updateState(state, 'additionalNode.bindAddress', options.value); case SETUP_REMOTE_ADDRESS_ADDITIONAL_NODE: @@ -71,8 +71,7 @@ export default function setup(state = initialState, action) { case SETUP_RESET_ADDITIONAL_NODE: return resetAdditionalNode(getStateCopy(state)); case SETUP_NODE_COUNT: - const nodeCount = Math.min(options.value, 3); - return updateState(state, 'setupNode.nodeCount', nodeCount); + return updateStateIfNotNaN(state, 'setupNode.nodeCount', parseInt(options.value)); default: return state; } @@ -95,6 +94,14 @@ export const getStateCopy = (state) => { }; }; +export const updateStateIfNotNaN = (state, path, value) => { + let stateCopy = getStateCopy(state); + if (_.isNaN(value)) { + return stateCopy; + } + return _.set(stateCopy, path, value); +}; + /** * Update a particular value for a state * @param state The state to update