summaryrefslogtreecommitdiff
path: root/share/www/database.html
diff options
context:
space:
mode:
authorChristopher Lenz <cmlenz@apache.org>2009-01-08 10:19:20 +0000
committerChristopher Lenz <cmlenz@apache.org>2009-01-08 10:19:20 +0000
commit539a418b1d7bfbffdcb377a7a9a43fd1a3753b6a (patch)
tree61e3563b03327c5157bf0b502a92cb96d992ad33 /share/www/database.html
parent2408beee6fbef4acbae40e7fa6de98a0c35a53ed (diff)
Get rid of the iframe structure in Futon to allow easy bookmarking, reloading and back/forward button support across all browsers. Resolves COUCHDB-186 and COUCHDB-56.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@732675 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www/database.html')
-rw-r--r--share/www/database.html189
1 files changed, 189 insertions, 0 deletions
diff --git a/share/www/database.html b/share/www/database.html
new file mode 100644
index 00000000..abe9e28c
--- /dev/null
+++ b/share/www/database.html
@@ -0,0 +1,189 @@
+<!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.2.6"></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/browse.js?0.9.0"></script>
+ <script src="script/pprint.js?0.9.0"></script>
+ <script>
+ var page = new CouchDatabasePage();
+
+ $.get("_sidebar.html", function(resp) {
+ $(resp).insertAfter("#wrap");
+
+ 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(","));
+ updateRecentDatabasesList();
+ }
+
+ updateNavigation(location.pathname, "?" + page.db.name);
+ });
+
+ $(function() {
+ $("h1 strong").text(page.db.name);
+ $("#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 query = $.cookies.get(page.db.name + ".query");
+ if (query) $("#viewcode_map").val(query);
+ 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) {
+ page.updateDocumentListing();
+ } else {
+ $("#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 ? "/" + encodeURIComponent(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.addDocument);
+ $("#toolbar button.compact").click(page.compactDatabase);
+ $("#toolbar button.delete").click(page.deleteDatabase);
+ });
+ </script>
+ </head>
+
+ <body><div id="wrap">
+ <h1>
+ <a href="index.html">Overview</a>
+ <strong>?</strong>
+ </h1>
+ <div id="content">
+ <div id="switch">
+ <label>Select view: <select autocomplete="false">
+ <option value="">All documents</option>
+ <option value="_design_docs">Design documents</option>
+ <option value="_slow_view">Custom query…</option>
+ </select></label>
+ </div>
+ <ul id="toolbar">
+ <li><button class="add">Create 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">function(doc) {
+ emit(null, doc);
+}</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>
+ </div>
+ </div>
+
+ <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>
+
+ </div>
+ </div></body>
+</html>