@trullock/page-manager 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/index.js +14 -10
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -23,7 +23,7 @@ var options = {
|
|
|
23
23
|
|
|
24
24
|
export function registerPage(opts) {
|
|
25
25
|
|
|
26
|
-
let loadPageClass = opts.pageClass
|
|
26
|
+
let loadPageClass = opts.pageClass ? (() => opts.pageClass) : opts.loadPageClass;
|
|
27
27
|
let namedRoutes = opts.namedRoutes || { [opts.name]: opts.route };
|
|
28
28
|
let auth = opts.auth || null;
|
|
29
29
|
let cacheMarkupBy = opts.cacheMarkupBy || 'path'
|
|
@@ -64,14 +64,14 @@ function emitUrlChanged(url)
|
|
|
64
64
|
// TODO: 404 and error too?
|
|
65
65
|
function initLoading()
|
|
66
66
|
{
|
|
67
|
-
var
|
|
68
|
-
var route = router.parse(
|
|
67
|
+
var url = router.interpolate(options.loadingPageName, {});
|
|
68
|
+
var route = router.parse(url);
|
|
69
69
|
return loadPage(route, {});
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
function showLoading() {
|
|
73
|
-
var
|
|
74
|
-
var route = router.parse(
|
|
73
|
+
var url = router.interpolate(options.loadingPageName, {});
|
|
74
|
+
var route = router.parse(url);
|
|
75
75
|
var data = {
|
|
76
76
|
route: route,
|
|
77
77
|
scrollY: window.scrollY,
|
|
@@ -85,8 +85,8 @@ function showLoading() {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
function hideLoading() {
|
|
88
|
-
var
|
|
89
|
-
var route = router.parse(
|
|
88
|
+
var url = router.interpolate(options.loadingPageName, {});
|
|
89
|
+
var route = router.parse(url);
|
|
90
90
|
var page = (pageCache[route.path] || pageCache[route.pattern]).page;
|
|
91
91
|
return Promise.resolve(page.hide());
|
|
92
92
|
}
|
|
@@ -121,8 +121,8 @@ async function showPage(url, data, event)
|
|
|
121
121
|
if (routeResult == null) {
|
|
122
122
|
console.error(`Can't find page: '${url}'`);
|
|
123
123
|
|
|
124
|
-
let
|
|
125
|
-
routeResult = router.parse(
|
|
124
|
+
let url = router.interpolate(options.error404PageName, {});
|
|
125
|
+
routeResult = router.parse(url)
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
data = data || {};
|
|
@@ -298,6 +298,11 @@ export async function init(opts) {
|
|
|
298
298
|
|
|
299
299
|
await initLoading();
|
|
300
300
|
|
|
301
|
+
await showLoading();
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export async function ready()
|
|
305
|
+
{
|
|
301
306
|
// set initial page
|
|
302
307
|
emitUrlChanged(window.location.pathname + window.location.search + window.location.hash);
|
|
303
308
|
showPage(window.location.pathname + window.location.search + window.location.hash, null, { action: 'load', distance: 0 }).catch(e => {
|
|
@@ -310,7 +315,6 @@ export async function init(opts) {
|
|
|
310
315
|
handleHistoryAction({ action: e.action }, e.url, e.data, page);
|
|
311
316
|
return page;
|
|
312
317
|
});
|
|
313
|
-
|
|
314
318
|
}
|
|
315
319
|
});
|
|
316
320
|
|