From a7bf2aa81ba26285644836d6cd8ff8aab9e00a04 Mon Sep 17 00:00:00 2001 From: mo Date: Fri, 14 Dec 2018 21:02:59 -0700 Subject: add polyfills and load header via content-loader --- .../controllers/content_loader_controller.js | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 app/javascript/controllers/content_loader_controller.js (limited to 'app/javascript/controllers/content_loader_controller.js') 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) + } + } +} -- cgit v1.2.3