From 1929560f42bc4b38bb66129ba2abe0b086e01a42 Mon Sep 17 00:00:00 2001 From: wes Date: Wed, 30 Aug 2017 19:14:21 -0400 Subject: [PATCH] next pagination working --- src/scripts/browse.tag | 42 +++++++++++++++++++++++++++++++++++++++--- src/website.py | 2 +- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/src/scripts/browse.tag b/src/scripts/browse.tag index 5b9b2f6..192a1e9 100644 --- a/src/scripts/browse.tag +++ b/src/scripts/browse.tag @@ -33,6 +33,15 @@ +
+ +
@@ -53,6 +62,7 @@ self.loading = false; self.category = self.opts.state.category_filter; self.converter = new showdown.Converter(); self.lastkey = false; +self.pagesize = 5; self.openPost = (id) => { return ((ev) => { @@ -73,15 +83,15 @@ self.filterCategories = (category) => { return ((ev) => { if (ev !== undefined) { ev.preventDefault(); - self.route(`browse/${category}`); } + self.route(`browse/${category}`); self.update({ "loading" : true }); self.opts.state.category_filter = category; - window.cached(`/blog/getbrowse/${category}/5/${self.lastkey ? self.lastkey : ""}`) + window.cached(`/blog/getbrowse/${category}/${self.pagesize}/${self.lastkey ? self.lastkey : ""}`) .then((resp) => { return resp.json() }) .then((results) => { self.opts.state.results = results; @@ -92,9 +102,30 @@ self.filterCategories = (category) => { }) } +self.getNext = (startkey) => { + self.update({"loading" : true}); + var endpoint; + + if (self.category) { + endpoint = `/blog/getbrowse/${self.category}/${self.pagesize}/${startkey}`; + } + else { + endpoint = `/blog/getbrowselim/${self.pagesize}/${startkey}`; + } + + window.cached(endpoint) + .then((resp) => { return resp.json() }) + .then((results) => { + self.opts.state.results = results.slice(1, results.length); + self.update({ + "loading" : false + }); + }); +} + self.getInitial = () => { self.update({"loading" : true}); - window.cached("/blog/getbrowse/5") + window.cached(`/blog/getbrowse/${self.pagesize}`) .then((resp) => { return resp.json() }) .then((results) => { self.opts.state.results = results; @@ -104,6 +135,11 @@ self.getInitial = () => { }); } +self.getmore = (ev) => { + ev.preventDefault(); + self.getNext(self.opts.state.results.slice(-1)[0][1].id) +} + self.on("mount", () => { if (!self.opts.state.category_filter && !self.opts.state.category_tag) { self.getInitial(); diff --git a/src/website.py b/src/website.py index 8fea226..bf1860b 100755 --- a/src/website.py +++ b/src/website.py @@ -163,7 +163,7 @@ def NeverWhere(configfile=None): @app.route("/blog/browse//") def browse_categories(category, start): - results = posts.browse(4, start*4, categories=[category], json=False) + results = posts.browse(5, start*5, categories=[category], json=False) return render_template("index.html", page="browse", start=start,