Merge branch 'release/0.9.0'
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user