{"version":3,"sources":["components/ResponsiveTable.js","sections/tabset1/index.js"],"names":["useStyles","makeStyles","root","width","container","maxHeight","scrollbarWidth","overflowX","scrollbarColor","paddingLeft","paddingRight","webkitScrollbar","styledScrollBar","webkitScrollbarTrack","background","webkitScrollbarThumb","backgroundColor","borderRadius","border","descendingComparator","a","b","orderBy","ResponsiveTable","props","rows","columns","columnOrder","sortBy","React","useState","order","setOrder","setOrderBy","classes","createSortHandler","property","event","handleRequestSort","className","stickyHeader","aria-label","size","map","column","key","id","align","style","minWidth","borderBottom","fontWeight","active","direction","onClick","label","array","comparator","stabilizedThis","el","index","sort","stableSort","getComparator","row","hover","role","tabIndex","Math","random","toString","value","toLocaleString","undefined","minimumFractionDigits","decimals","Counties","lazy","Tabset1","countycases","demographics","date_lines","epicurve","fallback"],"mappings":"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","file":"static/js/13.63459b7d.chunk.js","sourcesContent":["import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles'\nimport Paper from '@material-ui/core/Paper'\nimport Table from '@material-ui/core/Table'\nimport TableBody from '@material-ui/core/TableBody'\nimport TableCell from '@material-ui/core/TableCell'\nimport TableContainer from '@material-ui/core/TableContainer'\nimport TableHead from '@material-ui/core/TableHead'\n// import TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow'\nimport TableSortLabel from '@material-ui/core/TableSortLabel'\n\nconst useStyles = makeStyles({\n root: {\n width: '100%'\n },\n container: {\n maxHeight: 440,\n // maxWidth: 500,\n scrollbarWidth: 'thin',\n overflowX: 'scroll',\n scrollbarColor: '#002137 #314c68',\n paddingLeft: '15px',\n paddingRight: '15px',\n webkitScrollbar: {\n width: '11px'\n }\n // backgroundColor: \"#002137\"\n },\n styledScrollBar: {\n webkitScrollbar: {\n width: '11px'\n },\n webkitScrollbarTrack: {\n background: '#314c68'\n },\n webkitScrollbarThumb: {\n backgroundColor: '#002137',\n borderRadius: '6px',\n border: '2px solid #314c68'\n }\n }\n})\n\nfunction descendingComparator (a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1\n }\n if (b[orderBy] > a[orderBy]) {\n return 1\n }\n return 0\n}\n\nfunction getComparator (order, orderBy) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy)\n}\n\nfunction stableSort (array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index])\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0])\n if (order !== 0) return order\n return a[1] - b[1]\n })\n\n return stabilizedThis.map((el) => el[0])\n}\n\nexport default function ResponsiveTable (props) {\n const { rows, columns, columnOrder, sortBy } = props\n const [order, setOrder] = React.useState(columnOrder)\n const [orderBy, setOrderBy] = React.useState(sortBy)\n const classes = useStyles()\n // const [page] = React.useState(0)\n // const [rowsPerPage] = React.useState(19999)\n\n const handleRequestSort = (event, property) => {\n const isAsc = orderBy === property && order === 'asc'\n setOrder(isAsc ? 'desc' : 'asc')\n setOrderBy(property)\n }\n\n const createSortHandler = (property) => (event) => {\n handleRequestSort(event, property)\n }\n // const createSortHandler = (property) => (event) => {\n // onRequestSort(event, property);\n // };\n // const handleChangePage = (event, newPage) => {\n // setPage(newPage);\n // };\n\n // const handleChangeRowsPerPage = (event) => {\n // setRowsPerPage(+event.target.value);\n // setPage(0);\n // };\n\n return (\n <Paper className={classes.root}>\n <TableContainer className={classes.container}>\n <Table stickyHeader aria-label='sticky table' size='small'>\n <TableHead>\n <TableRow>\n {columns.map((column) => (\n <TableCell\n key={column.id}\n align={column.align}\n style={{ minWidth: column.minWidth, border: 'none', borderBottom: '1px grey solid', fontWeight: 600 }}\n >\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n </TableSortLabel>\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {stableSort(rows, getComparator(order, orderBy))\n // .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row) => {\n return (\n <TableRow hover role='checkbox' tabIndex={-1} key={'row' + Math.random().toString()}>\n {columns.map((column) => {\n const value = row[column.id]\n return (\n <TableCell key={column.id} align={column.align} style={{ border: 'none' }}>\n {typeof value === 'number' ? \n value.toLocaleString(undefined, {minimumFractionDigits: column.decimals}) : \n value\n }\n </TableCell>\n )\n })}\n </TableRow>\n )\n })}\n </TableBody>\n </Table>\n </TableContainer>\n {/* <TablePagination\n rowsPerPageOptions={[999, 25, 100]}\n component=\"div\"\n count={rows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onChangePage={handleChangePage}\n onChangeRowsPerPage={handleChangeRowsPerPage}\n /> */}\n </Paper>\n )\n}\n","import React, { Suspense } from \"react\";\nimport { Tab, Tabs, TabList, TabPanel } from \"react-tabs\";\nimport LoadingSpinner from \"../../components/loadingSpinner\";\nimport ResponsiveTable from \"../../components/ResponsiveTable\";\n\nconst Counties = React.lazy(() => import(\"./counties\"));\n/* const DeathsInGeorgia = React.lazy(() => import(\"./deaths_in_georgia\"));\nconst TopFiveCounties = React.lazy(() => import(\"./top_five_counties\")); */\n\nconst Tabset1 = ({ countycases, date_lines, epicurve, demographics }) => {\n return (\n <Tabs>\n <TabList>\n <Tab>Counties</Tab>\n { /* <Tab>Top Five Counties</Tab>\n <Tab>Confirmed Deaths</Tab> */ }\n <Tab>Race and Ethnicity</Tab>\n </TabList>\n <TabPanel>\n <Suspense fallback={<LoadingSpinner />}>\n <Counties countycases={countycases} />\n </Suspense>\n </TabPanel>\n { /* <TabPanel>\n <Suspense fallback={<LoadingSpinner />}>\n <TopFiveCounties\n date_lines={date_lines}\n epicurve={epicurve}\n countycases={countycases}\n />\n </Suspense>\n </TabPanel>\n <TabPanel>\n <Suspense fallback={<LoadingSpinner />}>\n <DeathsInGeorgia />\n </Suspense>\n </TabPanel> */ }\n <TabPanel>\n <ResponsiveTable\n rows={demographics}\n columns={[\n {\n id: \"race\",\n label: \"Race\",\n minWidth: 12,\n align: \"left\",\n },\n {\n id: \"ethnicity\",\n label: \"Ethnicity\",\n minWidth: 15,\n align: \"left\",\n },\n {\n id: \"confirmed_cases\",\n label: \"Confirmed Cases\",\n minWidth: 12,\n align: \"right\",\n },\n {\n id: \"deaths\",\n label: \"Total Deaths\",\n minWidth: 12,\n align: \"right\",\n },\n ]}\n sortBy=\"race\"\n columnOrder=\"asc\"\n />\n </TabPanel>\n </Tabs>\n );\n};\n\nexport default Tabset1;\n"],"sourceRoot":""}