Browse Source

make sure the page number is tracked for browsing

pull/1/head
wes 8 years ago
parent
commit
0235cdcb4e
  1. 1
      src/scripts/app.tag
  2. 13
      src/scripts/browse.tag

1
src/scripts/app.tag

@ -130,6 +130,7 @@ document.addEventListener("click", function(event) {
}); });
self.state = { self.state = {
"pagenum" : 0, /* the current page of posts in the browse tab */
"browsed" : false, /* was a link clicked to a post yet? */ "browsed" : false, /* was a link clicked to a post yet? */
"page" : self.opts.page, "page" : self.opts.page,
"results" : self.decode(self.opts.results), "results" : self.decode(self.opts.results),

13
src/scripts/browse.tag

@ -37,7 +37,7 @@
<div class="columns"> <div class="columns">
<div class="col-6 getprev"> <div class="col-6 getprev">
<button <button
if={pagenum > 0} if={opts.state.pagenum > 0}
class="btn btn-primary branded" class="btn btn-primary branded"
onclick={getprev} onclick={getprev}
> >
@ -69,7 +69,6 @@ import { default as showdown } from 'showdown';
var self = this; var self = this;
self.pagenum = 0;
self.route = route; self.route = route;
self.loading = false; self.loading = false;
self.category = self.opts.state.category_filter; self.category = self.opts.state.category_filter;
@ -102,6 +101,7 @@ self.filterCategories = (category) => {
self.update({ self.update({
"loading" : true "loading" : true
}); });
self.opts.state.pagenum = 0;
self.opts.state.category_filter = category; self.opts.state.category_filter = category;
window.cached(`/blog/getbrowse/${category}/${self.pagesize}/${self.startkey ? self.startkey : ""}`) window.cached(`/blog/getbrowse/${category}/${self.pagesize}/${self.startkey ? self.startkey : ""}`)
@ -125,14 +125,14 @@ self.getPrev = (endkey) => {
else { else {
endpoint = `/blog/prevbrowse/${self.pagesize}/${endkey}`; endpoint = `/blog/prevbrowse/${self.pagesize}/${endkey}`;
} }
self.opts.state.pagenum--;
window.cached(endpoint) window.cached(endpoint)
.then((resp) => { return resp.json() }) .then((resp) => { return resp.json() })
.then((results) => { .then((results) => {
self.opts.state.results = results; self.opts.state.results = results;
self.update({ self.update({
"loading" : false, "loading" : false
"pagenum" : self.pagenum-1
}); });
}); });
} }
@ -147,20 +147,21 @@ self.getNext = (startkey) => {
else { else {
endpoint = `/blog/getbrowselim/${self.pagesize}/${startkey}`; endpoint = `/blog/getbrowselim/${self.pagesize}/${startkey}`;
} }
self.opts.state.pagenum++;
window.cached(endpoint) window.cached(endpoint)
.then((resp) => { return resp.json() }) .then((resp) => { return resp.json() })
.then((results) => { .then((results) => {
self.opts.state.results = results.slice(1, results.length); self.opts.state.results = results.slice(1, results.length);
self.update({ self.update({
"loading" : false, "loading" : false
"pagenum" : self.pagenum+1
}); });
}); });
} }
self.getInitial = () => { self.getInitial = () => {
self.update({"loading" : true}); self.update({"loading" : true});
self.opts.state.pagenum = 0;
window.cached(`/blog/getbrowse/${self.pagesize}`) window.cached(`/blog/getbrowse/${self.pagesize}`)
.then((resp) => { return resp.json() }) .then((resp) => { return resp.json() })
.then((results) => { .then((results) => {

Loading…
Cancel
Save