summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarren Smith <garren.smith@gmail.com>2013-08-13 16:20:04 +0200
committerGarren Smith <garren.smith@gmail.com>2013-08-13 16:20:04 +0200
commitffe8150c7b90cfd2a0c31956e5621f2ffed81273 (patch)
tree4685f4e593abf0dcc8b0eb7b17097ebdd9a39abb
parent4d1dd2d55d5d99cb4c4f08fe1171549ab25d4997 (diff)
downloadcouchdb-ffe8150c7b90cfd2a0c31956e5621f2ffed81273.tar.gz
Fauxton: add delete database functionality
-rw-r--r--src/fauxton/app/modules/documents/views.js24
-rw-r--r--src/fauxton/app/templates/documents/sidebar.html5
-rw-r--r--src/fauxton/app/templates/documents/view_editor.html2
3 files changed, 28 insertions, 3 deletions
diff --git a/src/fauxton/app/modules/documents/views.js b/src/fauxton/app/modules/documents/views.js
index 6aa4e118d..5f61f9593 100644
--- a/src/fauxton/app/modules/documents/views.js
+++ b/src/fauxton/app/modules/documents/views.js
@@ -1297,7 +1297,8 @@ function(app, FauxtonAPI, Documents, pouchdb, Codemirror, JSHint) {
Views.Sidebar = FauxtonAPI.View.extend({
template: "templates/documents/sidebar",
events: {
- "click a.new#index": "newIndex"
+ "click a.new#index": "newIndex",
+ "click button#delete-database": "deleteDatabase"
},
initialize: function(options) {
@@ -1308,6 +1309,27 @@ function(app, FauxtonAPI, Documents, pouchdb, Codemirror, JSHint) {
}
},
+ deleteDatabase: function (event) {
+ event.preventDefault();
+
+ var result = confirm('Are you sure you want to delete this database?');
+
+ if (!result) { return; }
+ var databaseName = this.database.id;
+
+ this.database.destroy().then(function () {
+ FauxtonAPI.navigate('/');
+ FauxtonAPI.addNotification({
+ msg: 'The database ' + databaseName + ' has been deleted.'
+ });
+ }).fail(function (rsp, error, msg) {
+ FauxtonAPI.addNotification({
+ msg: 'Could not delete the database, reason ' + msg + '.',
+ type: 'error'
+ });
+ });
+ },
+
serialize: function() {
return {
changes_url: '#' + this.database.url('changes'),
diff --git a/src/fauxton/app/templates/documents/sidebar.html b/src/fauxton/app/templates/documents/sidebar.html
index d691b9ac3..7d283d5bc 100644
--- a/src/fauxton/app/templates/documents/sidebar.html
+++ b/src/fauxton/app/templates/documents/sidebar.html
@@ -32,7 +32,7 @@ the License.
</div>
</div>
- <div class="span5 offset1">
+ <div class="span4 offset1">
<div class="btn-group">
<button class="btn">Add</button>
<button class="btn dropdown-toggle" data-toggle="dropdown">
@@ -49,6 +49,9 @@ the License.
</ul>
</div>
</div>
+ <div class="span1">
+ <button id="delete-database" class="btn"><i class="icon-trash"></i></button>
+ </div>
</header>
<nav>
diff --git a/src/fauxton/app/templates/documents/view_editor.html b/src/fauxton/app/templates/documents/view_editor.html
index 08b8ad4c1..70d30df84 100644
--- a/src/fauxton/app/templates/documents/view_editor.html
+++ b/src/fauxton/app/templates/documents/view_editor.html
@@ -183,7 +183,7 @@ the License.
</div>
<div class="controls controls-row">
<button type="submit" class="btn btn-primary">Query</button>
- <button class="btn btn-small btn-info preview">Preview</button>
+ <button class="btn btn-info preview">Preview</button>
</div>
</form>