{"version":3,"sources":["components/SchoolsDirectory/AllResultsContainer.js","components/SchoolsDirectory/FilteredResultsContainer.js","components/Tel.js","components/Telephones.js","components/SchoolsDirectory/School.js","components/SchoolsDirectory/District.js","components/SchoolsDirectory/Main.js","App.js","index.js"],"names":["AllResultsContainer","props","Fragment","hideSearch","aria-label","ariaLabel","disabled","loading","name","onChange","inputHandleOnChange","className","placeholder","autoComplete","autoCorrect","autoCapitalize","spellCheck","children","FilteredResultsContainer","showMe","itemType","toLowerCase","showHeader","data-name","secondColumnName","Tel","num","areaCode","exchange","line","href","Telephones","ph","ret","arr","replace","a","b","c","d","e","push","split","map","n","key","addTel","phonesString","School","grades","distName","administrator","paddr","maddr","city","zip","target","rel","title","phone","website","cdsCode","cdeYear","District","id","districtId","enrollment","Main","state","data","window","scoeWebSite","schoolsDirectory","apiEndpoint","searchString","elementsToHide","district","placeholderText","handleChange","bind","formatFixes","dat","fixPhone","rsp","fp","r","p1","p2","districts","schools","distToYear","reduce","v","dashboard","forEach","s","addDistDataToSchools","this","setState","fetch","headers","Accept","then","response","json","event","checked","type","val","value","hideDistricts","includes","hideSchools","formatPhForSearch","schoolsFilter","sn","dn","an","ci","CITY","pn","gl","indexOf","districtsFilter","ADMINISTRATOR","districtFilter","filteredSchools","filter","filteredDistricts","length","filterString","i","undefined","calendarType","Component","App","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.7af6d8bf.chunk.js","sourcesContent":["import React from \"react\";\r\nfunction AllResultsContainer(props) {\r\n return (\r\n \r\n {props.hideSearch ? (\r\n \"\"\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n {props.children}\r\n
\r\n );\r\n}\r\n\r\nexport default AllResultsContainer;\r\n","import React from \"react\";\r\n\r\nfunction FilteredResultsContainer(props) {\r\n return props.showMe ? (\r\n
\r\n {props.showHeader ?

{`${props.itemType}s`}

: \"\"}\r\n
    \r\n
  1. \r\n
    \r\n {`${props.itemType}`} Name\r\n
    \r\n
    \r\n {props.secondColumnName}\r\n
    \r\n\r\n
    \r\n Administrator\r\n
    \r\n
    \r\n
    \r\n Address\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Phone\r\n
    \r\n
    \r\n \r\n Links\r\n
    \r\n \r\n \r\n
  2. \r\n {props.children}\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n );\r\n}\r\n\r\nexport default FilteredResultsContainer;\r\n","import React from \"react\";\r\nfunction Tel(props) {\r\n if (!props.num) return ;\r\n const areaCode = props.num[0];\r\n const exchange = props.num[1];\r\n const line = props.num[2];\r\n return (\r\n \r\n ({areaCode}) {exchange}-{line}\r\n \r\n );\r\n}\r\nexport default Tel;\r\n","import React from \"react\";\r\nimport Tel from \"./Tel\";\r\n\r\nfunction Telephones(props) {\r\n const addTel = ph => {\r\n if (!ph) return undefined;\r\n const rx = /(\\(([2-9][0-9][0-9])\\) ([2-9][0-9][0-9])-([0-9][0-9][0-9][0-9]))/g;\r\n const ret = [];\r\n const now = ph.replace(rx, (a, b, c, d, e) => {\r\n ret.push([c, d, e]);\r\n return \"|\";\r\n });\r\n const arr = now.split(\"|\");\r\n return (\r\n \r\n {arr.map((a, n) => (\r\n \r\n {arr[n]}\r\n \r\n \r\n ))}{\" \"}\r\n \r\n );\r\n };\r\n \r\n return (\r\n {addTel(props.phonesString)}\r\n );\r\n}\r\nexport default Telephones;\r\n","import React from \"react\";\r\nimport Telephones from \"../Telephones\";\r\nfunction School(props) {\r\n return (\r\n
  • \r\n
    \r\n {props.name} {props.grades ? `(${props.grades})` : \"\"}\r\n
    \r\n
    \r\n {props.distName}\r\n
    \r\n
    \r\n
    {props.administrator}
    \r\n
    \r\n
    \r\n {props.paddr || props.maddr ? (\r\n \r\n
    \r\n {props.paddr ? props.paddr : props.maddr}\r\n
    \r\n {props.paddr && props.maddr ? (\r\n
    \r\n {props.paddr ? props.maddr : \"\"}\r\n
    \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n {props.city}, CA {props.zip}\r\n
    \r\n
    \r\n \r\n MAP\r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {props.website ? (\r\n
    \r\n \r\n \r\n {props.website}\r\n \r\n \r\n
    \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n \r\n CA School Dashboard Report\r\n \r\n
    \r\n
    \r\n
  • \r\n );\r\n}\r\nexport default School;\r\n","import React from \"react\";\r\nimport Telephones from \"../Telephones\";\r\nfunction District(props) {\r\n return (\r\n
  • \r\n
    \r\n {props.name} {props.grades ? `(${props.grades})` : \"\"}\r\n
    \r\n
    \r\n {props.enrollment}\r\n
    \r\n
    \r\n
    {props.administrator}
    \r\n
    \r\n
    \r\n
    \r\n {props.paddr ? props.paddr : props.maddr}\r\n
    \r\n {props.paddr ? (\r\n
    \r\n {props.maddr}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {props.city}, CA {props.zip}\r\n
    \r\n
    \r\n \r\n MAP\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {props.website ? (\r\n \r\n {props.website}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n \r\n CA School Dashboard Report\r\n \r\n
    \r\n
    \r\n \r\n See all schools in this district\r\n \r\n
    \r\n
    \r\n
  • \r\n );\r\n}\r\nexport default District;\r\n","import React, { Component } from \"react\";\r\nimport AllResultsContainer from \"./AllResultsContainer\";\r\nimport FilteredResultsContainer from \"./FilteredResultsContainer\";\r\nimport School from \"./School\";\r\nimport District from \"./District\";\r\n\r\nclass Main extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: window.scoeWebSite.schoolsDirectory.data,\r\n apiEndpoint: window.scoeWebSite.schoolsDirectory.apiEndpoint,\r\n searchString: \"\",\r\n loading: true,\r\n elementsToHide: window.scoeWebSite.schoolsDirectory.elementsToHide || [],\r\n district: window.scoeWebSite.schoolsDirectory.district || \"\",\r\n placeholder: window.scoeWebSite.schoolsDirectory.placeholderText\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n function formatFixes(dat) {\r\n function fixPhone(rsp) {\r\n function fp(ph) {\r\n return ph.replace(\r\n /(\\([2-9][0-9][0-9]\\) [2-9][0-9][0-9])(-[0-9][0-9][0-9][0-9])\\/(-[0-9][0-9][0-9][0-9])/,\r\n \"$1$2/$1$3\"\r\n );\r\n }\r\n return rsp.map(r => {\r\n const p1 = r[\"Phone Number Combined\"];\r\n if (p1) r[\"Phone Number Combined\"] = fp(p1);\r\n const p2 = r[\"Phone 2 Number Combined\"];\r\n if (p2) r[\"Phone 2 Number Combined\"] = fp(p2);\r\n return r;\r\n });\r\n }\r\n function addDistDataToSchools(data) {\r\n const distToYear = data.districts.reduce((a, v) => {\r\n a[v[\"DISTRICT ID\"]] = {\r\n dashboard: v[\"Dashboard\"],\r\n distName: v[\"District Name\"]\r\n };\r\n return a;\r\n }, {});\r\n data.schools.forEach(s => {\r\n s.dashboard = distToYear[s[\"districtId\"]].dashboard;\r\n s.distName = distToYear[s[\"districtId\"]].distName;\r\n });\r\n return data;\r\n }\r\n function makeDistNameLookup(dists) {}\r\n makeDistNameLookup(dat.districts);\r\n fixPhone(dat.districts);\r\n fixPhone(dat.schools);\r\n addDistDataToSchools(dat);\r\n return dat;\r\n }\r\n\r\n if (!this.state.data) {\r\n this.setState({ loading: true });\r\n fetch(this.state.apiEndpoint, {\r\n headers: {\r\n Accept: \"application/json\"\r\n }\r\n })\r\n .then(response => response.json())\r\n .then(data =>\r\n this.setState({ loading: false, data: formatFixes(data) })\r\n );\r\n } else {\r\n this.setState({ loading: false, data: formatFixes(this.state.data) });\r\n }\r\n }\r\n handleChange(event) {\r\n const { checked, type, value: val, name } = event.target;\r\n const value = type === \"checkbox\" ? checked : val;\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n //try putting formatPhForSearch here and see if it works without binding\r\n //same for the functions that could be assigned to districtsFilter and schoolsFilter\r\n\r\n render() {\r\n if (this.state.loading) return null;\r\n const searchString = this.state.searchString.toLowerCase();\r\n const hideDistricts =\r\n this.state.loading || this.state.elementsToHide.includes(\"Districts\");\r\n const hideSchools =\r\n this.state.loading || this.state.elementsToHide.includes(\"Schools\");\r\n\r\n function formatPhForSearch(ph) {\r\n return ph ? ph.replace(/[() -]/g, \"\").replace(/[^0-9][^0-9]*/g, \" \") : \"\";\r\n }\r\n const schoolsFilter = searchString\r\n ? ({\r\n \"School Name Last First\": sn,\r\n distName: dn,\r\n \"Principal Title Name\": an,\r\n CITY: ci,\r\n \"Phone Number Combined\": pn,\r\n \"Grade Level\": gl\r\n }) => {\r\n return (\r\n `${sn} ${dn} ${an} ${ci} ${gl} ${formatPhForSearch(pn)}`\r\n .toLowerCase()\r\n .indexOf(searchString) > -1\r\n );\r\n }\r\n : () => true;\r\n\r\n const districtsFilter = searchString\r\n ? ({\r\n \"District Name\": dn,\r\n ADMINISTRATOR: an,\r\n CITY: ci,\r\n \"PHONE NUMBER COMBINED\": pn,\r\n \"GRADE LEVEL\": gl\r\n }) => {\r\n return (\r\n `${dn} ${an} ${ci} ${gl} ${formatPhForSearch(pn)}`\r\n .toLowerCase()\r\n .indexOf(searchString) > -1\r\n );\r\n }\r\n : () => true;\r\n\r\n const districtFilter = this.state.district\r\n ? ({ distName: dn }) => dn === this.state.district\r\n : () => true;\r\n\r\n //page was janky, maybe not running empty filters would help.\r\n let filteredSchools = hideSchools ? [] : this.state.data.schools;\r\n if (this.state.district) {\r\n filteredSchools = filteredSchools.filter(districtFilter);\r\n }\r\n if (searchString) {\r\n filteredSchools = filteredSchools.filter(schoolsFilter);\r\n }\r\n\r\n // const filteredSchools = hideSchools\r\n // ? []\r\n // : this.state.data.schools.filter(districtFilter).filter(schoolsFilter);\r\n\r\n const filteredDistricts = hideDistricts\r\n ? []\r\n : this.state.data.districts\r\n .filter(districtsFilter)\r\n .filter(\r\n d => d[\"District Name\"] !== \"Sacramento County Office of Education\"\r\n );\r\n\r\n return (\r\n \r\n {this.state.loading ? (\r\n \"\"\r\n ) : (\r\n
    \r\n 0}\r\n filterString={searchString}\r\n showHeader={!hideSchools}\r\n secondColumnName=\"Enrollment\"\r\n >\r\n {filteredDistricts.map((d, i) => (\r\n \r\n ))}\r\n \r\n\r\n 0}\r\n filterString={searchString}\r\n showHeader={!hideDistricts}\r\n secondColumnName=\"District\"\r\n >\r\n {filteredSchools.map((d, i) => (\r\n \r\n ))}\r\n \r\n
    \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Main;\r\n","import React from 'react';\r\nimport SchoolsDirectory from './components/SchoolsDirectory/Main';\r\n\r\nfunction App() {\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\n//import * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\n//serviceWorker.unregister();\r\n"],"sourceRoot":""}