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 | |
| parent | 3dc7844531d5a02d80a4ee8e823721179c95383c (diff) | |
add polyfills and load header via content-loader
Diffstat (limited to 'app/javascript')
| -rw-r--r-- | app/javascript/controllers/content_loader_controller.js | 35 | ||||
| -rw-r--r-- | app/javascript/packs/application.js | 1 |
2 files changed, 36 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) + } + } +} diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index 17941bd..29d1d2e 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -7,6 +7,7 @@ // To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate // layout file, like app/views/layouts/application.html.erb +import "@stimulus/polyfills" import { Application } from 'stimulus'; import { definitionsFromContext } from 'stimulus/webpack-helpers'; import LocalTime from 'local-time'; |
