summaryrefslogtreecommitdiff
path: root/share/www
diff options
context:
space:
mode:
Diffstat (limited to 'share/www')
-rw-r--r--share/www/browse/database.html7
-rw-r--r--share/www/index.html24
-rw-r--r--share/www/script/browse.js1
-rw-r--r--share/www/script/jquery.cookies.js19
-rw-r--r--share/www/style/layout.css2
5 files changed, 30 insertions, 23 deletions
diff --git a/share/www/browse/database.html b/share/www/browse/database.html
index 0dd086db..fe17a47b 100644
--- a/share/www/browse/database.html
+++ b/share/www/browse/database.html
@@ -32,6 +32,13 @@ specific language governing permissions and limitations under the License.
if (window != parent) {
parent.updateNavigation(location.pathname,
encodeURIComponent(location.search.split("/", 2)[0]));
+ var recentDbs = $.cookies.get("recent", "").split(",");
+ if ($.inArray(page.db.name, recentDbs) == -1) {
+ recentDbs.unshift(page.db.name);
+ if (recentDbs.length > 10) recentDbs.length = 10;
+ $.cookies.set("recent", recentDbs.join(","), parent.location.pathname);
+ parent.updateRecentDatabasesList();
+ }
}
$(document).ready(function() {
diff --git a/share/www/index.html b/share/www/index.html
index 54cc9e15..b6919b93 100644
--- a/share/www/index.html
+++ b/share/www/index.html
@@ -28,19 +28,17 @@ specific language governing permissions and limitations under the License.
</style>
<script src="script/json2.js"></script>
<script src="script/jquery.js?1.2.6"></script>
+ <script src="script/jquery.cookies.js?0.8.0"></script>
<script src="script/jquery.couch.js?0.8.0"></script>
<script>
- function updateDatabaseList() {
- var list = $("#dbs").empty();
- var dbs = $.couch.allDbs({
- success: function(dbs, status) {
- for (var i = 0; i < dbs.length; i++) {
- var dbName = dbs[i];
- list.append("<li><a href='browse/database.html?" +
- encodeURIComponent(dbName) + "' target='content'>" + dbName +
- "</a></li>");
- }
- }
+ function updateRecentDatabasesList() {
+ $("#dbs").empty();
+ var recentDbs = $.cookies.get("recent", "").split(",");
+ recentDbs.sort();
+ $.each(recentDbs, function(idx, name) {
+ $("#dbs").append("<li><a href='browse/database.html?" +
+ encodeURIComponent(name) + "' target='content'>" + name +
+ "</a></li>");
});
}
function updateNavigation(path, queryString) {
@@ -76,7 +74,7 @@ specific language governing permissions and limitations under the License.
$("#version").text(info.version);
}
});
- updateDatabaseList();
+ updateRecentDatabasesList();
});
</script>
</head>
@@ -91,7 +89,7 @@ specific language governing permissions and limitations under the License.
<li><a href="config.html" target="content">Configuration</a></li>
<li><a href="couch_tests.html" target="content">Test Suite</a></li>
</ul></li>
- <li><span>Databases</span>
+ <li><span>Recent Databases</span>
<ul id="dbs"></ul>
</li>
</ul>
diff --git a/share/www/script/browse.js b/share/www/script/browse.js
index 82f9eeff..6abcb073 100644
--- a/share/www/script/browse.js
+++ b/share/www/script/browse.js
@@ -26,7 +26,6 @@ function CouchIndexPage() {
$.couch.db(data.name).create({
error: function(status, id, reason) { callback({name: reason}) },
success: function(resp) {
- if (window !== parent) parent.setTimeout("updateDatabaseList()", 500);
location.href = "database.html?" + encodeURIComponent(data.name);
callback();
}
diff --git a/share/www/script/jquery.cookies.js b/share/www/script/jquery.cookies.js
index a2817461..77c5e0a9 100644
--- a/share/www/script/jquery.cookies.js
+++ b/share/www/script/jquery.cookies.js
@@ -15,7 +15,7 @@
$.fn.extend($.cookies, {
/* Return the value of a cookie. */
- get: function(name) {
+ get: function(name, defaultValue) {
var nameEq = name + "=";
var parts = document.cookie.split(';');
for (var i = 0; i < parts.length; i++) {
@@ -24,23 +24,26 @@
return unescape(part.substring(nameEq.length, part.length));
}
}
- return null;
+ return defaultValue !== undefined ? defaultValue : null;
},
/* Create or update a cookie. */
- set: function(name, value, days) {
- var expires = "";
+ set: function(name, value, path, days) {
+ var params = [];
+ if (path) {
+ params.push("; path=" + path);
+ }
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24*60*60*1000));
- expires = "; expires=" + date.toGMTString();
+ params.push("; expires=" + date.toGMTString());
}
- document.cookie = name + "=" + escape(value) + expires;
+ document.cookie = name + "=" + escape(value) + params.join();
},
/* Remove a cookie. */
- remove: function(name) {
- $.cookies.set(name, "", -1);
+ remove: function(name, path) {
+ $.cookies.set(name, "", path, -1);
}
});
diff --git a/share/www/style/layout.css b/share/www/style/layout.css
index 7b0aeb04..db86acc3 100644
--- a/share/www/style/layout.css
+++ b/share/www/style/layout.css
@@ -16,7 +16,7 @@ specific language governing permissions and limitations under the License.
/* General styles */
html, body { background: transparent; color: #000;
- font: normal 90% Arial,Helvetica,sans-serif; margin: 0;
+ font: normal 90% Arial,Helvetica,sans-serif; margin: 0; padding: 0;
}
:link, :visited { color: #ba1e16; text-decoration: none; }
:link img, :visited img { border: none; }