| <!DOCTYPE html> |
| <!-- |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); you may not use |
| this file except in compliance with the License. You may obtain a copy of the |
| License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software distributed |
| under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR |
| CONDITIONS OF ANY KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations under the License. |
| |
| --> |
| <html lang="en"> |
| <head> |
| <title>Browse Database</title> |
| <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> |
| <link rel="stylesheet" href="style/layout.css?0.9.0" type="text/css"> |
| <script src="script/json2.js"></script> |
| <script src="script/jquery.js?1.3.1"></script> |
| <script src="script/jquery.cookies.js?0.9.0"></script> |
| <script src="script/jquery.couch.js?0.9.0"></script> |
| <script src="script/jquery.dialog.js?0.9.0"></script> |
| <script src="script/jquery.resizer.js?0.9.0"></script> |
| <script src="script/jquery.suggest.js?0.9.0"></script> |
| <script src="script/futon.js?0.9.0"></script> |
| <script src="script/futon.browse.js?0.9.0"></script> |
| <script src="script/futon.format.js?0.9.0"></script> |
| <script> |
| var page = new $.futon.CouchDatabasePage(); |
| $.futon.navigation.ready(function() { |
| this.addDatabase(page.db.name); |
| this.updateSelection(location.pathname, "?" + page.db.name); |
| }); |
| |
| $(function() { |
| if (page.redirecting) return; |
| $("h1 strong").text(page.db.name); |
| var viewPath = page.viewName || "_all_docs"; |
| if (viewPath != "_temp_view" && viewPath != "_design_docs") { |
| $("h1 a.raw").attr("href", "/" + encodeURIComponent(page.db.name) + |
| "/" + viewPath); |
| } |
| |
| $("#viewcode span").click(function() { |
| $("#viewcode").toggleClass("collapsed"); |
| }); |
| $("#viewcode button.run").click(function() { |
| page.updateDocumentListing(); |
| }); |
| $("#viewcode button.revert").click(function() { |
| page.revertViewChanges(); |
| }); |
| $("#viewcode button.save").click(function() { |
| page.saveViewChanges(); |
| }); |
| $("#viewcode button.saveas").click(function() { |
| page.saveViewAs(); |
| }); |
| $("#viewcode textarea").makeResizable({ |
| always: true, |
| grippie: $("#viewcode .bottom"), |
| vertical: true |
| }); |
| $("#viewcode td.map").makeResizable({ |
| always: true, |
| grippie: $("#viewcode td.splitter"), |
| horizontal: true |
| }); |
| |
| // Restore preferences/state from cookies |
| var desc = $.cookies.get(page.db.name + ".desc"); |
| if (desc) $("#documents thead th.key").addClass("desc"); |
| var rowsPerPage = $.cookies.get(page.db.name + ".perpage"); |
| if (rowsPerPage) $("#perpage").val(rowsPerPage); |
| |
| page.populateViewsMenu(); |
| page.populateViewEditor(); |
| if (page.isTempView) { |
| $("#viewcode").show().removeClass("collapsed").find("textarea")[0].focus(); |
| $("#documents").hide(); |
| } |
| |
| $("#switch select").change(function() { |
| var viewName = $(this).val(); |
| if (!viewName) $.cookies.remove(page.db.name + ".view"); |
| location.href = "?" + encodeURIComponent(page.db.name) + |
| (viewName ? "/" + viewName : ""); |
| }); |
| $("#documents thead th.key").click(function() { |
| $(this).toggleClass("desc"); |
| page.updateDocumentListing(); |
| }); |
| $("#perpage").change(function() { |
| page.updateDocumentListing(); |
| $.cookies.set(page.db.name + ".perpage", this.value); |
| }); |
| $("#toolbar button.add").click(page.newDocument); |
| $("#toolbar button.compact").click(page.compactDatabase); |
| $("#toolbar button.delete").click(page.deleteDatabase); |
| |
| $('#jumpto input').addPlaceholder("Document ID").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); |
| } |
| }); |
| }).keypress(function(e) { |
| if (e.keyCode == 13) { |
| page.jumpToDocument($(this).val()); |
| } |
| }); |
| }); |
| </script> |
| </head> |
| |
| <body><div id="wrap"> |
| <h1> |
| <a href="index.html">Overview</a> |
| <strong>?</strong> |
| <a class="raw" title="Raw view"></a> |
| </h1> |
| <div id="content"> |
| <div id="switch"> |
| <label>View: <select autocomplete="false"> |
| <option value="_all_docs">All documents</option> |
| <option value="_design_docs">Design documents</option> |
| <option value="_temp_view">Temporary view…</option> |
| </select></label> |
| </div> |
| <div id="jumpto"> |
| <label>Jump to: |
| <input type="text" name="docid" autocomplete="off" /> |
| </label> |
| </div> |
| <ul id="toolbar"> |
| <li><button class="add">New Document</button></li> |
| <li><button class="compact">Compact Database…</button></li> |
| <li><button class="delete">Delete Database…</button></li> |
| </ul> |
| |
| <div id="viewcode" class="collapsed" style="display: none"> |
| <div class="top"> |
| <a id="designdoc-link"></a> |
| <span id="view-toggle">View Code</span> |
| </div> |
| <table summary="View functions" cellspacing="0"><tr> |
| <td class="code map"> |
| <label for="viewcode_map">Map Function:</label> |
| <textarea id="viewcode_map" class="map" rows="5" cols="20" spellcheck="false" wrap="off"></textarea> |
| </td> |
| <td class="splitter"></td> |
| <td class="code reduce"> |
| <label for="viewcode_reduce">Reduce Function (optional):</label> |
| <textarea id="viewcode_reduce" class="reduce" rows="5" cols="20" spellcheck="false" wrap="off"></textarea> |
| </td> |
| </tr></table> |
| <div class="bottom"> |
| <button class="save" type="button" disabled>Save</button> |
| <button class="saveas" type="button">Save As…</button> |
| <button class="revert" type="button" disabled>Revert</button> |
| <button class="run" type="button">Run</button> |
| <label>Language: <select id="language"></select></label> |
| </div> |
| </div> |
| <p id="tempwarn"> |
| <strong>Warning</strong>: Please note that temporary views are not |
| suitable for use in production, as they are really slow for any |
| database with more than a few dozen documents. You can use a temporary |
| view to experiment with view functions, but switch to a permanent view |
| before using them in an application. |
| </p> |
| |
| <table id="documents" class="listing" cellspacing="0"> |
| <caption>Documents</caption> |
| <thead> |
| <tr> |
| <th class="key"><div>Key</div></th> |
| <th class="value">Value</th> |
| </tr> |
| </thead> |
| <tbody class="content"> |
| </tbody> |
| <tbody class="footer"> |
| <tr> |
| <td colspan="4"> |
| <div id="paging"> |
| <a class="prev">← Previous Page</a> | |
| <label>Rows per page: <select id="perpage"> |
| <option selected>10</option> |
| <option>25</option> |
| <option>50</option> |
| <option>100</option> |
| </select></label> | |
| <a class="next">Next Page →</a> |
| </div> |
| <span></span> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <p id="grouptruenotice"> |
| <strong>Note</strong>: Views with a reduce function will return a single row of reduced values. |
| If you are looking for the same results that you can see here in Futon, |
| add a <code>?group=true</code> parameter to your view query. Futon does |
| this automatically. |
| </p> |
| </div> |
| </div></body> |
| </html> |