summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarren Smith <garren.smith@gmail.com>2013-02-05 10:01:24 +0200
committerRussell Branca <chewbranca@gmail.com>2013-03-15 14:35:12 -0700
commit41824106801fbc39a80541389a2ca1d6f89ec51a (patch)
treebb9e1f127ab5a7faf3349c4ff75ba41f95741241
parentc8cdfae1390707652873106daeaa5293bf3d0158 (diff)
downloadcouchdb-41824106801fbc39a80541389a2ca1d6f89ec51a.tar.gz
delete database
-rw-r--r--src/fauxton/TODO.md2
-rw-r--r--src/fauxton/app/modules/documents/routes.js2
-rw-r--r--src/fauxton/app/modules/documents/views.js21
-rw-r--r--src/fauxton/app/templates/documents/tabs.html4
4 files changed, 24 insertions, 5 deletions
diff --git a/src/fauxton/TODO.md b/src/fauxton/TODO.md
index 3c1b85beb..bb3711355 100644
--- a/src/fauxton/TODO.md
+++ b/src/fauxton/TODO.md
@@ -19,7 +19,7 @@ In no particular order
- [ ] "show me" button in API bar doesn't
- [ ] edit index button doesn't
- [ ] replicate UI
-- [ ] delete database
+- [x] delete database
- [ ] format dates better (e.g. in logs plugin)
- [ ] format log entry better
- [ ] filter logs by method
diff --git a/src/fauxton/app/modules/documents/routes.js b/src/fauxton/app/modules/documents/routes.js
index efaa374c2..d851caf9d 100644
--- a/src/fauxton/app/modules/documents/routes.js
+++ b/src/fauxton/app/modules/documents/routes.js
@@ -251,7 +251,7 @@ function(app, FauxtonAPI, Documents, Databases) {
"#tabs": new Documents.Views.Tabs({
collection: data.designDocs,
- database: data.database.id
+ database: data.database
})
},
diff --git a/src/fauxton/app/modules/documents/views.js b/src/fauxton/app/modules/documents/views.js
index 30a799a68..556a5cf93 100644
--- a/src/fauxton/app/modules/documents/views.js
+++ b/src/fauxton/app/modules/documents/views.js
@@ -21,12 +21,31 @@ function(app, FauxtonAPI, Codemirror, JSHint) {
this.collection = options.collection;
this.database = options.database;
},
+
+ events: {
+ "click #delete-database": "delete_database"
+ },
+
beforeRender: function(manage) {
this.insertView("#search", new Views.SearchBox({
collection: this.collection,
- database: this.database
+ database: this.database.id
}));
+ },
+
+ delete_database: function (event) {
+ event.preventDefault();
+
+ var result = confirm("Are you sure you want to delete this database?");
+
+ if (!result) { return; }
+
+ var promise = this.database.destroy();
+ promise.done(function () {
+ app.router.navigate('/', {trigger: true});
+ });
}
+
});
Views.SearchBox = FauxtonAPI.View.extend({
diff --git a/src/fauxton/app/templates/documents/tabs.html b/src/fauxton/app/templates/documents/tabs.html
index 8cca6c392..d0231e083 100644
--- a/src/fauxton/app/templates/documents/tabs.html
+++ b/src/fauxton/app/templates/documents/tabs.html
@@ -12,9 +12,9 @@
</a>
<ul class="dropdown-menu">
<li><a class=""><i class="icon-repeat"></i> Replicate database</a></li>
- <li><a class=""><i class="icon-trash"></i> Delete database</a></li>
+ <li><a id="delete-database" class=""><i class="icon-trash"></i> Delete database</a></li>
</ul>
</div>
</li>
</ul>
-</ul> \ No newline at end of file
+</ul>