summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsuelockwood <deathbear@apache.org>2013-12-26 10:27:17 -0500
committersuelockwood <deathbear@apache.org>2013-12-26 10:27:44 -0500
commit4ed8a8ad1b48a456015543a770907806b1e1709b (patch)
tree05d28fbd155a7335b9cb7de2f2b5c872f692cb1e
parentacde720fc088ab694cb8f3aa324948e0fb1583ea (diff)
downloadcouchdb-4ed8a8ad1b48a456015543a770907806b1e1709b.tar.gz
Search for invalid database name or doc id throws error
-rw-r--r--src/fauxton/app/modules/databases/views.js24
-rw-r--r--src/fauxton/app/templates/databases/list.html9
-rw-r--r--src/fauxton/assets/less/fauxton.less9
3 files changed, 25 insertions, 17 deletions
diff --git a/src/fauxton/app/modules/databases/views.js b/src/fauxton/app/modules/databases/views.js
index 0b4e0b046..dbeb4754b 100644
--- a/src/fauxton/app/modules/databases/views.js
+++ b/src/fauxton/app/modules/databases/views.js
@@ -42,8 +42,7 @@ function(app, Components, FauxtonAPI, Databases) {
template: "templates/databases/list",
events: {
"click button.all": "selectAll",
- "submit form.database-search": "switchDatabase",
- "click label.fonticon-search": "switchDatabase"
+ "submit form#jump-to-db": "switchDatabase"
},
initialize: function(options) {
@@ -72,18 +71,23 @@ function(app, Components, FauxtonAPI, Databases) {
switchDatabase: function(event, selectedName) {
event && event.preventDefault();
- var dbname = this.$el.find("input.search-query").val();
+ var dbname = this.$el.find("[name='search-query']").val().trim();
if (selectedName) {
dbname = selectedName;
}
- if (dbname) {
- // TODO: switch to using a model, or Databases.databaseUrl()
- // Neither of which are in scope right now
- // var db = new Database.Model({id: dbname});
- var url = ["/database/", app.mixins.safeURLName(dbname), "/_all_docs?limit=" + Databases.DocLimit].join('');
- FauxtonAPI.navigate(url);
+ if (dbname && this.collection.where({"id":app.mixins.safeURLName(dbname)}).length > 0){
+ // TODO: switch to using a model, or Databases.databaseUrl()
+ // Neither of which are in scope right now
+ // var db = new Database.Model({id: dbname});
+ var url = ["/database/", app.mixins.safeURLName(dbname), "/_all_docs?limit=" + Databases.DocLimit].join('');
+ FauxtonAPI.navigate(url);
+ } else {
+ FauxtonAPI.addNotification({
+ msg: 'Database does not exist.',
+ type: 'error'
+ });
}
},
@@ -123,7 +127,7 @@ function(app, Components, FauxtonAPI, Databases) {
var that = this;
this.dbSearchTypeahead = new Components.DbSearchTypeahead({
dbLimit: this.dbLimit,
- el: "input.search-query",
+ el: "input.search-autocomplete",
onUpdate: function (item) {
that.switchDatabase(null, item);
}
diff --git a/src/fauxton/app/templates/databases/list.html b/src/fauxton/app/templates/databases/list.html
index 2e5d78d16..3e7329429 100644
--- a/src/fauxton/app/templates/databases/list.html
+++ b/src/fauxton/app/templates/databases/list.html
@@ -14,11 +14,12 @@ the License.
<div class="result-tools" style="">
<div id="newButton" class="pull-left"></div>
- <form class="navbar-form pull-right database-search">
- <label class="fonticon-search">
- <input type="text" class="search-query" placeholder="Search by database name">
- </label>
+ <form id="jump-to-db" class="navbar-form pull-right input-append database-search">
+ <input type="text" name="search-query" placeholder="Database name"></input>
+ <button class="fonticon-search btn button red " type="submit"></button>
</form>
+
+
</div>
<table class="databases table table-striped">
<thead>
diff --git a/src/fauxton/assets/less/fauxton.less b/src/fauxton/assets/less/fauxton.less
index 22594d8c6..510c3c1d7 100644
--- a/src/fauxton/assets/less/fauxton.less
+++ b/src/fauxton/assets/less/fauxton.less
@@ -503,9 +503,10 @@ footer#mainFooter{
}
.navbar-form.pull-right.database-search {
- margin-right: 36px;
+ margin: -10px 50px 12px 0;
+ padding: 11px;
input[type=text]{
- margin-top: -4px;
+ margin-top: 0px;
}
}
@@ -981,7 +982,9 @@ div.spinner {
}
}
-#jump-to-doc {
+#jump-to-doc,
+#jump-to-db
+ {
width: auto;
float:right;
button{