saving progress, lots of charting decisions made
This commit is contained in:
@@ -48,10 +48,14 @@ export class DataService {
|
||||
download: true,
|
||||
header: false,
|
||||
complete: (results: ParseResult<Record<string, any>>) => {
|
||||
const headers = this.getHeaders((results?.data ?? []).slice(1, 3));
|
||||
const lookup = (x: string, record: Record<string, any>): any => {
|
||||
const idx = headers.findIndex((h: string) => x === h);
|
||||
return (idx > -1 ? record[idx] : '') as any;
|
||||
const h = this.getHeaders((results?.data ?? []).slice(1, 3));
|
||||
const fs = (x: string, r: Record<string, any>): string => {
|
||||
const idx = h.findIndex((h: string) => x === h);
|
||||
return (idx > -1 ? r[idx] : '') as string;
|
||||
};
|
||||
const fn = (x: string, r: Record<string, any>): number => {
|
||||
const idx = h.findIndex((h: string) => x === h);
|
||||
return +(idx > -1 ? r[idx] : '');
|
||||
};
|
||||
const cohort = year + 12 - grade;
|
||||
this._cohorts.set(`${cohort}`, `Class of ${cohort}`);
|
||||
@@ -59,7 +63,7 @@ export class DataService {
|
||||
const data: Record<string, any>[] = [];
|
||||
|
||||
(results?.data ?? []).forEach((record: Record<string, any>) => {
|
||||
let code = parseInt(lookup(Csv.County_Code, record));
|
||||
let code = fn(Csv.County_Code, record);
|
||||
// skip non-data rows on the csv
|
||||
if (isNaN(code)) return;
|
||||
|
||||
@@ -68,44 +72,39 @@ export class DataService {
|
||||
ms[Milestone.Year] = year;
|
||||
ms[Milestone.Grade] = grade;
|
||||
ms[Milestone.Cohort] = cohort;
|
||||
ms[Milestone.County] = lookup(Csv.County_Code, record);
|
||||
ms[Milestone.School] = lookup(Csv.School_Code, record);
|
||||
ms[Milestone.ELACount] = lookup(Csv.ELA_Count, record);
|
||||
ms[Milestone.ELAMean] = lookup(Csv.ELA_Mean, record);
|
||||
ms[Milestone.ELA0] = lookup(Csv.ELA_L0, record);
|
||||
ms[Milestone.ELA1] = lookup(Csv.ELA_L1, record);
|
||||
ms[Milestone.ELA2] = lookup(Csv.ELA_L2, record);
|
||||
ms[Milestone.ELA3] = lookup(Csv.ELA_L3, record);
|
||||
ms[Milestone.MathCount] = lookup(Csv.Math_Count, record);
|
||||
ms[Milestone.MathMean] = lookup(Csv.Math_Mean, record);
|
||||
ms[Milestone.Math0] = lookup(Csv.Math_L0, record);
|
||||
ms[Milestone.Math1] = lookup(Csv.Math_L1, record);
|
||||
ms[Milestone.Math2] = lookup(Csv.Math_L2, record);
|
||||
ms[Milestone.Math3] = lookup(Csv.Math_L3, record);
|
||||
ms[Milestone.SciCount] = lookup(Csv.Science_Count, record);
|
||||
ms[Milestone.SciMean] = lookup(Csv.Science_Mean, record);
|
||||
ms[Milestone.Sci0] = lookup(Csv.Science_L0, record);
|
||||
ms[Milestone.Sci1] = lookup(Csv.Science_L1, record);
|
||||
ms[Milestone.Sci2] = lookup(Csv.Science_L2, record);
|
||||
ms[Milestone.Sci3] = lookup(Csv.Science_L3, record);
|
||||
ms[Milestone.SocCount] = lookup(Csv.Social_Count, record);
|
||||
ms[Milestone.SocMean] = lookup(Csv.Social_Mean, record);
|
||||
ms[Milestone.Soc0] = lookup(Csv.Social_L0, record);
|
||||
ms[Milestone.Soc1] = lookup(Csv.Social_L1, record);
|
||||
ms[Milestone.Soc2] = lookup(Csv.Social_L2, record);
|
||||
ms[Milestone.Soc3] = lookup(Csv.Social_L3, record);
|
||||
ms[Milestone.County] = fs(Csv.County_Code, record);
|
||||
ms[Milestone.School] = fs(Csv.School_Code, record);
|
||||
ms[Milestone.ELACount] = fn(Csv.ELA_Count, record);
|
||||
ms[Milestone.ELAMean] = fn(Csv.ELA_Mean, record);
|
||||
ms[Milestone.ELA0] = fn(Csv.ELA_L0, record);
|
||||
ms[Milestone.ELA1] = fn(Csv.ELA_L1, record);
|
||||
ms[Milestone.ELA2] = fn(Csv.ELA_L2, record);
|
||||
ms[Milestone.ELA3] = fn(Csv.ELA_L3, record);
|
||||
ms[Milestone.MathCount] = fn(Csv.Math_Count, record);
|
||||
ms[Milestone.MathMean] = fn(Csv.Math_Mean, record);
|
||||
ms[Milestone.Math0] = fn(Csv.Math_L0, record);
|
||||
ms[Milestone.Math1] = fn(Csv.Math_L1, record);
|
||||
ms[Milestone.Math2] = fn(Csv.Math_L2, record);
|
||||
ms[Milestone.Math3] = fn(Csv.Math_L3, record);
|
||||
ms[Milestone.SciCount] = fn(Csv.Science_Count, record);
|
||||
ms[Milestone.SciMean] = fn(Csv.Science_Mean, record);
|
||||
ms[Milestone.Sci0] = fn(Csv.Science_L0, record);
|
||||
ms[Milestone.Sci1] = fn(Csv.Science_L1, record);
|
||||
ms[Milestone.Sci2] = fn(Csv.Science_L2, record);
|
||||
ms[Milestone.Sci3] = fn(Csv.Science_L3, record);
|
||||
ms[Milestone.SocCount] = fn(Csv.Social_Count, record);
|
||||
ms[Milestone.SocMean] = fn(Csv.Social_Mean, record);
|
||||
ms[Milestone.Soc0] = fn(Csv.Social_L0, record);
|
||||
ms[Milestone.Soc1] = fn(Csv.Social_L1, record);
|
||||
ms[Milestone.Soc2] = fn(Csv.Social_L2, record);
|
||||
ms[Milestone.Soc3] = fn(Csv.Social_L3, record);
|
||||
data.push(ms);
|
||||
|
||||
this._counties.set(
|
||||
lookup(Csv.County_Code, record),
|
||||
lookup(Csv.County_Label, record)
|
||||
);
|
||||
const county = fs(Csv.County_Code, record);
|
||||
this._counties.set(county, fs(Csv.County_Label, record));
|
||||
this._schools.set(
|
||||
`${lookup(Csv.County_Code, record)}-${lookup(
|
||||
Csv.School_Code,
|
||||
record
|
||||
)}`,
|
||||
lookup(Csv.School_Label, record)
|
||||
`${county}-${fs(Csv.School_Code, record)}`,
|
||||
fs(Csv.School_Label, record)
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user