You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by cm...@apache.org on 2008/04/15 00:09:01 UTC
svn commit: r648031 - in /incubator/couchdb/branches/futon-async/share/www:
replicator.html script/browse.js script/jquery.couch.js
Author: cmlenz
Date: Mon Apr 14 15:08:54 2008
New Revision: 648031
URL: http://svn.apache.org/viewvc?rev=648031&view=rev
Log:
futon-async branch: made the replicator async.
Modified:
incubator/couchdb/branches/futon-async/share/www/replicator.html
incubator/couchdb/branches/futon-async/share/www/script/browse.js
incubator/couchdb/branches/futon-async/share/www/script/jquery.couch.js
Modified: incubator/couchdb/branches/futon-async/share/www/replicator.html
URL: http://svn.apache.org/viewvc/incubator/couchdb/branches/futon-async/share/www/replicator.html?rev=648031&r1=648030&r2=648031&view=diff
==============================================================================
--- incubator/couchdb/branches/futon-async/share/www/replicator.html [utf-8] (original)
+++ incubator/couchdb/branches/futon-async/share/www/replicator.html [utf-8] Mon Apr 14 15:08:54 2008
@@ -20,7 +20,7 @@
<link rel="stylesheet" href="style/layout.css" type="text/css">
<script src="script/json2.js"></script>
<script src="script/jquery.js"></script>
- <script src="script/couch.js"></script>
+ <script src="script/jquery.couch.js"></script>
<script src="script/pprint.js"></script>
<script>
$(document).ready(function() {
@@ -39,12 +39,17 @@
});
});
- var allDbs = CouchDB.allDbs();
- $("fieldset select").each(function() {
- for (var i = 0; i < allDbs.length; i++) {
- $("<option></option>").text(allDbs[i]).appendTo(this);
+
+ $.couch.allDbs({
+ success: function(dbs) {
+ $("fieldset select").each(function() {
+ var select = this;
+ $.each(dbs, function(idx, dbName) {
+ $("<option></option>").text(dbName).appendTo(select);
+ });
+ select.selectedIndex = 0;
+ });
}
- this.selectedIndex = 0;
});
$("button#swap").click(function() {
@@ -73,24 +78,23 @@
$("#records tbody.content").empty();
var source = $("#from_local")[0].checked ? $("#from_name").val() : $("#from_url").val();
var target = $("#to_local")[0].checked ? $("#to_name").val() : $("#to_url").val();
- try {
- var results = CouchDB.replicate(source, target);
- } catch (e) {
- alert(e.reason);
- return;
- }
- for (var i = 0; i < results.history.length; i++) {
- var record = results.history[i];
- $("<tr><th></th><td class='seq'></td>" +
- "<td class='read'></td><td class='copied'></td></tr>")
- .find("th").text(record.start_time).end()
- .find("td.seq").text(record.start_last_seq + "–" + record.end_last_seq).end()
- .find("td.read").text(record.docs_read + " (" + record.read_errors + " errors)").end()
- .find("td.copied").text(record.docs_copied + " (" + record.copy_errors + " errors)").end()
- .appendTo("#records tbody.content");
- }
- $("#records tbody tr").removeClass("odd").filter(":odd").addClass("odd");
- $("#records tbody.footer td").text("Replication session " + results.session_id);
+ $(document.body).addClass("loading");
+ $.couch.replicate(source, target, {
+ success: function(resp) {
+ $.each(resp.history, function(idx, record) {
+ $("<tr><th></th><td class='seq'></td>" +
+ "<td class='read'></td><td class='copied'></td></tr>")
+ .find("th").text(record.start_time).end()
+ .find("td.seq").text(record.start_last_seq + "–" + record.end_last_seq).end()
+ .find("td.read").text(record.docs_read + " (" + record.read_errors + " errors)").end()
+ .find("td.copied").text(record.docs_copied + " (" + record.copy_errors + " errors)").end()
+ .appendTo("#records tbody.content");
+ });
+ $("#records tbody tr").removeClass("odd").filter(":odd").addClass("odd");
+ $("#records tbody.footer td").text("Replication session " + resp.session_id);
+ $(document.body).removeClass("loading");
+ }
+ });
});
});
</script>
Modified: incubator/couchdb/branches/futon-async/share/www/script/browse.js
URL: http://svn.apache.org/viewvc/incubator/couchdb/branches/futon-async/share/www/script/browse.js?rev=648031&r1=648030&r2=648031&view=diff
==============================================================================
--- incubator/couchdb/branches/futon-async/share/www/script/browse.js [utf-8] (original)
+++ incubator/couchdb/branches/futon-async/share/www/script/browse.js [utf-8] Mon Apr 14 15:08:54 2008
@@ -526,7 +526,8 @@
error: function(status, error, reason) {
alert("The requested revision was not found. " +
"You will be redirected back to the latest revision.");
- location.href = "?" + dbName + "/" + docId;
+ location.href = "?" + encodeURIComponent(dbName) +
+ "/" + encodeURIComponent(docId);
},
success: function(doc) {
handleResult(doc, revs);
@@ -680,10 +681,10 @@
_initValue(value);
}
- $("<button type='button' class='apply'></button>").click(function() {
+ $("<button type='button' class='apply' title='Apply change'></button>").click(function() {
applyChange();
}).appendTo(tools);
- $("<button type='button' class='cancel'></button>").click(function() {
+ $("<button type='button' class='cancel' title='Revert change'></button>").click(function() {
cancelChange();
}).appendTo(tools);
tools.appendTo(td);
Modified: incubator/couchdb/branches/futon-async/share/www/script/jquery.couch.js
URL: http://svn.apache.org/viewvc/incubator/couchdb/branches/futon-async/share/www/script/jquery.couch.js?rev=648031&r1=648030&r2=648031&view=diff
==============================================================================
--- incubator/couchdb/branches/futon-async/share/www/script/jquery.couch.js [utf-8] (original)
+++ incubator/couchdb/branches/futon-async/share/www/script/jquery.couch.js [utf-8] Mon Apr 14 15:08:54 2008
@@ -225,6 +225,24 @@
}
}
});
+ },
+
+ replicate: function(source, target, options) {
+ $.ajax({
+ type: "POST", url: "/_replicate", dataType: "json",
+ data: JSON.stringify({source: source, target: target}),
+ contentType: "application/json",
+ complete: function(req) {
+ var resp = $.httpData(req, "json");
+ if (req.status == 200 && options.success) {
+ options.success(resp);
+ } else if (options.error) {
+ options.error(req.status, resp.error, resp.reason);
+ } else {
+ alert("Replication failed: " + resp.reason);
+ }
+ }
+ });
}
});