Skip to content
Snippets Groups Projects
Commit af4f790e authored by Humaid Mustajab's avatar Humaid Mustajab
Browse files

more css changes + added disabled func to btn

parent 934da923
No related branches found
No related tags found
No related merge requests found
Showing
with 20 additions and 0 deletions
{"ast":null,"code":"var _jsxFileName = \"/Users/humaid/Documents/College Stuff/Term 6 - Summer 2020/CS375/Starlink Tracker/front-end/src/Components/DataTable.js\";\n// import React, { useState } from 'react';\n// import PropTypes from 'prop-types';\nimport React from 'react';\nimport axios from \"axios\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport InputLabel from '@material-ui/core/InputLabel';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\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';\nimport TableRow from '@material-ui/core/TableRow';\nimport Paper from '@material-ui/core/Paper';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport Button from '@material-ui/core/Button'; // import Typography from '@material-ui/core/Typography';\n// import Input from '@material-ui/core/Input';\n// import TableSortLabel from '@material-ui/core/TableSortLabel';\n// import Toolbar from '@material-ui/core/Toolbar';\n// import FormControlLabel from '@material-ui/core/FormControlLabel';\n// import Switch from '@material-ui/core/Switch';\n// import Box from '@material-ui/core/Box';\n// import Collapse from '@material-ui/core/Collapse';\n// import IconButton from '@material-ui/core/IconButton';\n// import KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\n// import KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp';\n\nconst styles = theme => ({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n '& > *': {\n margin: theme.spacing(1)\n }\n },\n formControl: {\n margin: theme.spacing(1),\n minWidth: 150\n },\n selectEmpty: {\n marginTop: theme.spacing(2)\n },\n table: {\n margin: \"5px\",\n maxWidth: \"96.35vw\" // maxHeight: \"inherit\",\n\n },\n button: {\n margin: \"30px\"\n },\n tableContainerPaper: {\n margin: \"20px 5px\",\n maxWidth: \"98vw\",\n overflowX: \"hidden\" // maxHeight: 500,\n\n },\n tableHeader: {\n minWidth: 50,\n maxWidth: 100,\n textAlign: \"center\",\n fontWeight: \"medium\",\n fontSize: \"16px\"\n },\n tableIdCell: {\n minWidth: 50,\n maxWidth: 100,\n textAlign: \"center\",\n fontWeight: \"medium\"\n },\n tableCell: {\n minWidth: 50,\n maxWidth: 100,\n textAlign: \"center\"\n }\n});\n\nconst StyledTableCell = withStyles(theme => ({\n head: {\n // backgroundColor: theme.palette.common.black,\n color: theme.palette.common.white\n },\n body: {\n fontSize: 14\n }\n}))(TableCell);\n\nfunction createData(SatId, SatName, PositionX, PositionY, PositionZ, VelocityX, VelocityY, VelocityZ) {\n return {\n SatId,\n SatName,\n PositionX,\n PositionY,\n PositionZ,\n VelocityX,\n VelocityY,\n VelocityZ\n };\n}\n\nclass SatTableComponents extends React.Component {\n constructor(props) {\n super(props);\n\n this.handleChangePage = (event, newPage) => {\n this.setState({\n page: newPage\n });\n };\n\n this.handleChangeRowsPerPage = event => {\n this.setState({\n page: 0,\n rowsPerPage: parseInt(event.target.value, 10)\n });\n };\n\n this.handleVisualiseButtonPress = event => {\n axios.get(\"/satdata/tle?\", {\n params: {\n launchgroup: this.state.launchSelectValue\n }\n }).then(response => {\n let main = document.getElementById(\"main\");\n\n if (document.getElementById(\"sideBarDiv\")) {\n main.removeChild(document.getElementById(\"sideBarDiv\"));\n }\n\n if (document.getElementById(\"root\").style.display !== \"none\") {\n document.getElementById(\"root\").style.display = \"none\";\n }\n\n let mainDiv = document.getElementById(\"mainDiv\");\n\n while (mainDiv.childElementCount !== 0) {\n mainDiv.removeChild(mainDiv.lastChild);\n }\n\n let mapDiv = document.getElementById(\"mapDiv\");\n\n while (mapDiv.childElementCount !== 0) {\n mapDiv.removeChild(mapDiv.lastChild);\n } // addSideBar();\n // toggleSideBar()\n\n\n let newFrame = document.createElement(\"iframe\");\n newFrame.id = \"iframeMap\";\n newFrame.frameBorder = \"0\";\n newFrame.scrolling = \"no\";\n newFrame.marginheight = \"0\";\n newFrame.marginwidth = \"0\";\n newFrame.src = \"maps.html\";\n mapDiv.appendChild(newFrame);\n });\n };\n\n this.state = {\n launchGroupList: [],\n launchSelectValue: '',\n satTrackingData: [],\n rowsPerPage: 5,\n page: 0,\n btnState: true\n };\n this.handleChangeLaunchlist = this.handleChangeLaunchlist.bind(this);\n this.handleChangePage = this.handleChangePage.bind(this);\n this.handleChangeRowsPerPage = this.handleChangeRowsPerPage.bind(this);\n this.handleVisualiseButtonPress = this.handleVisualiseButtonPress.bind(this);\n }\n\n componentDidMount() {\n axios.get(\"/frontend/launchlist\").then(response => {\n // console.log(response.data);\n this.setState({\n launchGroupList: response.data\n });\n }).catch(function (error) {\n console.log(error);\n });\n }\n\n handleChangeLaunchlist(event) {\n // console.log(this.state.launchGroupList[e.target.value])\n axios.get(\"/satdata/tle?\", {\n params: {\n launchgroup: this.state.launchGroupList[event.target.value]\n }\n }).then(response => {\n // console.log(response.data.sat); // Outputs satJson to browser console\n let rawData = response.data.sat;\n let tableData = [];\n rawData.forEach(satRawRow => {\n let rowDataPosition = satRawRow.tableData[\"position\"];\n let rowDataVelocity = satRawRow.tableData[\"velocity\"];\n tableData.push(createData(satRawRow[\"id\"], satRawRow[\"satName\"], rowDataPosition[\"x\"], rowDataPosition[\"y\"], rowDataPosition[\"z\"], rowDataVelocity[\"x\"], rowDataVelocity[\"y\"], rowDataVelocity[\"z\"]));\n });\n\n if (response.data.sat) {\n this.setState({\n btnState: false,\n satTrackingData: tableData,\n launchSelectValue: this.state.launchGroupList[event.target.value].toString()\n });\n } // console.log(this.state.launchSelectValue);\n\n }).catch(function (error) {\n console.log(error);\n });\n }\n\n render() {\n const {\n classes\n } = this.props;\n const {\n satTrackingData,\n page,\n rowsPerPage,\n btnState\n } = this.state; // const emptyRows = rowsPerPage - Math.min(rowsPerPage, satTrackingData.length - page * rowsPerPage);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 221,\n columnNumber: 13\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 222,\n columnNumber: 17\n }\n }, /*#__PURE__*/React.createElement(FormControl, {\n required: true,\n className: classes.formControl,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 223,\n columnNumber: 21\n }\n }, /*#__PURE__*/React.createElement(InputLabel, {\n htmlFor: \"launch-group-dropdown\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 224,\n columnNumber: 25\n }\n }, \"Launch Group\"), /*#__PURE__*/React.createElement(Select, {\n id: \"launch-group-dropdown\",\n name: \"launch-group-dropdown\",\n value: \"\" // value={launchSelectValue}\n ,\n onChange: this.handleChangeLaunchlist,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 225,\n columnNumber: 25\n }\n }, /*#__PURE__*/React.createElement(MenuItem, {\n key: \"header\",\n value: \"\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 232,\n columnNumber: 29\n }\n }), this.state.launchGroupList.map((item, index) => /*#__PURE__*/React.createElement(MenuItem, {\n key: index,\n value: index,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 234,\n columnNumber: 33\n }\n }, item)), \";\"), /*#__PURE__*/React.createElement(FormHelperText, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 237,\n columnNumber: 25\n }\n }, \"Required\")), /*#__PURE__*/React.createElement(Button, {\n disabled: btnState,\n variant: \"contained\",\n id: \"visualiseButton\",\n className: classes.button,\n color: \"default\",\n onClick: this.handleVisualiseButtonPress,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 240,\n columnNumber: 21\n }\n }, \"Visualize Satellite Positions\")), /*#__PURE__*/React.createElement(\"div\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 252,\n columnNumber: 17\n }\n }, /*#__PURE__*/React.createElement(TableContainer, {\n component: Paper,\n className: classes.tableContainerPaper,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 253,\n columnNumber: 21\n }\n }, /*#__PURE__*/React.createElement(Table, {\n stickyHeader: true,\n className: classes.table,\n size: \"small\",\n \"aria-label\": \"a dense table\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 254,\n columnNumber: 25\n }\n }, /*#__PURE__*/React.createElement(TableHead, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 260,\n columnNumber: 25\n }\n }, /*#__PURE__*/React.createElement(TableRow, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 261,\n columnNumber: 29\n }\n }, /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 262,\n columnNumber: 29\n }\n }, \"Satellite\\xA0ID\"), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 263,\n columnNumber: 29\n }\n }, \"Sat\\xA0Name\"), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 264,\n columnNumber: 29\n }\n }, \"Position\\xA0(X)\"), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 265,\n columnNumber: 29\n }\n }, \"Position\\xA0(X)\"), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 266,\n columnNumber: 29\n }\n }, \"Position\\xA0(X)\"), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 267,\n columnNumber: 29\n }\n }, \"Velocity\\xA0(X)\"), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 268,\n columnNumber: 29\n }\n }, \"Velocity\\xA0(X)\"), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 269,\n columnNumber: 29\n }\n }, \"Velocity\\xA0(X)\"))), /*#__PURE__*/React.createElement(TableBody, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 272,\n columnNumber: 25\n }\n }, satTrackingData.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage).map(row => {\n return /*#__PURE__*/React.createElement(TableRow, {\n hover: true,\n key: row.SatId,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 275,\n columnNumber: 37\n }\n }, /*#__PURE__*/React.createElement(StyledTableCell, {\n component: \"th\",\n scope: \"row\",\n className: classes.tableIdCell,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 276,\n columnNumber: 41\n }\n }, row.SatId), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableCell,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 279,\n columnNumber: 41\n }\n }, row.SatName), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableCell,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 280,\n columnNumber: 41\n }\n }, row.PositionX.toFixed(4)), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableCell,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 281,\n columnNumber: 41\n }\n }, row.PositionY.toFixed(4)), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableCell,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 282,\n columnNumber: 41\n }\n }, row.PositionZ.toFixed(4)), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableCell,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 283,\n columnNumber: 41\n }\n }, row.VelocityX.toFixed(4)), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableCell,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 284,\n columnNumber: 41\n }\n }, row.VelocityY.toFixed(4)), /*#__PURE__*/React.createElement(StyledTableCell, {\n className: classes.tableCell,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 285,\n columnNumber: 41\n }\n }, row.VelocityZ.toFixed(4)));\n }))), /*#__PURE__*/React.createElement(TablePagination, {\n rowsPerPageOptions: [5, 10, 25, 50],\n component: \"div\",\n count: satTrackingData.length,\n rowsPerPage: rowsPerPage,\n page: page,\n onChangePage: this.handleChangePage,\n onChangeRowsPerPage: this.handleChangeRowsPerPage,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 291,\n columnNumber: 25\n }\n }))));\n }\n\n}\n\n; // SatTableComponents.propTypes = {\n// classes: PropTypes.object.isRequired,\n// };\n\nexport default withStyles(styles)(SatTableComponents);","map":{"version":3,"sources":["/Users/humaid/Documents/College Stuff/Term 6 - Summer 2020/CS375/Starlink Tracker/front-end/src/Components/DataTable.js"],"names":["React","axios","withStyles","InputLabel","MenuItem","FormHelperText","FormControl","Select","Table","TableBody","TableCell","TableContainer","TableHead","TableRow","Paper","TablePagination","Button","styles","theme","root","display","flexWrap","width","margin","spacing","formControl","minWidth","selectEmpty","marginTop","table","maxWidth","button","tableContainerPaper","overflowX","tableHeader","textAlign","fontWeight","fontSize","tableIdCell","tableCell","StyledTableCell","head","color","palette","common","white","body","createData","SatId","SatName","PositionX","PositionY","PositionZ","VelocityX","VelocityY","VelocityZ","SatTableComponents","Component","constructor","props","handleChangePage","event","newPage","setState","page","handleChangeRowsPerPage","rowsPerPage","parseInt","target","value","handleVisualiseButtonPress","get","params","launchgroup","state","launchSelectValue","then","response","main","document","getElementById","removeChild","style","mainDiv","childElementCount","lastChild","mapDiv","newFrame","createElement","id","frameBorder","scrolling","marginheight","marginwidth","src","appendChild","launchGroupList","satTrackingData","btnState","handleChangeLaunchlist","bind","componentDidMount","data","catch","error","console","log","rawData","sat","tableData","forEach","satRawRow","rowDataPosition","rowDataVelocity","push","toString","render","classes","map","item","index","slice","row","toFixed","length"],"mappings":"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","sourcesContent":["// import React, { useState } from 'react';\n// import PropTypes from 'prop-types';\nimport React from 'react';\nimport axios from \"axios\";\nimport { withStyles } from \"@material-ui/core/styles\";\n\nimport InputLabel from '@material-ui/core/InputLabel';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\n\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';\nimport TableRow from '@material-ui/core/TableRow';\nimport Paper from '@material-ui/core/Paper';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport Button from '@material-ui/core/Button';\n// import Typography from '@material-ui/core/Typography';\n// import Input from '@material-ui/core/Input';\n// import TableSortLabel from '@material-ui/core/TableSortLabel';\n// import Toolbar from '@material-ui/core/Toolbar';\n// import FormControlLabel from '@material-ui/core/FormControlLabel';\n// import Switch from '@material-ui/core/Switch';\n// import Box from '@material-ui/core/Box';\n// import Collapse from '@material-ui/core/Collapse';\n// import IconButton from '@material-ui/core/IconButton';\n// import KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\n// import KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp';\n\nconst styles = theme => ({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n '& > *': {\n margin: theme.spacing(1),\n },\n },\n formControl: {\n margin: theme.spacing(1),\n minWidth: 150,\n },\n selectEmpty: {\n marginTop: theme.spacing(2),\n },\n table: {\n margin: \"5px\",\n maxWidth: \"96.35vw\",\n // maxHeight: \"inherit\",\n },\n button: {\n margin: \"30px\",\n },\n tableContainerPaper: {\n margin: \"20px 5px\",\n maxWidth: \"98vw\",\n overflowX: \"hidden\",\n // maxHeight: 500,\n },\n tableHeader: {\n minWidth: 50,\n maxWidth: 100,\n textAlign: \"center\",\n fontWeight: \"medium\",\n fontSize: \"16px\",\n },\n tableIdCell: {\n minWidth: 50,\n maxWidth: 100,\n textAlign: \"center\",\n fontWeight: \"medium\",\n },\n tableCell: {\n minWidth: 50,\n maxWidth: 100,\n textAlign: \"center\",\n }\n});\n\nconst StyledTableCell = withStyles((theme) => ({\n head: {\n // backgroundColor: theme.palette.common.black,\n color: theme.palette.common.white,\n },\n body: {\n fontSize: 14,\n },\n}))(TableCell);\n\nfunction createData(SatId, SatName, PositionX, PositionY, PositionZ, VelocityX, VelocityY, VelocityZ) {\n return { SatId, SatName, PositionX, PositionY, PositionZ, VelocityX, VelocityY, VelocityZ };\n}\n\nclass SatTableComponents extends React.Component {\n \n constructor(props) {\n super(props);\n this.state = {\n launchGroupList: [],\n launchSelectValue: '',\n satTrackingData: [],\n rowsPerPage: 5,\n page: 0,\n btnState: true,\n };\n\n this.handleChangeLaunchlist = this.handleChangeLaunchlist.bind(this); \n this.handleChangePage = this.handleChangePage.bind(this);\n this.handleChangeRowsPerPage = this.handleChangeRowsPerPage.bind(this);\n this.handleVisualiseButtonPress = this.handleVisualiseButtonPress.bind(this);\n }\n\n componentDidMount() {\n axios.get(\"/frontend/launchlist\")\n .then(response => {\n // console.log(response.data);\n this.setState({\n launchGroupList: response.data\n });\n })\n .catch(function (error) {\n console.log(error);\n });\n }\n \n handleChangeLaunchlist(event) {\n // console.log(this.state.launchGroupList[e.target.value])\n axios.get(\"/satdata/tle?\", {\n params: {\n launchgroup: this.state.launchGroupList[event.target.value],\n }\n })\n .then((response) => { \n // console.log(response.data.sat); // Outputs satJson to browser console\n \n let rawData = response.data.sat;\n let tableData = [];\n \n \n rawData.forEach((satRawRow) => {\n let rowDataPosition = satRawRow.tableData[\"position\"];\n let rowDataVelocity = satRawRow.tableData[\"velocity\"];\n tableData.push(createData(satRawRow[\"id\"], satRawRow[\"satName\"], rowDataPosition[\"x\"], rowDataPosition[\"y\"], rowDataPosition[\"z\"], rowDataVelocity[\"x\"], rowDataVelocity[\"y\"], rowDataVelocity[\"z\"]));\n })\n\n if (response.data.sat) {\n this.setState({\n btnState: false,\n satTrackingData: tableData,\n launchSelectValue: (this.state.launchGroupList[event.target.value]).toString(),\n });\n }\n // console.log(this.state.launchSelectValue);\n })\n .catch(function (error) {\n console.log(error);\n });\n };\n\n handleChangePage = (event, newPage) => {\n this.setState({page: newPage})\n };\n \n handleChangeRowsPerPage = (event) => {\n this.setState({\n page: 0,\n rowsPerPage: parseInt(event.target.value, 10),\n })\n };\n\n handleVisualiseButtonPress = (event) => {\n axios.get(\"/satdata/tle?\", {\n params: {\n launchgroup: this.state.launchSelectValue,\n }\n })\n .then((response) => {\n let main = document.getElementById(\"main\");\n if (document.getElementById(\"sideBarDiv\")) {\n main.removeChild(document.getElementById(\"sideBarDiv\"));\n }\n \n if (document.getElementById(\"root\").style.display !== \"none\") {\n document.getElementById(\"root\").style.display =\"none\"\n }\n \n let mainDiv = document.getElementById(\"mainDiv\");\n while (mainDiv.childElementCount !== 0) {\n mainDiv.removeChild(mainDiv.lastChild);\n }\n \n let mapDiv = document.getElementById(\"mapDiv\");\n while (mapDiv.childElementCount !== 0) {\n mapDiv.removeChild(mapDiv.lastChild);\n }\n \n // addSideBar();\n // toggleSideBar()\n \n let newFrame = document.createElement(\"iframe\");\n newFrame.id = \"iframeMap\";\n newFrame.frameBorder=\"0\";\n newFrame.scrolling=\"no\";\n newFrame.marginheight=\"0\";\n newFrame.marginwidth=\"0\";\n newFrame.src=\"maps.html\";\n mapDiv.appendChild(newFrame);\n })\n }\n\n render () {\n const { classes } = this.props;\n const { satTrackingData, page, rowsPerPage, btnState } = this.state;\n // const emptyRows = rowsPerPage - Math.min(rowsPerPage, satTrackingData.length - page * rowsPerPage);\n\n return (\n <div>\n <div>\n <FormControl required className={classes.formControl}>\n <InputLabel htmlFor=\"launch-group-dropdown\">Launch Group</InputLabel>\n <Select\n id='launch-group-dropdown'\n name='launch-group-dropdown' \n value='' \n // value={launchSelectValue}\n onChange={this.handleChangeLaunchlist}\n >\n <MenuItem key='header' value=\"\"></MenuItem>\n {this.state.launchGroupList.map((item, index) => \n <MenuItem key={index} value={index}>{item}</MenuItem>\n )};\n </Select>\n <FormHelperText>Required</FormHelperText>\n </FormControl>\n\n <Button \n disabled={btnState}\n variant=\"contained\" \n id=\"visualiseButton\"\n className={classes.button} \n color=\"default\"\n onClick={this.handleVisualiseButtonPress}\n >\n Visualize Satellite Positions\n </Button>\n </div>\n\n <div>\n <TableContainer component={Paper} className={classes.tableContainerPaper}>\n <Table \n stickyHeader\n className={classes.table} \n size=\"small\" \n aria-label=\"a dense table\"\n >\n <TableHead>\n <TableRow>\n <StyledTableCell className={classes.tableHeader}>Satellite&nbsp;ID</StyledTableCell>\n <StyledTableCell className={classes.tableHeader} >Sat&nbsp;Name</StyledTableCell>\n <StyledTableCell className={classes.tableHeader} >Position&nbsp;(X)</StyledTableCell>\n <StyledTableCell className={classes.tableHeader} >Position&nbsp;(X)</StyledTableCell>\n <StyledTableCell className={classes.tableHeader} >Position&nbsp;(X)</StyledTableCell>\n <StyledTableCell className={classes.tableHeader} >Velocity&nbsp;(X)</StyledTableCell>\n <StyledTableCell className={classes.tableHeader} >Velocity&nbsp;(X)</StyledTableCell>\n <StyledTableCell className={classes.tableHeader} >Velocity&nbsp;(X)</StyledTableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {satTrackingData.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage).map((row) => {\n return (\n <TableRow hover key={row.SatId}>\n <StyledTableCell component=\"th\" scope=\"row\" className={classes.tableIdCell}>\n {row.SatId}\n </StyledTableCell>\n <StyledTableCell className={classes.tableCell}>{row.SatName}</StyledTableCell>\n <StyledTableCell className={classes.tableCell}>{row.PositionX.toFixed(4)}</StyledTableCell>\n <StyledTableCell className={classes.tableCell}>{row.PositionY.toFixed(4)}</StyledTableCell>\n <StyledTableCell className={classes.tableCell}>{row.PositionZ.toFixed(4)}</StyledTableCell>\n <StyledTableCell className={classes.tableCell}>{row.VelocityX.toFixed(4)}</StyledTableCell>\n <StyledTableCell className={classes.tableCell}>{row.VelocityY.toFixed(4)}</StyledTableCell>\n <StyledTableCell className={classes.tableCell}>{row.VelocityZ.toFixed(4)}</StyledTableCell>\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n <TablePagination\n rowsPerPageOptions={[5, 10, 25, 50]}\n component=\"div\"\n count={satTrackingData.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onChangePage={this.handleChangePage}\n onChangeRowsPerPage={this.handleChangeRowsPerPage}\n />\n </TableContainer>\n </div>\n\n </div>\n );\n }\n};\n\n// SatTableComponents.propTypes = {\n// classes: PropTypes.object.isRequired,\n// };\n\nexport default withStyles(styles)(SatTableComponents)\n"]},"metadata":{},"sourceType":"module"}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment