From fee7616378cea5aa1d761564d45ccccf73f2a26f Mon Sep 17 00:00:00 2001
From: Chung Leong
Date: Tue, 29 Jan 2019 20:21:18 +0100
Subject: [PATCH] Renamed function.
---
src/pages/category-page.jsx | 2 +-
src/pages/page-page.jsx | 2 +-
src/pages/post-page.jsx | 4 ++--
src/routing.js | 14 ++++++++++----
src/widgets/page-list-view.jsx | 2 +-
src/widgets/post-list-view.jsx | 2 +-
src/widgets/side-nav.jsx | 4 ++--
src/widgets/tag-list.jsx | 2 +-
src/widgets/top-nav.jsx | 2 +-
9 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/src/pages/category-page.jsx b/src/pages/category-page.jsx
index eb62349..e74f33c 100644
--- a/src/pages/category-page.jsx
+++ b/src/pages/category-page.jsx
@@ -40,7 +40,7 @@ class CategoryPageSync extends PureComponent {
let categoryLabel = _.get(category, 'name', '');
for (let parentCategory of parentCategories) {
let label = _.get(parentCategory, 'name', '');
- let url = route.getObjectURL(parentCategory);
+ let url = route.prefetchObjectURL(parentCategory);
trail.push({ label, url });
}
trail.push({ label: categoryLabel });
diff --git a/src/pages/page-page.jsx b/src/pages/page-page.jsx
index 6e39b89..1a0ae56 100644
--- a/src/pages/page-page.jsx
+++ b/src/pages/page-page.jsx
@@ -41,7 +41,7 @@ class PagePageSync extends PureComponent {
let trail = [];
for (let parentPage of parentPages) {
let title = _.get(parentPage, 'title.rendered', '');
- let url = route.getObjectURL(parentPage);
+ let url = route.prefetchObjectURL(parentPage);
trail.push({ label: , url })
}
return (
diff --git a/src/pages/post-page.jsx b/src/pages/post-page.jsx
index 5337439..aa46d09 100644
--- a/src/pages/post-page.jsx
+++ b/src/pages/post-page.jsx
@@ -96,9 +96,9 @@ class PostPageSync extends PureComponent {
render() {
let { route, categories, post, author, tags, comments } = this.props;
let trail = [ { label: 'Categories' } ];
- for (let c of categories) {
+ for (let category of categories) {
let label = _.get(c, 'name', '');
- let url = route.getObjectURL(c);
+ let url = route.prefetchObjectURL(category);
trail.push({ label, url });
}
return (
diff --git a/src/routing.js b/src/routing.js
index 80e6bbe..d25e22b 100644
--- a/src/routing.js
+++ b/src/routing.js
@@ -36,8 +36,12 @@ class Route {
throw new Error(`Object URL does not match site URL`);
}
let path = link.substr(siteURL.length);
- let url = this.composeURL({ path });
- this.preloadPage(url);
+ return this.composeURL({ path });
+ }
+
+ prefetchObjectURL(object) {
+ let url = this.getObjectURL(object);
+ this.loadPageData(url);
return url;
}
@@ -146,7 +150,7 @@ class Route {
}
}
- async preloadPage(url) {
+ async loadPageData(url) {
try {
let urlParts = this.routeManager.parse(url);
let params = await this.getParameters(urlParts.path, urlParts.query);
@@ -154,6 +158,8 @@ class Route {
let wp = new Wordpress(this.dataSource);
if (params.postSlug) {
await wp.fetchOne('/wp/v2/posts/', params.postSlug);
+ } else if (params.pageSlug) {
+ await wp.fetchOne('/wp/v2/pages/', params.pageSlug);
} else if (params.tagSlug) {
let tag = await wp.fetchOne('/wp/v2/tags/', params.tagSlug);
await wp.fetchList(`/wp/v2/posts/?tags=${tag.id}`);
@@ -187,7 +193,7 @@ class Route {
if (_.startsWith(node.attribs.href, '/')) {
// strip off page number
node.attribs.href = node.attribs.href.replace(/\/\d+\/?$/, '');
- this.preloadPage(node.attribs.href);
+ this.loadPageData(node.attribs.href);
}
}
} else if (node.name === 'img') {
diff --git a/src/widgets/page-list-view.jsx b/src/widgets/page-list-view.jsx
index 2efe169..a23ad03 100644
--- a/src/widgets/page-list-view.jsx
+++ b/src/widgets/page-list-view.jsx
@@ -10,7 +10,7 @@ class PageListView extends PureComponent {
render() {
let { route, page } = this.props;
let title = _.get(page, 'title.rendered', '');
- let url = route.getObjectURL(page);
+ let url = route.prefetchObjectURL(page);
return (
diff --git a/src/widgets/post-list-view.jsx b/src/widgets/post-list-view.jsx
index b09b592..08bc368 100644
--- a/src/widgets/post-list-view.jsx
+++ b/src/widgets/post-list-view.jsx
@@ -13,7 +13,7 @@ class PostListView extends PureComponent {
let title = _.get(post, 'title.rendered', '');
let excerpt = _.get(post, 'excerpt.rendered', '');
excerpt = cleanExcerpt(excerpt);
- let url = route.getObjectURL(post);
+ let url = route.prefetchObjectURL(post);
let date = _.get(post, 'date_gmt');
if (date) {
date = Moment(date).format('LL');
diff --git a/src/widgets/side-nav.jsx b/src/widgets/side-nav.jsx
index 6d7b2ff..ca54f53 100644
--- a/src/widgets/side-nav.jsx
+++ b/src/widgets/side-nav.jsx
@@ -170,7 +170,7 @@ class SideNavSync extends PureComponent {
let { categorySlug } = route.params;
let name = _.get(category, 'name', '');
let description = _.get(category, 'description', '');
- let url = route.getObjectURL(category);
+ let url = route.prefetchObjectURL(category);
let className;
if (category.slug === categorySlug) {
className = 'selected';
@@ -217,7 +217,7 @@ class SideNavSync extends PureComponent {
let { tagSlug } = route.params;
let name = _.get(tag, 'name', '');
let description = _.get(tag, 'description', '');
- let url = route.getObjectURL(tag);
+ let url = route.prefetchObjectURL(tag);
let className;
if (tag.slug === tagSlug) {
className = 'selected';
diff --git a/src/widgets/tag-list.jsx b/src/widgets/tag-list.jsx
index 47316c8..8a1240f 100644
--- a/src/widgets/tag-list.jsx
+++ b/src/widgets/tag-list.jsx
@@ -24,7 +24,7 @@ class TagList extends PureComponent {
renderTag(tag, i) {
let { route } = this.props;
let name = _.get(tag, 'name', '');
- let url = route.getObjectURL(tag);
+ let url = route.prefetchObjectURL(tag);
return (
{name}
diff --git a/src/widgets/top-nav.jsx b/src/widgets/top-nav.jsx
index 7fc72c2..a929c86 100644
--- a/src/widgets/top-nav.jsx
+++ b/src/widgets/top-nav.jsx
@@ -77,7 +77,7 @@ class TopNavSync extends PureComponent {
renderPageLinkButton(page, i) {
let { route } = this.props;
let title = _.get(page, 'title.rendered');
- let url = route.getObjectURL(page);
+ let url = route.prefetchObjectURL(page);
return (