diff options
| author | mo <mo.khan@gmail.com> | 2018-12-14 21:02:59 -0700 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2018-12-14 21:02:59 -0700 |
| commit | a7bf2aa81ba26285644836d6cd8ff8aab9e00a04 (patch) | |
| tree | 25a7ba09d5f58c914f3f1ff1f8d3b2eab3ee28dd /app/javascript/controllers/content_loader_controller.js | |
| parent | 3dc7844531d5a02d80a4ee8e823721179c95383c (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.js | 35 |
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) + } + } +} |
