summaryrefslogtreecommitdiff
path: root/share/www/script/browse.js
diff options
context:
space:
mode:
authorChristopher Lenz <cmlenz@apache.org>2009-01-08 10:19:20 +0000
committerChristopher Lenz <cmlenz@apache.org>2009-01-08 10:19:20 +0000
commit539a418b1d7bfbffdcb377a7a9a43fd1a3753b6a (patch)
tree61e3563b03327c5157bf0b502a92cb96d992ad33 /share/www/script/browse.js
parent2408beee6fbef4acbae40e7fa6de98a0c35a53ed (diff)
Get rid of the iframe structure in Futon to allow easy bookmarking, reloading and back/forward button support across all browsers. Resolves COUCHDB-186 and COUCHDB-56.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@732675 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www/script/browse.js')
-rw-r--r--share/www/script/browse.js35
1 files changed, 21 insertions, 14 deletions
diff --git a/share/www/script/browse.js b/share/www/script/browse.js
index 39483c1a..66acd679 100644
--- a/share/www/script/browse.js
+++ b/share/www/script/browse.js
@@ -17,7 +17,7 @@ function CouchIndexPage() {
page = this;
this.addDatabase = function() {
- $.showDialog("_create_database.html", {
+ $.showDialog("dialog/_create_database.html", {
submit: function(data, callback) {
if (!data.name || data.name.length == 0) {
callback({name: "Please enter a name."});
@@ -119,7 +119,7 @@ function CouchDatabasePage() {
page = this;
this.addDocument = function() {
- $.showDialog("_create_document.html", {
+ $.showDialog("dialog/_create_document.html", {
submit: function(data, callback) {
db.saveDoc(data.docid ? {_id: data.docid} : {}, {
error: function(status, error, reason) {
@@ -135,7 +135,7 @@ function CouchDatabasePage() {
}
this.compactDatabase = function() {
- $.showDialog("_compact_database.html", {
+ $.showDialog("dialog/_compact_database.html", {
submit: function(data, callback) {
db.compact({
success: function(resp) {
@@ -147,16 +147,25 @@ function CouchDatabasePage() {
}
this.deleteDatabase = function() {
- $.showDialog("_delete_database.html", {
+ $.showDialog("dialog/_delete_database.html", {
submit: function(data, callback) {
db.drop({
success: function(resp) {
callback();
location.href = "index.html";
if (window !== null) {
- parent.$("#dbs li").filter(function(index) {
+ $("#dbs li").filter(function(index) {
return $("a", this).text() == dbName;
}).remove();
+
+ // remove database from recent databases list
+ var recentDbs = $.cookies.get("recent", "").split(",");
+ var recentIdx = $.inArray(db.name, recentDbs)
+ if (recentIdx >= 0) {
+ recentDbs.splice(recentIdx, 1);
+ $.cookies.set("recent", recentDbs.join(","));
+ updateRecentDatabasesList();
+ }
}
}
});
@@ -173,7 +182,7 @@ function CouchDatabasePage() {
dirtyTimeout = setTimeout(function() {
var buttons = $("#viewcode button.save, #viewcode button.revert");
page.isDirty = ($("#viewcode_map").val() != page.storedViewCode.map)
- || ($("#viewcode_reduce").val() != page.storedViewCode.reduce);
+ || ($("#viewcode_reduce").val() != (page.storedViewCode.reduce || ""));
if (page.isDirty) {
buttons.removeAttr("disabled");
} else {
@@ -182,9 +191,7 @@ function CouchDatabasePage() {
}, 100);
}
$("#viewcode textarea").bind("input", updateDirtyState);
- if ($.browser.msie) { // sorry, browser detection
- $("#viewcode textarea").get(0).onpropertychange = updateDirtyState
- } else if ($.browser.safari) {
+ if ($.browser.msie || $.browser.safari) {
$("#viewcode textarea").bind("paste", updateDirtyState)
.bind("change", updateDirtyState)
.bind("keydown", updateDirtyState)
@@ -272,7 +279,7 @@ function CouchDatabasePage() {
} else {
var designDocId = "", localViewName = ""
}
- $.showDialog("_save_view_as.html", {
+ $.showDialog("dialog/_save_view_as.html", {
load: function(elem) {
$("#input_docid", elem).val(designDocId).suggest(function(text, callback) {
db.allDocs({
@@ -490,7 +497,7 @@ function CouchDatabasePage() {
}
if (!viewName) {
- $("#switch select").get(0).selectedIndex = 0;
+ $("#switch select")[0].selectedIndex = 0;
db.allDocs(options);
} else {
if (viewName == "_slow_view") {
@@ -641,7 +648,7 @@ function CouchDocumentPage() {
}
this.deleteDocument = function() {
- $.showDialog("_delete_document.html", {
+ $.showDialog("dialog/_delete_document.html", {
submit: function(data, callback) {
db.removeDoc(page.doc, {
success: function(resp) {
@@ -670,7 +677,7 @@ function CouchDocumentPage() {
"document before you can attach a new file.");
return false;
}
- $.showDialog("_upload_attachment.html", {
+ $.showDialog("dialog/_upload_attachment.html", {
load: function(elem) {
$("input[name='_rev']", elem).val(page.doc._rev);
},
@@ -919,4 +926,4 @@ function encodeAttachment(name) {
encoded.push(encodeURIComponent(parts[i]));
};
return encoded.join('/');
-} \ No newline at end of file
+}