summaryrefslogtreecommitdiff
path: root/app/javascript/controllers/content_loader_controller.js
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2018-12-14 21:02:59 -0700
committermo <mo.khan@gmail.com>2018-12-14 21:02:59 -0700
commita7bf2aa81ba26285644836d6cd8ff8aab9e00a04 (patch)
tree25a7ba09d5f58c914f3f1ff1f8d3b2eab3ee28dd /app/javascript/controllers/content_loader_controller.js
parent3dc7844531d5a02d80a4ee8e823721179c95383c (diff)
add polyfills and load header via content-loader
Diffstat (limited to 'app/javascript/controllers/content_loader_controller.js')
-rw-r--r--app/javascript/controllers/content_loader_controller.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/app/javascript/controllers/content_loader_controller.js b/app/javascript/controllers/content_loader_controller.js
new file mode 100644
index 0000000..37e51df
--- /dev/null
+++ b/app/javascript/controllers/content_loader_controller.js
@@ -0,0 +1,35 @@
+import ApplicationController from './application_controller';
+
+export default class extends ApplicationController {
+ connect() {
+ this.load()
+
+ if (this.data.has("refreshInterval")) {
+ this.startRefreshing()
+ }
+ }
+
+ disconnect() {
+ this.stopRefreshing()
+ }
+
+ load() {
+ fetch(this.data.get("url"))
+ .then(response => response.text())
+ .then(html => {
+ this.element.innerHTML = html
+ })
+ }
+
+ startRefreshing() {
+ this.refreshTimer = setInterval(() => {
+ this.load()
+ }, this.data.get("refreshInterval"))
+ }
+
+ stopRefreshing() {
+ if (this.refreshTimer) {
+ clearInterval(this.refreshTimer)
+ }
+ }
+}