You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sqm-dashboards/app/javascript/controllers/analyze_controller.js

65 lines
1.3 KiB

import { Controller } from "@hotwired/stimulus";
// Connects to data-controller="analyze"
export default class extends Controller {
connect() { }
refresh(event) {
let base_url = event.target.value;
let url =
base_url +
"&academic_years=" +
this.selected_years().join(",") +
"&graph=" +
this.selected_graph() +
"&races=" +
this.selected_races().join(",");
this.go_to(url);
}
go_to(location) {
window.location = location;
}
selected_years() {
let year_checkboxes = [...document.getElementsByName("year-checkbox")];
let years = year_checkboxes
.filter((item) => {
return item.checked;
})
.map((item) => {
return item.id;
});
return years;
}
selected_graph() {
let graphs = [...document.getElementsByName("graph")];
let selected_graph = graphs
.filter((item) => {
return item.checked;
})
.map((item) => {
return item.id;
});
return selected_graph[0];
}
selected_races() {
let race_checkboxes = [...document.getElementsByName("race-checkbox")]
let races = race_checkboxes
.filter((item) => {
return item.checked;
})
.map((item) => {
return item.id;
});
return races;
}
}