summaryrefslogtreecommitdiff
path: root/share/www
diff options
context:
space:
mode:
Diffstat (limited to 'share/www')
-rw-r--r--share/www/database.html24
-rw-r--r--share/www/script/futon.browse.js7
-rw-r--r--share/www/style/layout.css7
3 files changed, 38 insertions, 0 deletions
diff --git a/share/www/database.html b/share/www/database.html
index fbc0a5d7..3a93ce0c 100644
--- a/share/www/database.html
+++ b/share/www/database.html
@@ -108,7 +108,26 @@ specific language governing permissions and limitations under the License.
$("#toolbar button.add").click(page.addDocument);
$("#toolbar button.compact").click(page.compactDatabase);
$("#toolbar button.delete").click(page.deleteDatabase);
+
+ $('#jumpto input').suggest(function(text, callback) {
+ page.db.allDocs({
+ limit: 10, startkey: text, endkey: text + 'zzz',
+ success: function(docs) {
+ var matches = [];
+ for (var i = 0; i < docs.rows.length; i++) {
+ if (docs.rows[i].id.indexOf(text) == 0) {
+ matches[i] = docs.rows[i].id;
+ }
+ }
+ callback(matches);
+ }
+ });
+ });
+
+ $("#jumpto input").keypress(page.jumpToDocument);
+
});
+
</script>
</head>
@@ -126,6 +145,11 @@ specific language governing permissions and limitations under the License.
<option value="_temp_view">Temporary view…</option>
</select></label>
</div>
+ <div id="jumpto">
+ <label>Jump to document:
+ <input type="text" name="docid" />
+ </label>
+ </div>
<ul id="toolbar">
<li><button class="add">Create Document …</button></li>
<li><button class="compact">Compact Database</button></li>
diff --git a/share/www/script/futon.browse.js b/share/www/script/futon.browse.js
index a360a343..e518c9ab 100644
--- a/share/www/script/futon.browse.js
+++ b/share/www/script/futon.browse.js
@@ -466,6 +466,13 @@
}
}
+ this.jumpToDocument = function(e) {
+ if (e.which == 13) {
+ var docid = $('#jumpto input').val();
+ location.href = 'document.html?' + encodeURIComponent(db.name) + '/' + encodeDocId(docid);
+ }
+ }
+
this.updateDocumentListing = function(options) {
if (options === undefined) options = {};
if (options.limit === undefined) {
diff --git a/share/www/style/layout.css b/share/www/style/layout.css
index 7cf89e3b..d6e66d0a 100644
--- a/share/www/style/layout.css
+++ b/share/www/style/layout.css
@@ -274,6 +274,13 @@ ul.suggest-dropdown li.selected { cursor: pointer; background: Highlight;
visibility: hidden;
}
+/* Document quick jump */
+
+#jumpto { float: right; padding: 5px 10px 5px 5px; line-height: 16px;
+ font-weight: bold; color: #666; font-size: 90%; }
+
+#jumpto input { font-size: 90%; }
+
/* View selector */
#switch { color: #666; float: right; font-size: 90%; font-weight: bold;