CEC-5146 restore DTC timeline. (#451)
* CEC-5146 restore DTC timeline. * remove VIN and id. * null checks
This commit is contained in:
@@ -11643,6 +11643,24 @@ exports[`App Route /vehicle-status authenticated 1`] = `
|
|||||||
class="MuiTouchRipple-root"
|
class="MuiTouchRipple-root"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
aria-controls="tabpanel-10"
|
||||||
|
aria-selected="false"
|
||||||
|
class="MuiButtonBase-root MuiTab-root MuiTab-textColorInherit"
|
||||||
|
id="tab-10"
|
||||||
|
role="tab"
|
||||||
|
tabindex="-1"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="MuiTab-wrapper"
|
||||||
|
>
|
||||||
|
DTC Timeline
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTouchRipple-root"
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
class="PrivateTabIndicator-root-0 PrivateTabIndicator-colorSecondary-0 MuiTabs-indicator"
|
class="PrivateTabIndicator-root-0 PrivateTabIndicator-colorSecondary-0 MuiTabs-indicator"
|
||||||
@@ -11929,6 +11947,13 @@ exports[`App Route /vehicle-status authenticated 1`] = `
|
|||||||
id="tabpanel-9"
|
id="tabpanel-9"
|
||||||
role="tabpanel"
|
role="tabpanel"
|
||||||
/>
|
/>
|
||||||
|
<div
|
||||||
|
aria-labelledby="tab-10"
|
||||||
|
class="makeStyles-tabContainer-0"
|
||||||
|
hidden=""
|
||||||
|
id="tabpanel-10"
|
||||||
|
role="tabpanel"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</main>
|
</main>
|
||||||
|
|||||||
@@ -213,6 +213,24 @@ exports[`CarStatus Render 1`] = `
|
|||||||
class="MuiTouchRipple-root"
|
class="MuiTouchRipple-root"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
aria-controls="tabpanel-10"
|
||||||
|
aria-selected="false"
|
||||||
|
class="MuiButtonBase-root MuiTab-root MuiTab-textColorInherit"
|
||||||
|
id="tab-10"
|
||||||
|
role="tab"
|
||||||
|
tabindex="-1"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="MuiTab-wrapper"
|
||||||
|
>
|
||||||
|
DTC Timeline
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTouchRipple-root"
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
class="PrivateTabIndicator-root-0 PrivateTabIndicator-colorSecondary-0 MuiTabs-indicator"
|
class="PrivateTabIndicator-root-0 PrivateTabIndicator-colorSecondary-0 MuiTabs-indicator"
|
||||||
@@ -443,6 +461,13 @@ exports[`CarStatus Render 1`] = `
|
|||||||
id="tabpanel-9"
|
id="tabpanel-9"
|
||||||
role="tabpanel"
|
role="tabpanel"
|
||||||
/>
|
/>
|
||||||
|
<div
|
||||||
|
aria-labelledby="tab-10"
|
||||||
|
class="makeStyles-tabContainer-0"
|
||||||
|
hidden=""
|
||||||
|
id="tabpanel-10"
|
||||||
|
role="tabpanel"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import FleetsTab from "./FleetsTab";
|
|||||||
import RemoteCommandsTab from "./RemoteCommandsTab";
|
import RemoteCommandsTab from "./RemoteCommandsTab";
|
||||||
import RemoteDiagnosticCommandsTab from "./RemoteDiagnosticCommands";
|
import RemoteDiagnosticCommandsTab from "./RemoteDiagnosticCommands";
|
||||||
import TRexLogsTab from "./TRexLogsTab";
|
import TRexLogsTab from "./TRexLogsTab";
|
||||||
|
import DTCTimeline from "../../DTCTimeline/DTCTimeline";
|
||||||
|
|
||||||
const tabHashes = ["details", "updates", "filters"];
|
const tabHashes = ["details", "updates", "filters"];
|
||||||
|
|
||||||
@@ -79,13 +80,13 @@ const TabViews = [
|
|||||||
component: SelfServeTab,
|
component: SelfServeTab,
|
||||||
rolesPerProvider: Permissions.FiskerRead,
|
rolesPerProvider: Permissions.FiskerRead,
|
||||||
},
|
},
|
||||||
/*
|
|
||||||
{
|
{
|
||||||
label: "DTC Timeline",
|
label: "DTC Timeline",
|
||||||
component: DTCTimeline,
|
component: DTCTimeline,
|
||||||
rolesPerProvider: Permissions.FiskerMagnaRead,
|
rolesPerProvider: Permissions.FiskerMagnaRead,
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
];
|
];
|
||||||
|
|
||||||
const filterTabs = (data, groups, providers) => {
|
const filterTabs = (data, groups, providers) => {
|
||||||
|
|||||||
@@ -462,52 +462,6 @@ exports[`Render Render 1`] = `
|
|||||||
<tr
|
<tr
|
||||||
class="MuiTableRow-root MuiTableRow-head"
|
class="MuiTableRow-root MuiTableRow-head"
|
||||||
>
|
>
|
||||||
<th
|
|
||||||
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
|
||||||
scope="col"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
aria-disabled="false"
|
|
||||||
class="MuiButtonBase-root MuiTableSortLabel-root"
|
|
||||||
role="button"
|
|
||||||
tabindex="0"
|
|
||||||
>
|
|
||||||
Id
|
|
||||||
<svg
|
|
||||||
aria-hidden="true"
|
|
||||||
class="MuiSvgIcon-root MuiTableSortLabel-icon MuiTableSortLabel-iconDirectionAsc"
|
|
||||||
focusable="false"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
</th>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
|
||||||
scope="col"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
aria-disabled="false"
|
|
||||||
class="MuiButtonBase-root MuiTableSortLabel-root"
|
|
||||||
role="button"
|
|
||||||
tabindex="0"
|
|
||||||
>
|
|
||||||
VIN
|
|
||||||
<svg
|
|
||||||
aria-hidden="true"
|
|
||||||
class="MuiSvgIcon-root MuiTableSortLabel-icon MuiTableSortLabel-iconDirectionAsc"
|
|
||||||
focusable="false"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
</th>
|
|
||||||
<th
|
<th
|
||||||
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
||||||
scope="col"
|
scope="col"
|
||||||
@@ -583,6 +537,24 @@ exports[`Render Render 1`] = `
|
|||||||
>
|
>
|
||||||
Error Text
|
Error Text
|
||||||
</th>
|
</th>
|
||||||
|
<th
|
||||||
|
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
||||||
|
scope="col"
|
||||||
|
>
|
||||||
|
Speed
|
||||||
|
</th>
|
||||||
|
<th
|
||||||
|
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
||||||
|
scope="col"
|
||||||
|
>
|
||||||
|
Milage
|
||||||
|
</th>
|
||||||
|
<th
|
||||||
|
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
||||||
|
scope="col"
|
||||||
|
>
|
||||||
|
Voltage
|
||||||
|
</th>
|
||||||
<th
|
<th
|
||||||
aria-sort="descending"
|
aria-sort="descending"
|
||||||
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
||||||
@@ -594,7 +566,7 @@ exports[`Render Render 1`] = `
|
|||||||
role="button"
|
role="button"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
>
|
>
|
||||||
Date
|
ECU Time
|
||||||
<span
|
<span
|
||||||
class="makeStyles-hiddenSortSpan-0"
|
class="makeStyles-hiddenSortSpan-0"
|
||||||
>
|
>
|
||||||
@@ -612,6 +584,29 @@ exports[`Render Render 1`] = `
|
|||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</th>
|
</th>
|
||||||
|
<th
|
||||||
|
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
|
||||||
|
scope="col"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
aria-disabled="false"
|
||||||
|
class="MuiButtonBase-root MuiTableSortLabel-root"
|
||||||
|
role="button"
|
||||||
|
tabindex="0"
|
||||||
|
>
|
||||||
|
Cloud Time
|
||||||
|
<svg
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiSvgIcon-root MuiTableSortLabel-icon MuiTableSortLabel-iconDirectionAsc"
|
||||||
|
focusable="false"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody
|
<tbody
|
||||||
|
|||||||
@@ -29,14 +29,6 @@ const MainForm = ({ vin }) => {
|
|||||||
const { setMessage } = useStatusContext();
|
const { setMessage } = useStatusContext();
|
||||||
|
|
||||||
const tableColumns = [
|
const tableColumns = [
|
||||||
{
|
|
||||||
id: "id",
|
|
||||||
label: "Id",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "vin",
|
|
||||||
label: "VIN",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "ecu",
|
id: "ecu",
|
||||||
label: "ECU",
|
label: "ECU",
|
||||||
@@ -54,9 +46,28 @@ const MainForm = ({ vin }) => {
|
|||||||
label: "Error Text",
|
label: "Error Text",
|
||||||
no_sort: true,
|
no_sort: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: "speed",
|
||||||
|
label: "Speed",
|
||||||
|
no_sort: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "milage",
|
||||||
|
label: "Milage",
|
||||||
|
no_sort: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "voltage",
|
||||||
|
label: "Voltage",
|
||||||
|
no_sort: true,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "epoch_usec",
|
id: "epoch_usec",
|
||||||
label: "Date",
|
label: "ECU Time",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "created_at",
|
||||||
|
label: "Cloud Time",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -111,9 +122,8 @@ const MainForm = ({ vin }) => {
|
|||||||
setLoading(false);
|
setLoading(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
function formatDate(microseconds) {
|
function formatDate(date) {
|
||||||
const date = new Date(microseconds / 1000);
|
return date.replace(/[TZ]/g, ' ')
|
||||||
return date.toLocaleString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleDateChange = (value, dateType) => {
|
const handleDateChange = (value, dateType) => {
|
||||||
@@ -285,15 +295,15 @@ const MainForm = ({ vin }) => {
|
|||||||
<TableBody>
|
<TableBody>
|
||||||
{(dtcData || []).map((dtc, index) => (
|
{(dtcData || []).map((dtc, index) => (
|
||||||
<TableRow key={index}>
|
<TableRow key={index}>
|
||||||
<TableCell component="th" scope="row">
|
|
||||||
{dtc.id}
|
|
||||||
</TableCell>
|
|
||||||
<TableCell>{dtc.vin}</TableCell>
|
|
||||||
<TableCell>{dtc.ecu_name}</TableCell>
|
<TableCell>{dtc.ecu_name}</TableCell>
|
||||||
<TableCell>{dtc.trouble_code}</TableCell>
|
<TableCell>{dtc.trouble_code}</TableCell>
|
||||||
<TableCell>{dtc.status_byte}</TableCell>
|
<TableCell>{dtc.status_byte}</TableCell>
|
||||||
<TableCell>{dtc.trouble_code_information?.ErrorText?.Text}</TableCell>
|
<TableCell>{dtc.trouble_code_information?.ErrorText?.Text}</TableCell>
|
||||||
|
{(dtc.speed || dtc.speed === 0) && <TableCell>{dtc.speed + " km/h"}</TableCell>}
|
||||||
|
{(dtc.mileage || dtc.mileage === 0) && <TableCell>{dtc.mileage + " km"}</TableCell>}
|
||||||
|
{(dtc.voltage || dtc.voltage === 0) && <TableCell>{dtc.voltage + " V"}</TableCell>}
|
||||||
<TableCell>{formatDate(dtc.epoch_usec)}</TableCell>
|
<TableCell>{formatDate(dtc.epoch_usec)}</TableCell>
|
||||||
|
<TableCell>{formatDate(dtc.created_at)}</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
))}
|
))}
|
||||||
</TableBody>
|
</TableBody>
|
||||||
|
|||||||
Reference in New Issue
Block a user