You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ja...@apache.org on 2021/09/02 14:44:40 UTC
[couchdb-fauxton] branch main updated: feat: change partition
option to checkbox (#1312)
This is an automated email from the ASF dual-hosted git repository.
jan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-fauxton.git
The following commit(s) were added to refs/heads/main by this push:
new 03491f1 feat: change partition option to checkbox (#1312)
03491f1 is described below
commit 03491f140030fbea1b5515a86bfee1c506e45522
Author: Diana Thayer <ga...@gmail.com>
AuthorDate: Thu Sep 2 07:44:21 2021 -0700
feat: change partition option to checkbox (#1312)
* feat: change partition option to checkbox
Co-authored-by: Jan Lehnardt <ja...@apache.org>
---
app/addons/databases/assets/less/databases.less | 1 +
app/addons/databases/components.js | 30 +++++-----------------
.../tests/nightwatch/createsDatabasePartitioned.js | 2 --
i18n.json.default.json | 2 +-
4 files changed, 8 insertions(+), 27 deletions(-)
diff --git a/app/addons/databases/assets/less/databases.less b/app/addons/databases/assets/less/databases.less
index 70b23b5..4158f3e 100644
--- a/app/addons/databases/assets/less/databases.less
+++ b/app/addons/databases/assets/less/databases.less
@@ -90,6 +90,7 @@
.partitioned-db-options {
display: flex;
align-items: baseline;
+ padding-top: 1rem;
input {
margin: 0px 10px 0px 0px;
}
diff --git a/app/addons/databases/components.js b/app/addons/databases/components.js
index 3e260f0..ba83157 100644
--- a/app/addons/databases/components.js
+++ b/app/addons/databases/components.js
@@ -321,8 +321,7 @@ class AddDatabaseWidget extends React.Component {
this.onKeyUpInInput = this.onKeyUpInInput.bind(this);
this.onChange = this.onChange.bind(this);
this.onAddDatabase = this.onAddDatabase.bind(this);
- this.onSetPartitioned = this.onSetPartitioned.bind(this);
- this.onSetNotPartitioned = this.onSetNotPartitioned.bind(this);
+ this.onTogglePartitioned = this.onTogglePartitioned.bind(this);
}
getI18nText(key) {
@@ -355,14 +354,6 @@ class AddDatabaseWidget extends React.Component {
}
onAddDatabase() {
- if (this.props.showPartitionedOption && this.state.partitionedSelected === undefined) {
- FauxtonAPI.addNotification({
- type: 'error',
- msg: 'Please select either Partitioned or Non-partitioned',
- clear: true
- });
- return;
- }
const partitioned = this.props.showPartitionedOption ?
this.state.partitionedSelected :
undefined;
@@ -373,12 +364,8 @@ class AddDatabaseWidget extends React.Component {
);
}
- onSetNotPartitioned() {
- this.setState({ partitionedSelected: false });
- }
-
- onSetPartitioned() {
- this.setState({ partitionedSelected: true });
+ onTogglePartitioned() {
+ this.setState({ partitionedSelected: !this.state.partitionedSelected });
}
partitionedOption() {
@@ -400,16 +387,11 @@ class AddDatabaseWidget extends React.Component {
<div className='partitioned-db-options'>
<input
id="partitioned-db"
- type="radio"
+ type="checkbox"
checked={this.state.partitionedSelected === true}
- onChange={this.onSetPartitioned} />
+ onChange={this.onTogglePartitioned}
+ />
<label htmlFor="partitioned-db">Partitioned</label>
- <input
- id="non-partitioned-db"
- type="radio"
- checked={this.state.partitionedSelected === false}
- onChange={this.onSetNotPartitioned} />
- <label htmlFor="non-partitioned-db">Non-partitioned</label>
</div>
{partitionedDbHelp}
</div>
diff --git a/app/addons/databases/tests/nightwatch/createsDatabasePartitioned.js b/app/addons/databases/tests/nightwatch/createsDatabasePartitioned.js
index 60d9896..9174e11 100644
--- a/app/addons/databases/tests/nightwatch/createsDatabasePartitioned.js
+++ b/app/addons/databases/tests/nightwatch/createsDatabasePartitioned.js
@@ -51,7 +51,6 @@ module.exports = {
.clickWhenVisible('.add-new-database-btn')
.waitForElementVisible('#js-new-database-name', waitTime, false)
.setValue('#js-new-database-name', [newDatabaseName])
- .clickWhenVisible('#non-partitioned-db', waitTime, false)
.clickWhenVisible('#js-create-database', waitTime, false)
.waitForElementNotPresent('.new-database-tray', waitTime, false)
.checkForDatabaseCreated(newDatabaseName, waitTime)
@@ -81,7 +80,6 @@ module.exports = {
.clickWhenVisible('.add-new-database-btn')
.waitForElementVisible('#js-new-database-name', waitTime, false)
.setValue('#js-new-database-name', [invalidDatabaseName])
- .clickWhenVisible('#non-partitioned-db', waitTime, false)
.clickWhenVisible('#js-create-database', waitTime, false)
.waitForElementVisible('.Toastify__toast-container .Toastify__toast--error', waitTime, false)
.url(baseUrl + '/_all_dbs')
diff --git a/i18n.json.default.json b/i18n.json.default.json
index 2c548b5..dee3cc0 100644
--- a/i18n.json.default.json
+++ b/i18n.json.default.json
@@ -22,6 +22,6 @@
"auth-change-password": "Your password has been updated.",
"auth-admin-creation-failed-prefix": "Could not create admin.",
"auth-passwords-not-matching": "Passwords do not match.",
- "create-db-partitioned-help": "A partitioned database requires a partition key for every document, where the document _id format is '<partition_key>:<doc_key>'. A partition is a logical grouping of documents. Partition queries are often faster than global ones."
+ "create-db-partitioned-help": "This is an advanced feature. If you are unsure whether you need a partitioned database, you probably do not. A partitioned database requires a partition key for every document, where the document _id format is '<partition_key>:<doc_key>'. A partition is a logical grouping of documents. Partition queries are often faster than global ones."
}
}