Merge branch 'release/0.9.0'

This commit is contained in:
jwu-fisker
2023-04-17 19:01:18 -07:00
20 changed files with 286 additions and 36 deletions

View File

@@ -128,7 +128,8 @@ const TRexLogsTable = ({ vin, token, classes }) => {
const [logs, setLogs] = useState([]);
const [pageIndex, setPageIndex] = useState(0);
const [pageSize, setPageSize] = useState(DEFAULT_PAGE_SIZE);
const [selectedDate, setSelectedDate] = useState(new Date());
const local_date = new Date()
const [selectedDate, setSelectedDate] = useState(new Date(local_date.getUTCFullYear(), local_date.getUTCMonth(), local_date.getUTCDate()));
const [total, setTotal] = useState(0);
const { setMessage } = useStatusContext();
@@ -140,7 +141,7 @@ const TRexLogsTable = ({ vin, token, classes }) => {
return pageSize * pageIndex + pageSize
}
const getReadPercentage = () => {
return (currentOffset * 100 / blobSize).toFixed(2);
return (currentOffset * 100 / blobSize);
}
const getFilteredLogs = (logs) => {
return logs.filter(log => currectLogLevels[log.level] === true)
@@ -182,6 +183,19 @@ const TRexLogsTable = ({ vin, token, classes }) => {
return fetched
}
const downloadFile = async () => {
let day = formatTwoDigit(selectedDate.getDate())
let month = formatTwoDigit(selectedDate.getMonth() + 1)// 0 Indexed
let year = selectedDate.getFullYear()
let result = await api.getLogFileLink({ vin, year, month, day }, token)
window.open(result['Link'], '_blank')
}
const formatTwoDigit = (num) => {
return num < 10 ? '0' + num : '' + num
}
useEffect(() => {
(async () => {
try {
@@ -258,7 +272,7 @@ const TRexLogsTable = ({ vin, token, classes }) => {
format="yyyy/MM/dd"
margin="normal"
id="date-picker-inline"
label="Choose date"
label="Choose date (UTC)"
value={selectedDate}
onChange={handleNewDate}
KeyboardButtonProps={{
@@ -266,11 +280,12 @@ const TRexLogsTable = ({ vin, token, classes }) => {
}}
/>
</MuiPickersUtilsProvider>
</TableCell>
</TableCell>
<TableCell align="center">
{
blobSize === 0 ? `No logs for ${fromatDateForRequest(selectedDate)}` :
`Read ${getReadPercentage()}% of logs`
`Read ${getReadPercentage().toFixed(2)}% of logs`
}
{
<LinearProgress
@@ -278,7 +293,10 @@ const TRexLogsTable = ({ vin, token, classes }) => {
align="center"
value={getReadPercentage()} />
}
</TableCell>
<br></br>
<button onClick={downloadFile} disabled={blobSize === 0}>Download Log File</button>
</TableCell>
</TableRow>
</Table>
@@ -293,7 +311,7 @@ const TRexLogsTable = ({ vin, token, classes }) => {
</TableRow>
</TableHead >
<TableBody>
{getFilteredLogs(logs).slice(-getDesiredSize(), (pageIndex === 0 ? undefined : -(pageSize * pageIndex))).map((log, i) => (
{getFilteredLogs(logs).slice(-getDesiredSize(), (pageIndex === 0 ? undefined : -(pageSize * pageIndex))).reverse().map((log, i) => (
<TableRow key={log.trex_timestamp + log.cloud_timestamp} >
<TableCell align="center">{log.level}</TableCell>
<TableCell align="center" style={{ wordBreak: "break-all" }}>{log.trex_timestamp}</TableCell>