You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by am...@apache.org on 2018/07/24 02:32:44 UTC
[couchdb-fauxton] branch master updated: Fix setup misc bugs (#1109)
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é <po...@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