diff options
author | Damien F. Katz <damien@apache.org> | 2009-06-22 19:10:48 +0000 |
---|---|---|
committer | Damien F. Katz <damien@apache.org> | 2009-06-22 19:10:48 +0000 |
commit | e05e90e517a4ee6c5a710bf6b289a956b1363cd9 (patch) | |
tree | 8e137f546ee04ebeb98065a8532d32a05b5ade35 | |
parent | c6b388eeeac6517eb649d8b8d04874902836a39e (diff) |
Added 'Jump to Document' in the database.htmlscreen. Would like maybe to see in the future about making it limit input to only existing doc ids, and perhaps only show on the 'All documents' view.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@787354 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | share/www/database.html | 24 | ||||
-rw-r--r-- | share/www/script/futon.browse.js | 7 | ||||
-rw-r--r-- | share/www/style/layout.css | 7 |
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; |