summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Branca <chewbranca@gmail.com>2013-02-24 13:42:54 -0800
committerRussell Branca <chewbranca@gmail.com>2013-02-24 13:42:54 -0800
commit4e038d789b54243aa5b05a819af09c385f5a1806 (patch)
tree74f37e1875a48f8d4997bc7a0441fc97be3a462c
parent61ac6f86710192debc50c0cc2275d5ef94a6c658 (diff)
downloadcouchdb-4e038d789b54243aa5b05a819af09c385f5a1806.tar.gz
Add meta data and more to views
-rw-r--r--src/fauxton/app/modules/documents/resources.js13
-rw-r--r--src/fauxton/app/modules/documents/views.js9
-rw-r--r--src/fauxton/app/templates/documents/all_docs_list.html34
3 files changed, 52 insertions, 4 deletions
diff --git a/src/fauxton/app/modules/documents/resources.js b/src/fauxton/app/modules/documents/resources.js
index 6cd5d65e6..862226d60 100644
--- a/src/fauxton/app/modules/documents/resources.js
+++ b/src/fauxton/app/modules/documents/resources.js
@@ -193,8 +193,21 @@ function(app, FauxtonAPI, Views) {
return url.join("/") + query;
},
+ totalRows: function() {
+ return this.viewMeta.total_rows || "unknown";
+ },
+
+ updateSeq: function() {
+ return this.viewMeta.update_seq || false;
+ },
+
parse: function(resp) {
that = this;
+ this.viewMeta = {
+ total_rows: resp.total_rows,
+ offest: resp.offest,
+ update_seq: resp.update_seq
+ };
return _.map(resp.rows, function(row) {
return {
value: row.value,
diff --git a/src/fauxton/app/modules/documents/views.js b/src/fauxton/app/modules/documents/views.js
index 94208cb32..3b9b18086 100644
--- a/src/fauxton/app/modules/documents/views.js
+++ b/src/fauxton/app/modules/documents/views.js
@@ -374,14 +374,14 @@ function(app, FauxtonAPI, Codemirror, JSHint) {
return FauxtonAPI.addNotification({
msg: "JSON Parse Error on field: "+param.name,
type: "error",
- selector: ".view.show .errors-container"
+ selector: ".view.show .all-docs-list.errors-container"
});
});
FauxtonAPI.addNotification({
msg: "Make sure that strings are properly quoted and any other values are valid JSON structures",
type: "warning",
- selector: ".view.show .errors-container"
+ selector: ".view.show .all-docs-list.errors-container"
});
return false;
@@ -412,7 +412,7 @@ function(app, FauxtonAPI, Codemirror, JSHint) {
var notification = FauxtonAPI.addNotification({
msg: "include_docs has been disabled as you cannot include docs on a reduced view",
type: "warn",
- selector: ".view.show .errors-container"
+ selector: ".view.show .all-docs-list.errors-container"
});
}
$form.find("input[name=include_docs]").prop("disabled", true);
@@ -489,6 +489,9 @@ function(app, FauxtonAPI, Codemirror, JSHint) {
$form.find("select[name='"+key+"']").val(val);
break;
case "include_docs":
+ case "stale":
+ case "descending":
+ case "inclusive_end":
$form.find("input[name='"+key+"']").prop('checked', true);
break;
case "reduce":
diff --git a/src/fauxton/app/templates/documents/all_docs_list.html b/src/fauxton/app/templates/documents/all_docs_list.html
index d32c0be3b..cb8c55d97 100644
--- a/src/fauxton/app/templates/documents/all_docs_list.html
+++ b/src/fauxton/app/templates/documents/all_docs_list.html
@@ -27,7 +27,7 @@ the License.
<% } %>
<div class="row">
- <div class="errors-container"></div>
+ <div class="all-docs-list errors-container"></div>
<div id="edit-index-container"></div>
<% if (viewList) { %>
<div class="accordion" id="advanced-options-accordion">
@@ -86,6 +86,20 @@ the License.
<input name="endkey" class="span6" type="text" placeholder="End Key">
</div>
<div class="controls controls-row">
+ <label class="span2 checkbox inline">
+ <input name="stale" type="checkbox" value="ok"> Stale
+ </label>
+ <label class="span2 checkbox inline">
+ <input name="descending" type="checkbox" value="true"> Descending
+ </label>
+ <label class="span4 checkbox inline">
+ <input name="inclusive_end" type="checkbox" value="false"> Disable Inclusive End
+ </label>
+ <label class="span4 checkbox inline">
+ <input name="update_seq" type="checkbox" value="true"> Include Update Sequence
+ </label>
+ </div>
+ <div class="controls controls-row">
<button type="submit" class="btn btn-primary">Query</button>
</div>
</form>
@@ -99,7 +113,25 @@ the License.
</div>
+ <p>
+ Showing 1-<%= database.models.length %> of <%= database.totalRows() %> rows
+ <% if (database.updateSeq()) { %>
+ -- Update Sequence: <%= database.updateSeq() %>
+ <% } %>
+ </p>
<table class="all-docs table table-striped table-condensed">
<tbody></tbody>
</table>
+ <div class="pagination pagination-centered">
+ <ul>
+ <li class="disabled"><a href="#">&laquo;</a></li>
+ <li class="active"><a href="#">1</a></li>
+ <li><a href="#">2</a></li>
+ <li><a href="#">3</a></li>
+ <li><a href="#">4</a></li>
+ <li><a href="#">5</a></li>
+ <li><a href="#">&raquo;</a></li>
+ </ul>
+ </div>
+
</div>