mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-09 07:28:41 -07:00
feat: Add income table to the database. Add seeder for income. Add a reference to income from survey item response. Update the loader to import income data from the survey response csv. Refactor analyze controller to extract presenter. Add corresponding specs. Add income graph to analyze page
This commit is contained in:
parent
8e33a4178c
commit
2ac30bb107
45 changed files with 1511 additions and 850 deletions
|
|
@ -22,16 +22,17 @@ export default class extends Controller {
|
|||
"&graph=" +
|
||||
this.selected_graph(target) +
|
||||
"&races=" +
|
||||
this.selected_races().join(",") +
|
||||
this.selected_items("race").join(",") +
|
||||
"&genders=" +
|
||||
this.selected_genders().join(",") +
|
||||
this.selected_items("gender").join(",") +
|
||||
"&incomes=" +
|
||||
this.selected_items("income").join(",") +
|
||||
"&grades=" +
|
||||
this.selected_grades().join(",");
|
||||
this.selected_items("grade").join(",");
|
||||
|
||||
this.go_to(url);
|
||||
}
|
||||
|
||||
|
||||
go_to(location) {
|
||||
window.location = location;
|
||||
}
|
||||
|
|
@ -121,58 +122,34 @@ export default class extends Controller {
|
|||
return item.id;
|
||||
})[0];
|
||||
|
||||
const groups = new Map([
|
||||
['gender', 'students-by-gender'],
|
||||
['grade', 'students-by-grade'],
|
||||
['income', 'students-by-income'],
|
||||
['race', 'students-by-race']
|
||||
])
|
||||
|
||||
if (target.name === 'slice' || target.name === 'group') {
|
||||
if (selected_slice === 'students-and-teachers') {
|
||||
return 'students-and-teachers';
|
||||
} else if (this.selected_group() === 'race') {
|
||||
return 'students-by-race';
|
||||
} else if (this.selected_group() === 'gender') {
|
||||
return 'students-by-gender';
|
||||
} else if (this.selected_group() === 'grade') {
|
||||
return 'students-by-grade';
|
||||
}
|
||||
return groups.get(this.selected_group());
|
||||
}
|
||||
|
||||
return window.graph;
|
||||
|
||||
}
|
||||
|
||||
selected_races() {
|
||||
let race_checkboxes = [...document.getElementsByName("race-checkbox")]
|
||||
let races = race_checkboxes
|
||||
selected_items(type) {
|
||||
let checkboxes = [...document.getElementsByName(`${type}-checkbox`)]
|
||||
let items = checkboxes
|
||||
.filter((item) => {
|
||||
return item.checked;
|
||||
})
|
||||
.map((item) => {
|
||||
return item.id;
|
||||
return item.id.replace(`${type}-`, '');
|
||||
});
|
||||
|
||||
return races;
|
||||
}
|
||||
|
||||
selected_grades() {
|
||||
let grade_checkboxes = [...document.getElementsByName("grade-checkbox")]
|
||||
let grades = grade_checkboxes
|
||||
.filter((item) => {
|
||||
return item.checked;
|
||||
})
|
||||
.map((item) => {
|
||||
return item.id.replace('grade-', '');
|
||||
});
|
||||
|
||||
return grades;
|
||||
}
|
||||
|
||||
selected_genders() {
|
||||
let gender_checkboxes = [...document.getElementsByName("gender-checkbox")]
|
||||
let genders = gender_checkboxes
|
||||
.filter((item) => {
|
||||
return item.checked;
|
||||
})
|
||||
.map((item) => {
|
||||
return item.id.replace('gender-', '');
|
||||
});
|
||||
|
||||
return genders;
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue