diff --git a/index.html b/index.html
index fbf1c29..0cf25e0 100644
--- a/index.html
+++ b/index.html
@@ -19,7 +19,6 @@
-
diff --git a/js/index.js b/js/index.js
index 6863e92..1ec58c0 100644
--- a/js/index.js
+++ b/js/index.js
@@ -16,7 +16,15 @@
MyApp.renderShell = function() {
document.title = i18next.t('vanillaJS');
- $('.js-main-content').html(ejs.rr('/templates/main.ejs'));
+ var d = $.Deferred();
+
+ //preload this template, so we can be sure the dom in rendered when we resolve
+ ejs.preloadTemplate('/templates/main.ejs')
+ .then(function(templateUrl) {
+ $('.js-main-content').html(ejs.rr(templateUrl));
+ d.resolve();
+ });
+ return d;
};
MyApp.renderHomePage = function() {
@@ -77,8 +85,9 @@
}
});
- // when main content is rendered, set up routing so the app starts up
- $(document).arrive('.js-page-container', {existing: true, onceOnly: true}, function() {
+ // render main shell
+ MyApp.renderShell()
+ .then(function() {
//setup routing
page('/', MyApp.renderHomePage);
page('/about', MyApp.renderAboutPage);
@@ -88,6 +97,4 @@
hashbang: true
});
});
-
- MyApp.renderShell();
})();
diff --git a/node_modules/ejs-render-remote/ejs-render-remote.js b/node_modules/ejs-render-remote/ejs-render-remote.js
index 518f879..0871aff 100644
--- a/node_modules/ejs-render-remote/ejs-render-remote.js
+++ b/node_modules/ejs-render-remote/ejs-render-remote.js
@@ -64,7 +64,7 @@
ejs.cache.set(templateUrl, templateFn);
- d.resolve();
+ d.resolve(templateUrl);
});
}
diff --git a/node_modules/ejs-render-remote/package.json b/node_modules/ejs-render-remote/package.json
index 980b1c1..a49b45c 100644
--- a/node_modules/ejs-render-remote/package.json
+++ b/node_modules/ejs-render-remote/package.json
@@ -1,27 +1,27 @@
{
- "_from": "ejs-render-remote@1.0.2",
- "_id": "ejs-render-remote@1.0.2",
+ "_from": "ejs-render-remote@1.0.3",
+ "_id": "ejs-render-remote@1.0.3",
"_inBundle": false,
- "_integrity": "sha512-UeEyN/ss0i+VYNANB5DISi8rgRkiL+/+wIxeFtYiEWozmZpjr2bktR1yU5XxIF2FprA3ULY7U1cqsJ0Cj1F5LA==",
+ "_integrity": "sha512-5Tj0RGLQvBlpZdT1y1F/k7S4ayv9/WkljL/T2PiTJSh5NT4mgm2G+kPXYorfZyb4pomMqDc1vSo+VbLaaLHACg==",
"_location": "/ejs-render-remote",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "ejs-render-remote@1.0.2",
+ "raw": "ejs-render-remote@1.0.3",
"name": "ejs-render-remote",
"escapedName": "ejs-render-remote",
- "rawSpec": "1.0.2",
+ "rawSpec": "1.0.3",
"saveSpec": null,
- "fetchSpec": "1.0.2"
+ "fetchSpec": "1.0.3"
},
"_requiredBy": [
"#USER",
"/"
],
- "_resolved": "https://registry.npmjs.org/ejs-render-remote/-/ejs-render-remote-1.0.2.tgz",
- "_shasum": "101222d144bc2b45906e804af753a8558e455c8b",
- "_spec": "ejs-render-remote@1.0.2",
+ "_resolved": "https://registry.npmjs.org/ejs-render-remote/-/ejs-render-remote-1.0.3.tgz",
+ "_shasum": "425ae3451c557bfddf4fcc7e790545338068a865",
+ "_spec": "ejs-render-remote@1.0.3",
"_where": "/home/s2/Code/vanillajs-seed",
"author": {
"name": "s2",
@@ -42,5 +42,5 @@
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
- "version": "1.0.2"
+ "version": "1.0.3"
}
diff --git a/package-lock.json b/package-lock.json
index 9e1f349..5f262af 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -23,9 +23,9 @@
"integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ=="
},
"ejs-render-remote": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/ejs-render-remote/-/ejs-render-remote-1.0.2.tgz",
- "integrity": "sha512-UeEyN/ss0i+VYNANB5DISi8rgRkiL+/+wIxeFtYiEWozmZpjr2bktR1yU5XxIF2FprA3ULY7U1cqsJ0Cj1F5LA=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/ejs-render-remote/-/ejs-render-remote-1.0.3.tgz",
+ "integrity": "sha512-5Tj0RGLQvBlpZdT1y1F/k7S4ayv9/WkljL/T2PiTJSh5NT4mgm2G+kPXYorfZyb4pomMqDc1vSo+VbLaaLHACg=="
},
"i18next": {
"version": "15.0.9",
diff --git a/package.json b/package.json
index 83fc6ab..5c64b22 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,7 @@
"dependencies": {
"bootstrap": "^4.3.1",
"ejs": "^2.6.1",
- "ejs-render-remote": "^1.0.2",
+ "ejs-render-remote": "^1.0.3",
"i18next": "^15.0.9",
"jquery": "^3.4.0",
"page": "^1.11.4",