hooking up last button

This commit is contained in:
Max Ogden 2011-07-01 11:47:13 -07:00
parent a2e734139c
commit 1f34f63f97
3 changed files with 18 additions and 8 deletions

View File

@ -88,13 +88,13 @@
<div class="viewpanel-sorting"> <div class="viewpanel-sorting">
</div> </div>
<div class="viewpanel-paging"> <div class="viewpanel-paging">
<a id="paging-first" href="javascript:{}" class="inaction">« first</a> <a href="javascript:{}" class="first inaction">« first</a>
<a id="paging-previous" href="javascript:{}" class="inaction"> previous</a> <a href="javascript:{}" class="previous inaction"> previous</a>
<span class="viewpanel-pagingcount"> <span class="viewpanel-pagingcount">
1 - 10 1 - 10
</span> </span>
<a id="paging-next" href="javascript:{}" class="action">next </a> <a href="javascript:{}" class="next action">next </a>
<a id="paging-last" href="javascript:{}" class="action">last »</a> <a href="javascript:{}" class="last action">last »</a>
</div> </div>
</div> </div>
<div id="dataTableContainer" class="data-table-container"> <div id="dataTableContainer" class="data-table-container">

View File

@ -5,7 +5,9 @@ var removalist = function() {
} }
function renderRows(rows) { function renderRows(rows) {
var tableRows = []; var tableRows = [];
rows.map(function(row) { rows.map(function(row) {
var cells = []; var cells = [];
app.headers.map(function(header) { app.headers.map(function(header) {
@ -18,19 +20,22 @@ var removalist = function() {
}) })
tableRows.push({cells: cells}); tableRows.push({cells: cells});
}) })
util.render('dataTable', 'dataTableContainer', { util.render('dataTable', 'dataTableContainer', {
rows: tableRows, rows: tableRows,
headers: app.headers headers: app.headers
}) })
app.newest = rows[0].id; app.newest = rows[0].id;
app.oldest = rows[rows.length - 1].id; app.oldest = rows[rows.length - 1].id;
} }
function getPageSize() { function getPageSize() {
return parseInt($(".viewpanel-pagesize .selected").text()); return parseInt($(".viewpanel-pagesize .selected").text());
} }
function fetchRows(id) { function fetchRows(id, skip) {
var query = { var query = {
"limit" : getPageSize() "limit" : getPageSize()
@ -41,6 +46,8 @@ var removalist = function() {
if (id !== app.newest) $.extend( query, {"skip": 1}); if (id !== app.newest) $.extend( query, {"skip": 1});
} }
if (skip) $.extend( query, {"skip": skip});
var req = {url: app.baseURL + 'api/rows?' + $.param(query)}; var req = {url: app.baseURL + 'api/rows?' + $.param(query)};
couch.request(req).then(function(response) { couch.request(req).then(function(response) {

View File

@ -23,7 +23,7 @@ app.routes = {
}, },
page: function(id) { page: function(id) {
removalist.getPageSize() removalist.getPageSize();
} }
} }
@ -35,8 +35,11 @@ app.after = {
removalist.fetchRows(app.newest); removalist.fetchRows(app.newest);
}); });
$( '.viewpanel-paging a' ).click(function( e ) { $( '.viewpanel-paging a' ).click(function( e ) {
// var action = $(e.target).attr('id').split('paging-')[1]; var action = $(e.target);
removalist.fetchRows(app.oldest); if (action.hasClass("last")) removalist.fetchRows(false, app.dbInfo.doc_count - removalist.getPageSize());
if (action.hasClass("next")) removalist.fetchRows(app.oldest);
if (action.hasClass("previous")) removalist.fetchRows(app.oldest);
if (action.hasClass("first")) removalist.fetchRows();
}); });
} }