Separation of concerns: use a loading controller

Two different events can be used: `show-loading` and `hide-loading`.

I'm not 100% sure this is the right way to go, but let's try!
This commit is contained in:
Jean-Baptiste Bellet
2023-06-27 14:58:27 +02:00
parent 5aebbe4102
commit 0b83dc088d
3 changed files with 27 additions and 13 deletions

View File

@@ -0,0 +1,22 @@
import ApplicationController from "./application_controller";
export default class extends ApplicationController {
connect() {
super.connect();
document.addEventListener("show-loading", this.showLoading);
document.addEventListener("hide-loading", this.hideLoading);
}
disconnect() {
document.removeEventListener("show-loading", this.showLoading);
document.removeEventListener("hide-loading", this.hideLoading);
}
hideLoading = () => {
this.element.classList.add("hidden");
};
showLoading = () => {
this.element.classList.remove("hidden");
};
}